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

Вниз

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

 
Дим   (2003-09-23 14:47) [0]

С помощью этого кода обеспечивается передвижение окна программы при нажатии левой кнопкой мыши в поле "Caption Bar" (как и положено) с _перерисовкой содержимого_ вне зависимости от системных установок. Но, у данного решения есть проблема. Так как WM_NC*** обрабатывается и при нажатии на Main Menu программы, то работа меню становиться не корректной. Выпадание меню удается вызвать только многократными нажатиями кнопки мыши... Как обеспечить нормальную работу меню? Спасибо.

procedure TForm1.WM_NCLBUTTONDOWN(var Message: TMessage);
var Full: boolean;
begin
SystemParametersInfo(SPI_GETDRAGFULLWINDOWS, 0, @Full, SPIF_SENDCHANGE);
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, 1, nil, SPIF_SENDCHANGE);

ReleaseCapture;
Application.MainForm.Perform(WM_SysCommand, $F012, 0);

SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, Cardinal(Full), nil, SPIF_SENDCHANGE);
end;


 
[lamer]Barmaglot   (2003-09-23 15:43) [1]

ЭЭЭ... А зачем? Оно вроде как само умеет таскаться при нажатии на каптион? Или я чего не понимаю?


 
Дим   (2003-09-23 18:12) [2]

Если внимательнее прочитать, то все станет понятно. Мне нужно чтобы "перетаскивалось" все окно сразу, а не рамка. Причем всегда, даже если юзер выключил это в системе.


 
Nikolay M.   (2003-09-23 18:48) [3]

Посмотри в описании WM_NCHITTEST, какие значения возвращает DefWindowProc после обработки этого сообщения.



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

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

Наверх




Память: 0.44 MB
Время: 0.009 c
4-56959
kostik78ua
2003-09-19 21:38
2003.11.17
FindFirstChangeNotification


4-56967
Дим
2003-09-23 14:47
2003.11.17
WM_NC


6-56794
ashka
2003-09-20 16:06
2003.11.17
помогите прощу вас!!!!


1-56676
Raduga
2003-11-04 16:22
2003.11.17
Индикатор процесса копирования файлов


14-56829
Volcano
2003-10-28 08:02
2003.11.17
Профессия





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