Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

Отлов сообщений форме   Найти похожие ветки 

 
SPeller ©   (2002-06-29 11:42) [0]

Всем доброго времени суток! Не подскажете ли в чём проблема. Описываю обработчик сообщения для формы, а компилер ругается что "Undeclared indentified "private""

TfrmMain = class(TForm)
{$ENDIF KOL_MCK}
KOLProject1: TKOLProject;
kolfrmMain: TKOLForm;
txtClass: TKOLEditBox;
txtText: TKOLEditBox;
procedure kolfrmMainShow(Sender: PObj);
procedure kolfrmMainClose(Sender: PObj; var Accept: Boolean);
procedure WMUser(Var Message: TMessage); Message WM_USER;
private // Сюда ставит курсор и ругается.
public
{ Public declarations }
end;


 
Anatoly Podgoretsky ©   (2002-06-29 12:14) [1]

Наверно из за этого {$ENDIF KOL_MCK}


 
SPeller ©   (2002-06-29 12:58) [2]

Нашёл. Там видимо для этих целей существует событие формы OnMessage. Только вот сам обработчик - функция и должет возвращать или true или false плюс там ещё есть параметр Rslt (от result, но такое имя уже предусмотрено для результата функции). Так вот, вопрос к знающим: как вообще правильно использовать этот обработчик?? Для чего параметр Rslt ?? В справке про него ничего нет. Как этот Rslt использовать совместно с результатом функции??


 
BorisMor   (2002-06-29 14:21) [3]

Пример обработки минимизации окна для KOL (без MCK)

///////////////////////////////////////////////////////////////
Function DoMainMessage ( DummyObject: PControl; var Msg: TMsg; var Rslt:Integer ): Boolean;
begin

RESULT := FALSE;
IF (Msg.message = WM_SYSCOMMAND) and (Msg.wParam =SC_MINIMIZE) Then
begin
Applet.Hide ;
Main.Hide ;
RESULT := TRUE;
end;
end;
///////////////////////////////////////////////////////////////

....

Main := NewForm(Applet,"FORMA").SetSize(600,400);
Main.OnMessage :=TOnMessage(Makemethod(nil,@DoMainMessage));


 
SPeller ©   (2002-06-29 16:30) [4]

Ну ладно, result определяет, обрабатывать дальше или нет, а Rslt чего делает ??


 
Gandalf   (2002-06-29 17:15) [5]

>Нашёл. Там видимо для этих целей существует событие формы >OnMessage.
1. Ты прав.

>Только вот сам обработчик - функция и должет возвращать или >true или false
2. Он указывает обрабатываешь ты его или нет.

>плюс там ещё есть параметр Rslt (от result, но такое имя уже >предусмотрено для результата функции).
3. Возвращат значение функции - обычно 0 (нуль).

> Так вот, вопрос к знающим: как вообще правильно использовать >этот обработчик??
http://delphisoftware.narod.ru/VirtDiceSrc.zip
(там WM_SIZING и WM_GETMINMAXINFO обрабатываются)



 
Vladimir Kladov   (2002-06-29 18:54) [6]

Для обработки сообщений в KOL есть и другие механизмы:
- OnMessage формы или апплета,
- AttachProc,
- WndProc (если не дай Бог, имеется наследование от KOL.TControl).



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

Текущий архив: 2003.04.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
14-54808
Kotka
2003-03-31 18:22
2003.04.17
Настройка модема


1-54586
Мыш
2003-04-06 02:21
2003.04.17
Параметры командной строки в BorgTv


1-54620
DenKop
2003-04-07 22:50
2003.04.17
TAB и контролы на форме


3-54469
Sewix
2003-03-29 09:21
2003.04.17
Кто нибудь ставил oracle на Win 98


14-54847
Victor
2003-03-30 20:37
2003.04.17
Передача звука по сети