Hello ClaList,
Есть у меня окна без стандартного заголовка (нарисован свой, подменяющий функционал стандартного). Вот хочется, что бы это окно при просмотре списка активных задач на панели задач (когда переключаешся по Alt+Tab) показывало не только иконку, но и текст (который обычно берется из заголовка окна, который у меня, естественно, пустой).
Будут какие-нибудь идеи на эту тему?
--
Best regards,
Vadym mailto:vadim@softcreator.com
ICQ: 82308757
Написал: ClaList(2)
Окна без заголовка
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ну во-первых, стандартный заголовок можно не назначать пустым, а просто не позволять рисовать стандартными средствами.
Для чего сабклассить окно, перехватывать события, которые посылает винда окну на перерисовку заголовка, напримр WM_NCPAINT, и рисовать заголовок своим алгоритмом.
Во-вторых, можно самому отвечать на события, которые винда посылает окну, чтобы узнать его заголовок. Это WM_GETTEXT и WM_GETTEXTLENGTH.
Удачи!
__________________________________
Владимир Якимченко (IСQ 16 993 194)
Написал: ClaList(2)
Для чего сабклассить окно, перехватывать события, которые посылает винда окну на перерисовку заголовка, напримр WM_NCPAINT, и рисовать заголовок своим алгоритмом.
Во-вторых, можно самому отвечать на события, которые винда посылает окну, чтобы узнать его заголовок. Это WM_GETTEXT и WM_GETTEXTLENGTH.
Удачи!
__________________________________
Владимир Якимченко (IСQ 16 993 194)
Написал: ClaList(2)
В конце концов получилось сделать несколько иначе - своя отработка WM_SETTEXT (для получения значения нового заголовка при попытке изменения его из программы через window{PROP:Text}) и WM_STYLECHANGING (для сброса стиля WS_DLGFRAME при попытке его установления при изменении заголовка окна при помощи window{PROP:Text})
В итоге просто не потребовалось очищать загловок окна.
Спасибо за наводку.
--
Best regards,
Vadim
Написал: ClaList(2)
В итоге просто не потребовалось очищать загловок окна.
Спасибо за наводку.
--
Best regards,
Vadim
Написал: ClaList(2)
А можно как-то объяснить клашиным функциям отображения информации в окне, что работать нужно сейчас не с текущим клиентским DC (т.е. тем что возвращет GetDC), а с неклиентским DC (тем, что получаем через GetWindowDC)?
Иными словами - можно заставить отрисовать что-то клашиными средствами в неклиентской части окна (например в заголовке окна)?
Т.е. сидим в обработчике WM_NCPAINT, получили DC неклиентской части окна - нарисовать прямоугольничик, вывести текст используя WinAPI можно - но хочется бОльшего - создать контрол средствами клаши.
Будут идеи?
--
Best regards,
Vadim
Написал: ClaList(2)
Иными словами - можно заставить отрисовать что-то клашиными средствами в неклиентской части окна (например в заголовке окна)?
Т.е. сидим в обработчике WM_NCPAINT, получили DC неклиентской части окна - нарисовать прямоугольничик, вывести текст используя WinAPI можно - но хочется бОльшего - создать контрол средствами клаши.
Будут идеи?
--
Best regards,
Vadim
Написал: ClaList(2)