Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
7-56936
DeadMeat
2003-09-05 18:47
2003.11.17
Значок в SystemTray


4-56963
V-A-V
2003-09-19 10:23
2003.11.17
Сохранение проиаттаченых файлов из потовых сообщений формата MSG


7-56935
alexm
2003-09-06 11:09
2003.11.17
Как работать с USB портом


14-56823
MBo
2003-10-24 14:50
2003.11.17
Пятница ;^)


14-56878
Kotka
2003-10-26 19:01
2003.11.17
---|Ветка была без названия|---




   Наверх