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

Вниз

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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
14-56820
Marser
2003-10-25 13:51
2003.11.17
AVR 90S2313


3-56515
ss300
2003-10-27 17:21
2003.11.17
DBGrid


14-56910
McSimm
2003-10-24 20:09
2003.11.17
---|Ветка была без названия|---


14-56869
sapsi
2003-10-24 09:18
2003.11.17
ПРосмотр HTML страниц


1-56670
TUser
2003-11-05 10:15
2003.11.17
FontImage