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

Вниз

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

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

Наверх





Память: 0.46 MB
Время: 0.048 c
1-1140370850
Matrex
2006-02-19 20:40
2006.03.26
«Мягкие» границы для Битмапа…


15-1141544457
Новичоккк
2006-03-05 10:40
2006.03.26
Коды мнемоник


15-1141345693
Alsan
2006-03-03 03:28
2006.03.26
Как изменить код в DLL


15-1141246223
LordOfRock
2006-03-01 23:50
2006.03.26
Unicode-интерфейс проги


15-1141484218
Piter
2006-03-04 17:56
2006.03.26
Интеграця в проводник (во всплывающее меню)





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