{{notification.text}}

MirGames

23.10.08 04:31
0
Кароче, есть прямоугольник(10,10,50,50)...
Хочу сделать, чтобы окно можно было двигать за этот прямоугольник как за шапку...

Код

case WM_MOUSEMOVE:
{

  if (((int)LOWORD(lparam) >= 10) && (int(wparam) & MK_LBUTTON) && ((int)LOWORD(lparam) <= 50)    &&  ((int)HIWORD(lparam) >= 10) && ((int)HIWORD(lparam) <= 50) & down)
{
    newx = (int)LOWORD(lparam) - oldx;
    newy = (int)HIWORD(lparam) - oldy;
    
    oldx += newx;
    oldy += newy;

    GetWindowRect(hwnd, &rect);
    SetWindowPos(hwnd, NULL, rect.left+newx,rect.top+newy,300,300,NULL);
}
}break;


Что тут не так?
Отредактировано: 23.10.08 15:28
#1
23.10.08 07:22
0
Если не требуется ловить действия мышкой в пределах этого прямоугольника, то проще перехватывать сообщение WM_NC_HITTEST, проверять на попадание в прямоугольник и возвращать HT_CAPTION при попадании и HT_CLIENT в остальных случаях.
Отредактировано: 23.10.08 07:23
#3
23.10.08 14:42
0
Цитата(Vga @ Сегодня, 05:04)
[snapback]88750[/snapback]
Если не требуется ловить действия мышкой в пределах этого прямоугольника,

Треюуется

Ну так мой код дылжен работать по идее. Но при быстром движении мышки она должна срываться) А вот у меня ваще хрен знает чо - окно дрожит просто
Отредактировано: 23.10.08 14:46
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}