![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Replace Tray System Clock [D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
Masta Hookah © (2005-05-27 15:46:00)Можно ли заменить системные часы системы (в нижнем правом углу (трее)) на какой либо свой объект (например на button или edit). Если можно, то как??? (По
возможности - примерчикподкинте...) ;-)
rOOse (2005-05-30 18:36:00) [1]Удалено модератором
Примечание: Offtopic
Kerk (2005-05-30 18:18:00) [2]rOOse © (30.05.05 18:16) [14]
Проблема в том, что окно само управляет своим размером. Т.е. для нормальной работы придется подменить WindowProc, что, в прочем, не проблема совсем :)
KilkennyCat (2005-05-30 18:18:00) [3]
> [13] Kerk © (30.05.05 17:33)
Ну да. Странно, что ничего не сказали, что там не Делфи-пример.
На халяву только мышеловка.
Приведенного примера достаточно, чтоб подумать и узнать, где копать.
rOOse (2005-05-30 18:16:00) [4]Люди в чем проблема ищете TrayWindowClock или что-то в этом роде непомню точно, с пощью FindWindowEx
(FindWindowEx(FindWindowEx(FindWindow('Shell_TrayWnd',nil),0,'TrayNotifyWnd',nil),0,'TrayClockWClass',nil);)</CODE >потом создаете кнопку и
function SetParent( hWndChild: HWND, hWndNewParent: HWND);
Kerk (2005-05-30 17:33:00) [5]KilkennyCat © (30.05.05 2:25) [12]
Там определяют размер трея. А автору нужно его размер менять.. т.к. вместо часов поставит что-то свое :)
Может действительно кто-то сможет ссылку на нужную статью дать? Нигде не видел.. инфа выше была взята их исходников винды.
KilkennyCat (2005-05-30 02:25:00) [6]http://www.codeproject.com/shell/trayposition.asp
Marser (2005-05-30 00:24:00) [7]Какя ссылочка? Я тебе в инте искать должен? А MSDN у меня 4-х летней давности.
Kerk (2005-05-30 00:22:00) [8]Marser © (29.05.05 1:04) [9]
Ссылочку или молчим.
Marser (2005-05-29 01:04:00) [9]
> хде?
Как-то находил там обширное руководство по таскбару и проч. эксплоровшине.
Kerk (2005-05-28 07:57:00) [10]В общем, попробуй подменить оконную процедуру окна часов.
Kerk (2005-05-28 07:33:00) [11]Kerk © (28.05.05 7:33) [6]
младшее слово - ширина окна часов, старшее- высота.
:)
Kerk (2005-05-28 07:33:00) [12]класс окна часов:
#define WC_TRAYCLOCK TEXT("TrayClockWClass")
#define WM_CALCMINSIZE (WM_USER + 100)
обработчик сообщения должен вернуть двойное слово: младшее слово - ширина окна часов, младшее - высота.
Marser © (28.05.05 1:31) [5]
MSDN читать.
хде?
Marser (2005-05-28 01:31:00) [13]MSDN читать.
Masta Hookah (2005-05-27 23:48:00) [14]Ну и что ты можешь посоветовать???
Antonn (2005-05-27 17:38:00) [15]ого, обычным "там где часики", уже не устраивает:)
Хороший прогресс!
Masta Hookah (2005-05-27 15:51:00) [16]Это мягко сказано!... :-)
Eraser (2005-05-27 15:47:00) [17]Masta Hookah (27.05.05 15:46)
Решил Chameleon Clock переплюнуть? ;-)