Главная страница
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.019 c
11-56544
Gandalf
2003-02-01 11:54
2003.11.17
KOLIndy?


8-56779
Hatawa
2003-07-20 18:17
2003.11.17
Почему StretchBlt при использовании портит рисунок?


3-56470
Kinder
2003-10-22 15:47
2003.11.17
Как обработать SQL запрос?


3-56525
csr
2003-10-19 15:35
2003.11.17
Удаление дублей в БД!


14-56918
Alex134
2003-10-23 22:26
2003.11.17
ищу хостинг для домашней странички