Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Компоненты";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.057 c
2-1138253636
Kot_
2006-01-26 08:33
2006.02.12
Как получить текст ошибки и сохранить его в файл.


4-1133333765
BVV
2005-11-30 09:56
2006.02.12
Обращения к реестру и к файлам


15-1137584595
Харько (настоящий)
2006-01-18 14:43
2006.02.12
В какого оператора самые низике цены на GPRS?


2-1137175072
asd
2006-01-13 20:57
2006.02.12
ActionManager1.AddAction


8-1125205449
zeram
2005-08-28 09:04
2006.02.12
Работа с gif (изменение цвета).





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский