![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ЧАсы в систрее
IAm © (2003-03-14 16:07:00)Требуется написать программу, которая рисует в систрее часы, типа виндовызх стандартных, но более функциональные.
Проблема: Для вызова ф-ции Shell_NotifyIcon картинку надо передавать как иконку. Но винда как мне кажется использует другие ф-ции для рисования часов. Что и как вызывать для того, чтобы нарисовать в систрее изображение, размерорм не 32х32 ?
lds (2003-03-21 11:28:00) [1]Дык таких примеров полно на этом сайте, ищи.
Код нужно писать в dll
Smok_er (2003-03-20 11:15:00) [2]lds (20.03.03 10:16)
А можешь дать кусок исходника с установкой хука и обработкой сообщений?
lds (2003-03-20 10:16:00) [3]>lamer - Это мазохизм.
>Smok_er - Я писал такую прогу - исходники не дам но на любой вопрос постараюсь ответить.
[lamer]Barmaglot (2003-03-20 09:15:00) [4]А может выводить часы как текст? Например FAQ - http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988620752&n=15
Smok_er (2003-03-18 17:46:00) [5]>если надо поподробней - пиши
А можно подробнее?
lds (2003-03-18 14:50:00) [6]А можно еще проще и надежней - ставишь хук на окно часов (TrayClockWClass) и обрабатываешь сообщение wm_Paint и рисуй что хочешь, если надо поподробней - пиши
theodor_iv (2003-03-15 10:02:00) [7]Начни так:
H1 := FindWindow("Shell_TrayWnd", nil);
H3 := FindWindowEx(H1, 0, "TrayNotifyWnd", nil);
H4 := FindWindowEx(H3, 0, "TrayClockWClass", nil);
H2 := CreateWindow("STATIC", nil, WS_CHILD, 0, 0, 31, 31, H3, 0, 0, nil);
ShowWindow(H2, SW_SHOWNORMAL);
ShowWindow(H4, SW_HIDE);
Теперь в окне H2 можно рисовать, что хочешь, а дальше сам...
Diamond Cat (2003-03-15 02:05:00) [8]2 DVM ну и в резулбтате проще переделать стандартные примерно так
var
re:Dword;
begin
SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_STIMEFORMAT, PChar("текст HH:mm"));
SendMessageTimeout(FindWindow("Shell_TrayWnd", Nil), WM_SETTINGCHANGE, 0, 0, SMTO_NORMAL, 1000, re);
DVM (2003-03-14 18:54:00) [9]
> Для вызова ф-ции Shell_NotifyIcon картинку надо передавать
> как иконку.
Причем здесь иконки? Часы - отдельное окно (не помню класс ...ClockWndClass..). Это окно можно скрыть, а на его месте открыть другое и делать в нем что угодно. Проблема в том, чтобы отслеживать перемещение панели задач и свое окно перемещать тоже.
Diamond Cat (2003-03-14 17:21:00) [10]Проще переделать стандартные