29. november 2000 - 17:10Der er
18 kommentarer og 2 løsninger
Docking code ?
Hejsa!
Jeg skal bruge noget kode der kan holde to forms \"sammen\" ligesom WinAMP\'s vinduer gør.
Indtil videre har jeg brugt en timer der checker for positionen på hovedvinduet og flyttet undervinduet hvis hovedevinduet blev flyttet, men det er for langsomt.
Jeg skal bruge noget kode der med det samme hovedvinduet bæliver flyttet, også flytter undervinduet.
Der findes en milliard (+/- 999.999.964) API kald der kan bruges i VB og det skulle ikke undre mig andet end en kombination af et par stykker ville kunne gøre det. Noget med at capture den windows message der bliver sendt når man trækker i vinduet..
driis:> jeg bruger allerede en timer .. og desuden to variabler til hhv. Left, Top for ikke at opdatere hvis der ikke er sket nogen ændring i positionen.
Jeg kan desværre ikke bruge en \"timet\" docking kode..
Problemet med en \'timet\' docking kode er, at .Left og .Top først opdateres, når brugeren slipper vinduet - hvis du lægger mærke til det, hopper det andet vindue straks på plads, når vinduet slippes.
Det du leder efter, er altså et API kald, der kan aflæse positionen realtime - et sådant har jeg godt nok \"ikke lige på lager\" - men måske et eller andet klogt hovede kunne bikse noget sammen?
Hvis du trods alt beslutter dig for at bruge nuværende metode, så lov mig lige, at du sætter timeren til noget mere end 1 - ellers bruger du en masse systemressourcer til ingenting.
driis:> jeg kan tydeligt se forskel på 1ms og 100ms, og Left, Top bliver faktisk opdateret imens du trækker vinduet for mit \"undervindue\" \"følger\" med, men i hakker...
lbs:> ja, det stinker totalt at lave det med en timer .. Mange tak for din WM_WINDOWPOSCHANGED .. jeg vil gemme den og se om jeg kan bruge den til noget senere..
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.