вопросы новичка в WTL
От: Gosha Украина  
Дата: 31.10.02 21:02
Оценка:
Всем привет!

Вот, решил посмотреть в сторону WTL.
Вопрос 1. Нужно ли к WTL7 ATL7 и где его взять? Если не трудно — киньте урлик, а то ходил по сайту Майкрософта — не нашел. Если это важно, сижу в 6-ой студии.
Вопрос 2. Что такое View? Из кода мастера пока сделал только один вывод, что view — необязательное дочернее окно (простое или основанное на существующем классе), "лежащее" на главном окне (посредством m_hWndClient = m_view.Create(...)), которое, в свою очередь, заботится о его (дочернего окна) ресайзе и доставке ему сообщений, посредством конструкции:
if(CFrameWindowImpl<CMainFrame>::PreTranslateMessage(pMsg))
    return TRUE;

return m_view.PreTranslateMessage(pMsg);

А если мне нужно много таких view-ов. Например, хочу ListBox и ProgressBar под ним. Ведь m_hWndClient у CFrameWindowImpl только один.
Вообщем, не понимаю я пока что, откуда ноги растут
Наставьте на путь истинный, плз.
Re: вопросы новичка в WTL
От: Курилка Россия http://kirya.narod.ru/
Дата: 01.11.02 06:41
Оценка: 5 (1)
Здравствуйте Gosha, Вы писали:

G>Вопрос 1. Нужно ли к WTL7 ATL7 и где его взять? Если не трудно — киньте урлик, а то ходил по сайту Майкрософта — не нашел. Если это важно, сижу в 6-ой студии.


Для ATL7 нужна 7-я студия, а для 7-й WTL не обязательно, она нормально и с 6-й уживается (сам ещё на 7-ю не перешёл), отдельно вроде как ATL7 не поставляется
G>Вопрос 2. Что такое View?

Как я понимаю — часть архитектуры Document-View, которой в WTL почти нет, так сказать, т.е. есть только виды.

G>Из кода мастера пока сделал только один вывод, что view — необязательное дочернее окно (простое или основанное на существующем классе), "лежащее" на главном окне


Ну да так и есть, и по идее в этом окне должен отображаться/редактироваться документ

G>А если мне нужно много таких view-ов. Например, хочу ListBox и ProgressBar под ним. Ведь m_hWndClient у CFrameWindowImpl только один.


Ну можно сделать ещё промежуточное окно, которое будет включать парочку + сплиттер, но если честно я таким не занимался, зато у меня есть прога, где между видами переключаться можно (в этот m_hWndClient кидается хэндл активного вида)

А статус бар итак нормальный делается.

Совет — посмотри сэмплы.
есть ещё хорошие на http://groups.yahoo.com/group/wtl/
Re: вопросы новичка в WTL
От: Bion Молдова ionbalan.com
Дата: 01.11.02 09:43
Оценка: 3 (1)
Здравствуйте Gosha, Вы писали:

G>Всем привет!


G>Вот, решил посмотреть в сторону WTL.

G>Вопрос 1. Нужно ли к WTL7 ATL7 и где его взять? Если не трудно — киньте урлик, а то ходил по сайту Майкрософта — не нашел. Если это важно, сижу в 6-ой студии.
Нет, не нужно, WTL7 прекрасно уживается и с ATL3 который входит в 6-ую студию. ATL7 появился в .NET, и как я понимаю прикрутить к MSDev 6 возможностей нет, по крайней мере я не слышал что кто-то делал.

G>Вопрос 2. Что такое View? Из кода мастера пока сделал только один вывод, что view — необязательное дочернее окно (простое или основанное на существующем классе), "лежащее" на главном окне (посредством m_hWndClient = m_view.Create(...)), которое, в свою очередь, заботится о его (дочернего окна) ресайзе и доставке ему сообщений, посредством конструкции:

G>
G>if(CFrameWindowImpl<CMainFrame>::PreTranslateMessage(pMsg))
G>    return TRUE;
G>return m_view.PreTranslateMessage(pMsg);
G>

Думаю не составит труда найти инфу по архитектуре Document-View, почитай.

G>А если мне нужно много таких view-ов. Например, хочу ListBox и ProgressBar под ним. Ведь m_hWndClient у CFrameWindowImpl только один.

Ну в таком случае view породи от Form(dialog)
Да еще и сплитеры есть
G>Вообщем, не понимаю я пока что, откуда ноги растут
G>Наставьте на путь истинный, плз.
Re[2]: вопросы новичка в WTL
От: Gosha Украина  
Дата: 03.11.02 20:20
Оценка:
Здравствуйте Курилка, Вы писали:

К>Ну можно сделать ещё промежуточное окно, которое будет включать парочку + сплиттер, но если честно я таким не занимался, зато у меня есть прога, где между видами переключаться можно (в этот m_hWndClient кидается хэндл активного вида)

Примерно так и сделал. То есть в качестве view — класс простого окна, а мемберы этого класс — два класса контролов + обработчик OnSize для этог view-класса. Все работает как часы
Кстати, по поводу сплиттеров (как мне их не хватало в АРI ). Как я понял они дают только две панели, да? То есть, я конечно могу на одной из них создать еще один сплиттер, и так далее... А есть ли в WTL такой сплиттер, который, например, деля окно на четыре части, позволяет таскать себя за перекрестие?

К>А статус бар итак нормальный делается.

Что ты имел ввиду?

К>Совет — посмотри сэмплы.

К>есть ещё хорошие на http://groups.yahoo.com/group/wtl/
Спасибо, гляну. Только эти яхушные группы не шибко удобная вещь ... колорера нету
А вообще, впечатление от WTL-я очень положительные, буду копать дальше Если еще скажете, что в АТL можно работать с базами данных так же просто, как и в VB — счастью моему не будет предела
Re[3]: вопросы новичка в WTL
От: Курилка Россия http://kirya.narod.ru/
Дата: 04.11.02 07:02
Оценка:
Здравствуйте Gosha, Вы писали:

G>Кстати, по поводу сплиттеров (как мне их не хватало в АРI ). Как я понял они дают только две панели, да? То есть, я конечно могу на одной из них создать еще один сплиттер, и так далее... А есть ли в WTL такой сплиттер, который, например, деля окно на четыре части, позволяет таскать себя за перекрестие?


Родного нет, и очень-очень наврядли что где-нибудь в сети что-то подобное есть (я, по меньшей мере, не видел)

К>>А статус бар итак нормальный делается.

G>Что ты имел ввиду?

Да то, что визард делает его (её?).

G>А вообще, впечатление от WTL-я очень положительные, буду копать дальше Если еще скажете, что в АТL можно работать с базами данных так же просто, как и в VB — счастью моему не будет предела


Я из WTL ODBC юзал (боюсь камнями закидают) — довольно-таки просто, а так вроде адо почти как в васике работает.
Re[2]: вопросы новичка в WTL
От: Аноним  
Дата: 04.11.02 15:13
Оценка:
B>Нет, не нужно, WTL7 прекрасно уживается и с ATL3 который входит в 6-ую студию. ATL7 появился в .NET, и как я понимаю прикрутить к MSDev 6 возможностей нет, по крайней мере я не слышал что кто-то делал.

В дистрибутиве WTL7 есть всё для прикручивания к 6-студии.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.