![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отлов сообщений форме [Delphi, Windows]
SPeller © (2002-06-29 11:42:00)Всем доброго времени суток! Не подскажете ли в чём проблема. Описываю обработчик сообщения для формы, а компилер ругается что "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;
Vladimir Kladov (2002-06-29 18:54:00) [1]Для обработки сообщений в KOL есть и другие механизмы:
- OnMessage формы или апплета,
- AttachProc,
- WndProc (если не дай Бог, имеется наследование от KOL.TControl).
Gandalf (2002-06-29 17:15:00) [2]>Нашёл. Там видимо для этих целей существует событие формы >OnMessage.
1. Ты прав.
>Только вот сам обработчик - функция и должет возвращать или >true или false
2. Он указывает обрабатываешь ты его или нет.
>плюс там ещё есть параметр Rslt (от result, но такое имя уже >предусмотрено для результата функции).
3. Возвращат значение функции - обычно 0 (нуль).
> Так вот, вопрос к знающим: как вообще правильно использовать >этот обработчик??
http://delphisoftware.narod.ru/VirtDiceSrc.zip
(там WM_SIZING и WM_GETMINMAXINFO обрабатываются)
SPeller (2002-06-29 16:30:00) [3]Ну ладно, result определяет, обрабатывать дальше или нет, а Rslt чего делает ??
BorisMor (2002-06-29 14:21:00) [4]Пример обработки минимизации окна для 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 12:58:00) [5]Нашёл. Там видимо для этих целей существует событие формы OnMessage. Только вот сам обработчик - функция и должет возвращать или true или false плюс там ещё есть параметр Rslt (от result, но такое имя уже предусмотрено для результата функции). Так вот, вопрос к знающим: как вообще правильно использовать этот обработчик?? Для чего параметр Rslt ?? В справке про него ничего нет. Как этот Rslt использовать совместно с результатом функции??
Anatoly Podgoretsky (2002-06-29 12:14:00) [6]Наверно из за этого {$ENDIF KOL_MCK}