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

Вниз

WM_NCHITTEST   Найти похожие ветки 

 
rhf   (2002-08-06 18:59) [0]

Если сделать перетаскивание формы за клиентскую область (HTCLIENT менять на HTCAPTION), то она перестает реагировать на стандартные события мыши (onClick и т.п.), что вполне логично....
т.е. теперь попап-меню само не появляеться, а надо :)

можно обрабатывать WM_NCRBUTTONUP и показывать меню...
вот только как узнать, что событие произошло в клиентской области, а не на кнопке минимизации например?
координаты проверять? или есть другое решение?


 
Skier   (2002-08-06 19:05) [1]

>rhf
Ежели ты за клиентскую часть окно таскаешь, может
тебе и Caption не нужен ? Или он обязателен ??


 
rhf   (2002-08-06 20:05) [2]

а какая разница видно его или нет, проблема-то все равно останеться...........


 
Gonza   (2002-08-06 20:51) [3]


procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
perform(WM_SysCommand, SC_DragMove, 0);
end;

Из FAQ.

Будет и таскаться и события обрабатывать


 
DAO   (2002-08-06 22:10) [4]

Вот тоже кусок кода который обычно я использую! Можешь у каждого контрола на событии MouseDown написать будет ли он таскать форму или нет!

if ssLeft in Shift then
begin
ReleaseCapture;
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
end;


удачи...


 
rhf   (2002-08-06 23:31) [5]

2 Gonza, весьма интересный magic number, с ним намного красивее чем просто с SC_MOVE... :)

всем спасибо.


 
Ученик   (2002-08-07 09:04) [6]

>DAO (06.08.02 22:10)
Прикольное развитие HTLEFT, HTRIGHT, HTBOTTOM, HTTOP, .... :)



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

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

Наверх




Память: 0.45 MB
Время: 0.006 c
3-60539
Aleksandr
2002-07-29 19:27
2002.08.19
ААА! Помогите с перекодировкой!


14-60850
jessis
2002-07-25 09:35
2002.08.19
Где найти BDE


3-60492
Radimir
2002-07-29 12:11
2002.08.19
Господа, помогите с запросом


1-60745
NetroSpace
2002-08-06 17:07
2002.08.19
Как наиболее рационально решить следующую проблему?


3-60523
alexvan
2002-07-30 13:00
2002.08.19
Ошибка при редактировании таблицы.





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