![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
EnergoHokum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Вопрос простой: правильно-ли я делаю
![]() При написании чего-нить на WinAPI я использую такую структуру приложения:
Мне очень не нравится наличие большого количества глобальных переменных (handle-ов). А избавиться от них не получается, т. к. приходится постоянно из функций обработки сообщений посылать сообщения другим control-ам. Есть-ли лекарство от этого? И вопрос второй: нормально-ли наличие большого количества сабклассированных control-ов (с точки зрения производительности)? |
|||
|
||||
NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 6 Всего: 23 |
Для оконных приложений используй фреймворки, например, WTL.
|
|||
|
||||
EnergoHokum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: 3 Всего: 6 |
Ну, если уж я и буду использовать framework, то это будет Qt. А всякую мелочёвку, по моему, на чистом WinAPI + GDI писать полегче, да и понимания того, что творится в потрохах windows больше. Есть-же извращенцы ;-) , которые на ассемблере оконные приложения пишут, а я чем хуже?
Это сообщение отредактировал(а) EnergoHokum - 1.8.2008, 13:32 |
|||
|
||||
Paspartu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Можно упоковать все в класс... что мешает?
|
|||
|
||||
Pulse69 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 28.4.2006 Где: Хабаровск Репутация: 8 Всего: 10 |
Всякую мелочёвку легче писать как раз на WTL. Если WTL не устраивает, тогда без лобальных/статических переменных не обойтись. Заворачивать самому в классы - это заново изобретать велосипед.
Это сообщение отредактировал(а) Pulse69 - 2.8.2008, 02:24 --------------------
Ctrl+Alt+Reset |
|||
|
||||
Paspartu |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
Здесь надо исходить из конкретной задачи, все MFC, WTL и т.д. это обертки над WinAPI это также как при строительстве дома… дом можно построить из монолитных плит, можно из кирпичей… в первом случае минимальной строительной единицей будет плита, во втором – кирпич, да! Из плит можно построить многое, за короткое время, но… все же из кирпича можно построить все то же самое + намного гибче т.к. единица меньше, минус – время, (хотя его надо потратить только раз что бы написать класс)… я делаю свои контролы на WinAPI, от окон до ToolBar-ов и прочее, и мне не нужен ни какой WTL, так что повторюсь, все зависит от задачи, решение на чем писать остается за автором…
|
|||
|
||||
Annihilator |
|
|||
![]() bytegrinder ![]() ![]() Профиль Группа: Участник Сообщений: 493 Регистрация: 21.11.2006 Где: Омск Репутация: нет Всего: 3 |
MFC уже все упаковало.
Сам не так давно изучаю winapi. Глобальные переменные уже дня 3 раздражают... но ничего не поделать. -------------------- Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Paspartu,
Плиты с кирпичами комбинируются без проблем. По крайней мере в случае с MFC\WTL. Так что не аргумент. -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |