Вот, решил посмотреть в сторону WTL. Вопрос 1. Нужно ли к WTL7 ATL7 и где его взять? Если не трудно — киньте урлик, а то ходил по сайту Майкрософта — не нашел. Если это важно, сижу в 6-ой студии. Вопрос 2. Что такое View? Из кода мастера пока сделал только один вывод, что view — необязательное дочернее окно (простое или основанное на существующем классе), "лежащее" на главном окне (посредством m_hWndClient = m_view.Create(...)), которое, в свою очередь, заботится о его (дочернего окна) ресайзе и доставке ему сообщений, посредством конструкции:
А если мне нужно много таких view-ов. Например, хочу ListBox и ProgressBar под ним. Ведь m_hWndClient у CFrameWindowImpl только один.
Вообщем, не понимаю я пока что, откуда ноги растут
Наставьте на путь истинный, плз.
Здравствуйте 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 кидается хэндл активного вида)
Здравствуйте 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>
Думаю не составит труда найти инфу по архитектуре Document-View, почитай.
G>А если мне нужно много таких view-ов. Например, хочу ListBox и ProgressBar под ним. Ведь m_hWndClient у CFrameWindowImpl только один.
Ну в таком случае view породи от Form(dialog)
Да еще и сплитеры есть G>Вообщем, не понимаю я пока что, откуда ноги растут G>Наставьте на путь истинный, плз.
Здравствуйте Курилка, Вы писали:
К>Ну можно сделать ещё промежуточное окно, которое будет включать парочку + сплиттер, но если честно я таким не занимался, зато у меня есть прога, где между видами переключаться можно (в этот m_hWndClient кидается хэндл активного вида)
Примерно так и сделал. То есть в качестве view — класс простого окна, а мемберы этого класс — два класса контролов + обработчик OnSize для этог view-класса. Все работает как часы
Кстати, по поводу сплиттеров (как мне их не хватало в АРI ). Как я понял они дают только две панели, да? То есть, я конечно могу на одной из них создать еще один сплиттер, и так далее... А есть ли в WTL такой сплиттер, который, например, деля окно на четыре части, позволяет таскать себя за перекрестие?
К>А статус бар итак нормальный делается.
Что ты имел ввиду?
К>Совет — посмотри сэмплы. К>есть ещё хорошие на http://groups.yahoo.com/group/wtl/
Спасибо, гляну. Только эти яхушные группы не шибко удобная вещь ... колорера нету
А вообще, впечатление от WTL-я очень положительные, буду копать дальше Если еще скажете, что в АТL можно работать с базами данных так же просто, как и в VB — счастью моему не будет предела
Здравствуйте 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-студии.