Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перемещение окна (WM_LBUTTONUP + WM_LBUTTONDOWN + WM_MOUSEMOVE)

318
24 декабря 2006 года
nof
193 / / 03.04.2006
Народ, в общем такая проблема.
Пишу с нуля приложение (без mfc), есть окно без заголовка, без рамки, без всего =) Надо реализовать его перемещение по экрану при удержании левой кнопки мыши. Я сделал это вот так:

boolean buttonPressed = false;
#define XSIZE 494 // размеры окна
#define YSIZE 547 // -//-

LRESULT WINAPI WindowProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_LBUTTONDOWN:
buttonPressed = true;
break;

case WM_LBUTTONUP:
buttonPressed = false;
break;

case WM_MOUSEMOVE:
if(buttonPressed) SetWindowPos(hWnd,HWND_TOPMOST,LOWORD(lParam),HIWORD(lParam),XSIZE,YSIZE, NULL);

break;
}

}

При перемещении окна, оно начинает раздваиваться и мигать :\ В чём может быть дело?
Заранее спасибо!
292
25 декабря 2006 года
Matush
726 / / 14.01.2004
Здаю систему как правильно пересовывать окно.

 
Код:
case WM_NCHITTEST:
if(мышка в той области окна за которую можно тянуть)
return HTCAPTION;
break;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог