Страница 1 из 1

Добавлено: 08 Октябрь 2004, 10:57
Гость
Hello ClaList,

Есть у меня окна без стандартного заголовка (нарисован свой, подменяющий функционал стандартного). Вот хочется, что бы это окно при просмотре списка активных задач на панели задач (когда переключаешся по Alt+Tab) показывало не только иконку, но и текст (который обычно берется из заголовка окна, который у меня, естественно, пустой).

Будут какие-нибудь идеи на эту тему?

--
Best regards,
Vadym mailto:vadim@softcreator.com
ICQ: 82308757
Написал: ClaList(2)

Добавлено: 08 Октябрь 2004, 10:58
Гость
Ну во-первых, стандартный заголовок можно не назначать пустым, а просто не позволять рисовать стандартными средствами.
Для чего сабклассить окно, перехватывать события, которые посылает винда окну на перерисовку заголовка, напримр WM_NCPAINT, и рисовать заголовок своим алгоритмом.

Во-вторых, можно самому отвечать на события, которые винда посылает окну, чтобы узнать его заголовок. Это WM_GETTEXT и WM_GETTEXTLENGTH.

Удачи!
__________________________________
Владимир Якимченко (IСQ 16 993 194)
Написал: ClaList(2)

Добавлено: 11 Октябрь 2004, 10:33
Гость
В конце концов получилось сделать несколько иначе - своя отработка WM_SETTEXT (для получения значения нового заголовка при попытке изменения его из программы через window{PROP:Text}) и WM_STYLECHANGING (для сброса стиля WS_DLGFRAME при попытке его установления при изменении заголовка окна при помощи window{PROP:Text})

В итоге просто не потребовалось очищать загловок окна.

Спасибо за наводку.

--
Best regards,
Vadim
Написал: ClaList(2)

Добавлено: 11 Октябрь 2004, 10:34
Гость
А можно как-то объяснить клашиным функциям отображения информации в окне, что работать нужно сейчас не с текущим клиентским DC (т.е. тем что возвращет GetDC), а с неклиентским DC (тем, что получаем через GetWindowDC)?
Иными словами - можно заставить отрисовать что-то клашиными средствами в неклиентской части окна (например в заголовке окна)?
Т.е. сидим в обработчике WM_NCPAINT, получили DC неклиентской части окна - нарисовать прямоугольничик, вывести текст используя WinAPI можно - но хочется бОльшего - создать контрол средствами клаши.
Будут идеи?

--
Best regards,
Vadim
Написал: ClaList(2)