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

Вниз

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

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

Форум: "KOL";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
6-54772
Stanislav SM
2003-02-23 00:14
2003.04.17
Передача сообщений по локальной сети


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


1-54686
Славик
2003-04-04 17:30
2003.04.17
Руссификатор helpa


1-54701
Archvile
2003-04-04 22:51
2003.04.17
ini-файл не в директории Windows


3-54503
LOGic
2003-03-26 18:38
2003.04.17
TRxMemoryData





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский