Avatar billede simon.ulsnes Nybegynder
09. juni 2001 - 19:45 Der er 6 kommentarer og
1 løsning

Flyt kanteløst vindue

Hej eksperter,
Er der nogen der ved hvordan man flytter rundt med et vindue uden kanter ved hjælp af musen? Som for eksempel i programmet Winamp, hvor der ingen \"rigtige\" Windows-kanter er, men hvor man stadig kan flytte vinduet rundt. Hvordan gøre dette?

// Simon
Avatar billede jpk Nybegynder
11. juni 2001 - 09:28 #1
I din MouseMove-handler ser du om venstre museknap er trykket ned (husk lige at undersøge om brugeren har inverteret museknapperne) hvis ja; Se om musen befinder sig der hvor du vil have man skal kunne flytte vinduet. Hvis ja; flyt vinduet efter musens position...
Avatar billede simon.ulsnes Nybegynder
11. juni 2001 - 15:27 #2
Kan du ikke give mig lidt kode? (jeg er nok lidt C/C++-dummie...)

// Simon
Avatar billede jpk Nybegynder
11. juni 2001 - 16:48 #3
Er det ren Win32 eller MFC eller?
Avatar billede simon.ulsnes Nybegynder
11. juni 2001 - 17:13 #4
Det er WTL (ren win32 er ok).
Avatar billede jpk Nybegynder
12. juni 2001 - 10:48 #5
I WM_MOUSE_DOWN handleren sætter du en variabel til TRUE, hvis venstre museknap er trykket ned og musen er der hvor man kan flytte vinduet, fx:

case WM_MOUSE_DOWN:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);

if(wParam == MK_LBUTTON && xPos < EtTal && yPos < AndetTal) //fx
  bMoveWindow = TRUE;
break;

Når museknappen slippes skal vinduet ikke flyttes mere
case WM_MOUSE_UP:
if(wParam == MK_LBUTTON)
  bMoveWindow = FALSE;
break;

I din WM_MOUSEMOVE handler flytter du vinduet, hvis bMoveWindow er TRUE

case WM_MOUSEMOVE:
if(bMoveWindow)
{
  xPos = GET_X_LPARAM(lParam);
  yPos = GET_Y_LPARAM(lParam);
  MoveWindow(hWnd, xPos, yPos, Height, Width, TRUE);
}
Avatar billede simon.ulsnes Nybegynder
12. august 2001 - 10:41 #6
lukker
Avatar billede jpk Nybegynder
13. august 2001 - 08:44 #7
Er du utilfreds med svaret?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester