Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
1-1140602850
denis24
2006-02-22 13:07
2006.03.26
перенос картинки из одного Timage в другой


2-1141737745
DelphiLexx
2006-03-07 16:22
2006.03.26
Выскакивания окна подобно вызовам методам в Delphi


15-1141520170
постигаю
2006-03-05 03:56
2006.03.26
загрузка во фреймы


4-1136650484
Signate
2006-01-07 19:14
2006.03.26
Запуск приложения принудительно на одном процессоре


15-1141632664
Бугага
2006-03-06 11:11
2006.03.26
Запустить PHP скрипт в планировщике




   Наверх