Вниз
Скачать: 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.03 c
1-1140796941
pasha_golub
2006-02-24 19:02
2006.03.26
Граф, но не дерево???


15-1141280821
WondeRu
2006-03-02 09:27
2006.03.26
Text Art - кидайте сюда, что знаете интересного :)


15-1141229111
Pazitron_Brain
2006-03-01 19:05
2006.03.26
Комментированные PHP скрипты


3-1138889242
Silver...
2006-02-02 17:07
2006.03.26
DBGrid и "DataSet.AfterOpen"


1-1140451254
Grol
2006-02-20 19:00
2006.03.26
Глюки с арифметическими вычислениями, провожу вычисления в Delphi




   Наверх