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

Вниз

перемещение контрола за всю клиентскую область   Найти похожие ветки 

 
Antonn ©   (2005-08-07 09:24) [0]

использую код:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const SC_DRAGMOVE:Longint=$F012;
begin
if Button <> mbRight then begin
 ReleaseCapture;
 SendMessage(Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
end;
end;
работает, перетаскивает форму как и надо, но проблемма в том, что при срабатывании этого кода, не "отвечает" OnMouseUp.
Как это можно исправить?
Спасибо.


 
Lamer@fools.ua ©   (2005-08-07 10:56) [1]

> перемещение контрола за всю клиентскую область
>работает, перетаскивает форму как и надо

Так что двигаете всё-таки: форму или контрол на ней? Если форму, то Вы выбрали дико извратный способ. Если контрол, то тоже.

>const SC_DRAGMOVE:Longint=$F012;

Где Вы такое нашли?

http://search.microsoft.com/search/results.aspx?qu=SC_DRAGMOVE&View=msdn&st=b&c=4&s=1&swc=4


 
Leonid Troyanovsky ©   (2005-08-07 11:04) [2]


> Lamer@fools.ua ©   (07.08.05 10:56) [1]

> >const SC_DRAGMOVE:Longint=$F012;

> Где Вы такое нашли?


Оно недокументировано, но весьма популярно.

--
Regards, LVT.


 
Antonn ©   (2005-08-07 11:15) [3]

Lamer@fools.ua ©   (07.08.05 10:56) [1]
перемещаю форму, и почему извратный? подскажите не извратный.

при использовании:
procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
 inherited;
 if M.Result = htClient then M.Result := htCaption;
end;
такая же проблемма


 
Lamer@fools.ua ©   (2005-08-07 11:43) [4]

>>Leonid Troyanovsky ©   (07.08.05 11:04) [2]

Хм... буду иметь в виду. Хотя сомневаюсь, что буду использовать. Не люблю недокументированных способов.

>>Antonn ©   (07.08.05 11:15) [3]

>такая же проблемма

Да, действительно. Пока не придумал, как победить. Если придумаю, напишу...


 
Lamer@fools.ua ©   (2005-08-07 12:29) [5]

Spy++ показывает, что сообщение WM_LBUTTONUP постится в очередь сообщений в случае [3]. Почему оно не доходит, пока не разобрался.


 
Antonn ©   (2005-08-07 13:26) [6]

Lamer@fools.ua ©   (07.08.05 12:29) [5]
может там в исходниках где inherited; пропустили? :)


 
Mx ©   (2005-08-07 13:51) [7]

Попробуй убрать ReleaseCapture



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

Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
1-1123164603
Андрей Молчанов
2005-08-04 18:10
2005.08.28
Shell в TTreeView


9-1114794185
Warchief
2005-04-29 21:03
2005.08.28
lightmap


3-1121418159
vigo
2005-07-15 13:02
2005.08.28
Подключение к Oracle


4-1120626325
KSergey
2005-07-06 09:05
2005.08.28
Длительный поток в dll и явная закгурзка.выгрузка dll


14-1123128667
cyborg
2005-08-04 08:11
2005.08.28
Проблемы с отключением флешек на USB





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