Главная страница
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.011 c
1-54571
it
2003-04-05 21:23
2003.04.17
Куда можно запихнуть болле 2000 строк?


14-54864
Delirium^.Tremens
2003-04-01 10:34
2003.04.17
Паника в Белом Доме


3-54522
AVR
2003-03-19 16:02
2003.04.17
Key size too big for index IDX_SPISOK_IMYA


4-54943
RDA
2003-02-18 09:30
2003.04.17
Развернутое окно только с кнопкой Close


1-54740
DikobraZ
2003-04-05 16:08
2003.04.17
Как узнать текущие обои на рабочем столе?