Вниз
Скачать: CL | DM;

Компонент не реагирует на сообщение   Найти похожие ветки 

← →
Navi   (2005-08-14 16:52) [0]

Здравствуйте!
Компонент наследник TComponent, надо в нем отловить изменение шрифта системного меню. В private пишу:
procedure Wm_SettingChange(var Message: TWMSettingChange); message WM_SETTINGCHANGE;

В implementation:

procedure TMT.Wm_SettingChange(var Message: TWMSettingChange);
begin
 inherited;
 ShowMessage(Format("%d:%d", [Message.Msg, Message.Flag]));
end;

Меняю шрифт, но не реагирует. Как лечить? Спасибо.


← →
Navi   (2005-08-14 16:54) [1]

А-а, каюсь, надо было в раздел Компоненты. Прости, Админ.


← →
Юрий Зотов ©   (2005-08-14 17:03) [2]

А с какой же стати наследник TComponent, не являющийся окном, вдруг будет получать оконное сообщение, да к тому же еще и рассылаемое только окнам верхнего уровня?


← →
Navi   (2005-08-20 08:27) [3]

Понял. А как сделать-то?


← →
Юрий Зотов ©   (2005-08-20 16:55) [4]

Честно сказать, смысла в таком компоненте не вижу. А сделать его можно, например, так:

1. Компонент ставит локальный хук, а тот ловит WM_SETTINGCHANGE и, поймав, уведомляет об этом компонент.

2. Поскольку такой компонент нужен один на все приложение, он выполнен, как синглтон.


← →
Наиль ©   (2005-08-20 20:00) [5]

Рискну дать пояснения.
Хук - Application.HookMainWindow
А про синглтон очень подробно рассказано в ветке
Основная-> Автор: Страждущий; Тема - Уровень; Дата - 20.03.03
Это моя любимая ветка.
Найти можно в дайджестах этого форума, если они работают (почему-то я не могу в них войти).


← →
Юрий Зотов ©   (2005-08-20 20:24) [6]

Я бы все же использовал SetWidowsHookEx.


← →
Leonid Troyanovsky ©   (2005-08-21 19:07) [7]


> Navi   (14.08.05 16:52)  

> Компонент наследник TComponent, надо в нем отловить изменение
> шрифта системного меню. В private пишу:


TControl получает cm_sysfontchanged.

--
Regards, LVT.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
15-1137675086
VID
2006-01-19 15:51
2006.02.12
Инет-провайдеры в районе м. Калужская ?


3-1133920771
Silver...
2005-12-07 04:59
2006.02.12
Ограничить запрос (типа TOP <n> тока наооборот)


2-1137911299
Bogdan1024
2006-01-22 09:28
2006.02.12
Какой процедурой можно скопировать файл?


15-1137765141
syte_ser78
2006-01-20 16:52
2006.02.12
телефонный вирус


15-1138086687
konda
2006-01-24 10:11
2006.02.12
Языковая панель в Windows XP




   Наверх