Как изменить ToolTip и иконку для свёрнутого в панель задач (НЕ ТРЕЙ!) приложения?
Задача такая: поверх основной формы приложения открывается модальная "дочерняя". При этом в панели задач отображается иконка основной формы с ToolTop'ом от неё. Токсть, если у приложения на основной форме в заголовке иконка А, и надпись В, а у модальной, что поверх неё открывается, иконка С и надпись Д, то при открытии модальной формы в панели задачь отображается иконка А и надпись В (заголовок "родительской" формы), а мне хочется, чтобы отображение показывало, что открыта "дочерняя" форма.
А ты Caption формы измени вот и tooltop сразу поменяется.
Цитата:
Originally posted by SergeySV
А ты Caption формы измени вот и tooltop сразу поменяется.
А ты Caption формы измени вот и tooltop сразу поменяется.
И каждый раз менять кэпшн и иконку? Признаю, вариант. отличный. причём простой очень. Может быть, не воспользовавшись им, сам создам себе лишние проблемы, ища другой путь, но нет ничего поинтереснее? В смысле, поизвращёнее, но "круче". Допустим, если я захочу отображать в панели задачь на кнопке задачи моей программы вообще что-то, чего нет в свойствах форм программы?
Прикольно, в .Net для Longhorn'е уже есть методы показа и получения TollTip панели задач
Цитата:
Originally posted by SergeySV
Прикольно, в .Net для Longhorn'е уже есть методы показа и получения TollTip панели задач
Прикольно, в .Net для Longhorn'е уже есть методы показа и получения TollTip панели задач
Это, конечно, гуд, токмо у меня нет .Net:)
О, погодь, кажись понял как искать надо, это ж окно, просто он специфическое, ща поищу
Цитата:
Originally posted by SergeySV
О, погодь, кажись понял как искать надо, это ж окно, просто он специфическое, ща поищу
О, погодь, кажись понял как искать надо, это ж окно, просто он специфическое, ща поищу
Тоесть, нужно просто получить его хендл как-то, а затем для окна с этим хендлом как-то устанавливать иконку и кэпшн?
А как это сделать?
Какие API?
Вот какой пример я нашел:
I found this control has another bug.
It makes a box( Don't know how to call it exactly...) on the task bar every time it shows toolTip. So, If the parent program which calls this toolTip is destroyed, the box on the task bar doesn't distroy it self.
Well, please Code Guru! Fix this bug. Thanx.
-----------------------------------------------
Just change the extended window style in the CreateEx() call to WS_EX_TOOLWINDOW :
BOOL CToolTip2::Create(CWnd* pParentWnd)
{
...
return CreateEx(WS_EX_TOOLWINDOW, NULL,NULL,WS_POPUP | WS_CHILD | WS_CLIPSIBLINGS,rectInitialSize,pParentWnd, NULL, NULL);
}
and the window does not appear in the task bar.
Мысль вообщем ясна, надо создать окно типа TOOLWINDOW и WS_POPUP родителем которого будет наше приложение. Но вот чего я пока до конце не понял: заменит ли оно существующее или можно вообще добраться до родного и изменить ему Caption. Пока вообщем одни вопросы.
Технические трудности этого примера в том что я нигде не нашел пример объявления функции CreateEx для VB. Попробовал использовать похожую CreateWindowEx. По аргументам они вроде совпадают... получилось токо создать окно, ну показать его через ShowWindow, но оно естетственно не заменило существующего tooltip'a