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

Вниз

OnMouseDown   Найти похожие ветки 

 
rOOse ©   (2005-07-29 19:42) [0]

Как в своем компоненте сделать чтобы при нажатии на него сразу же загружался какой нибудь код? н:р форма закрывалась.


 
GLFox ©   (2005-07-29 19:50) [1]

О чем вопрос то?


 
rOOse ©   (2005-07-29 20:02) [2]

Вопрос в том чтобы в своем компоненте не было property OnMouseDown а при нажатии на него запускался какой-нибудь код.


 
Наиль   (2005-07-29 20:18) [3]

Никогда не работал с КОЛ, но сомневаюсь что по этой части он отличается от стандартного написания компонент (дай, Бог, не ошибится). В стандандартных компонентах это выглядит так:

interface
...
TMyCompanent=Class(...)
procedure WMMouseDown(message:TMessage); message WM_MouseDown;
End;
implimentation
...
TMyCompanent.WMMouseDown(...);
Begin
inherited;
Твой код
End;
end;

В скобках должен быть соответсвующий тип вместо TMessage.
Кроме того, я могу ошибиться с WM_... (пишу по памяти)
Но для наводки этого должно быть достаточно.


 
ECM ©   (2005-07-29 22:52) [4]

Никогда не работал с КОЛ, но сомневаюсь что по этой части он отличается от стандартного написания компонент (дай, Бог, не ошибится).
Бог не дал... :)
В KOL использование классов не отвечает "основной идеологии",
хотя и возможно... Здесь все на "старой объектной модели" (Object)... И, ИМХО, динамические методы для обработки сообщений здесь не применимы...
Для получения требуемой функциональности (если OnMouseDown нежелательно светить в инспекторе) нужно будет написать свою окнонную функцию, например:

function WndProcMouseDown(Self_: PControl; var Msg: TMsg; var Rslt: Integer): Boolean;
begin
 Result := False;
 if Msg.Message = WM_L(R)BUTTONDOWN then begin
   ...// Твой код
   Result := TRUE;
 end;
end;

Затем через AttachProc необходимо добавить этот обработчик в функции NewXXXXX(...) создающей твой компонент...
Более подробные примеры см. в KOL.PAS...:)


 
Thaddy   (2005-07-30 02:12) [5]

Or alternatively use the standard OnMessage handler with WM_LBUTTONDOWN.
KOL has actually more possibilities to handle this nicely than the VCL has!
But ECM's option is preferred.



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

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

Наверх




Память: 0.47 MB
Время: 0.028 c
1-1140277657
Игорь Степанов
2006-02-18 18:47
2006.03.26
Вывод bitmap-изображения на канву компонента Image


2-1141893283
kyn66
2006-03-09 11:34
2006.03.26
Добавить объект в ListBox


2-1141633499
I am
2006-03-06 11:24
2006.03.26
Как добавить язык в систему?


15-1141491463
Yegorchic
2006-03-04 19:57
2006.03.26
PHP и .gif


1-1140446346
Ega23
2006-02-20 17:39
2006.03.26
Use Debug DCUs или что-то ещё?