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

Вниз

События мыши для потомка TPanel   Найти похожие ветки 

 
Nicke   (2002-01-27 05:42) [0]

Hi, All!

Проблема в следующем:
Создаю потомок TPanel для перетаскивания по форме в run-time:

type
TMovePanel = class(TPanel)

private
FMoveable : Boolean;
procedure WMNCHitTest(var M : TWMNCHitTest);
message WM_NCHitTest;
published
// можно перемещать или нет
property Moveable:Boolean read FMoveable write FMoveable;
end;

var
Form1: TForm1;
Panel : TMovePanel;

.....

procedure TMovePanel.WMNCHitTest(var M : TWMNCHitTest);
begin
inherited;
if (not (csDesigning in ComponentState)) and FMoveable then
if M.Result = htClient then
M.Result:=htCaption;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Panel := TMovePanel.Create(self);
Panel.Parent := Form1;
Panel.Left := 20;
Panel.Top := 20;
Panel.Height := 50;
Panel.Width := 50;
Panel.Moveable := true;
Panel.Visible := true;
end;

Как теперь заставить приложение реагировать на события мыши(MouseDown, OnClick
и т.д.) на этой панели?


 
LLL   (2002-01-27 13:21) [1]

Был как то пример перетаскивания
панели используя SC_MOVE. К сожалению,
поиск по форуму ничего не дал.
Наверно уже удалили.
Может кто напомнит?


 
LLL   (2002-01-27 13:36) [2]

Так, разобрался!
Следует применять
SC_DragMove = $F012;
ReleaseCapture;
Panel1.Perform(WM_SYSCOMMAND,SC_DragMove,0);


 
Dimaond Cat   (2002-01-29 00:17) [3]

Смотря что ты имееш в виду, но в принципе все сообщения проходят через application соответственно подмена application.onmessage может дать желаемый результат если нужен пример пиши.


 
Satrap   (2002-01-29 16:46) [4]

Если я Вас правильно понял, Вы делаете новый компонент только чтобы таскать его мышью.
Не проще ли будет экземпляру TPanel установить DragKind:=dkDock и DragMode:=dmAutomatic?



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

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

Наверх




Память: 0.45 MB
Время: 0.006 c
14-91059
J_S (A)
2002-02-13 16:19
2002.03.28
ICQ 2001a


3-90814
OlgaSf
2002-03-05 11:36
2002.03.28
WebSnap: формирование условий выборки из БД


3-90808
mark-a
2002-03-02 13:57
2002.03.28
Intebase


1-90854
SlavaS
2002-03-16 21:35
2002.03.28
Неудаётся найти файл *.bpl


14-91047
макар
2002-02-13 17:38
2002.03.28
Может кто-нибудь знает





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