Avatar billede tdaugaard Nybegynder
24. september 2001 - 13:06 Der er 12 kommentarer og
1 løsning

Gemme hWnd ...

Jeg ved man ikke må gemme DC (Device Context) i en variabel til senere brug da de skifter hele tiden, men hvad med et hWnd (Window Handle) ?
Avatar billede terry Ekspert
24. september 2001 - 13:09 #1
Well in my days of programming Win 3.0 apps. in C I know you could,s o why shouldt it be allowed/possible in VB?
Avatar billede tdaugaard Nybegynder
24. september 2001 - 13:12 #2
Win 3.0 applications ?? *he he* we\'ve moved up a few versions since then ... maybe they changed it ? Buut, I can\'t see why they should or why they would\'ve done so.
Avatar billede terry Ekspert
24. september 2001 - 13:16 #3
Yes, things are much easier now, no VB or Access then, Windows SDK. Great fun!
Avatar billede cellaneous Nybegynder
24. september 2001 - 13:30 #4
hjælpefilen skriver om hwnd:

Note  Because the value of this property can change while a program is running, never store the hWnd value in a variable.
Avatar billede tdaugaard Nybegynder
24. september 2001 - 13:40 #5
Tis .. det var jo ik liiige det jeg ville høre *G* nå .. så må jeg finde ud af noget andet ...
Avatar billede terry Ekspert
24. september 2001 - 13:57 #6
tdaugaard> sorry for misinforming you! I have also looked at help and it does look as though you shouldnt save it in a variable, but even so they show examples where they pass hWnd to other functions (By Value) so what happens if it changes in the mean time?
What is it you are trying to do?
Avatar billede tdaugaard Nybegynder
24. september 2001 - 14:01 #7
terry:> I\'ll live ;o)

I know .. and well DC\'s are also stored from time to time. Like if you want to get a DC from a window by specifying it\'s screen coordinates you use WindowFromPoint() to get its hWnd .. that\'s one stored. And then GetDC(hwnd) to get its DC .. that\'s another one stored ..

As cellanous quotes \"can change while\" .. it CAN ...

Anyway, I\'m trying to make a program that\'ll help one align their floating ICQ users side by side. ICQ uses some f*cked up wierd move routines that doesn\'t align by pixel but a few off.
Avatar billede terry Ekspert
24. september 2001 - 14:06 #8
Sorry cant help you there!
Avatar billede cellaneous Nybegynder
24. september 2001 - 14:06 #9
ja jeg ville altså også bare gemme det i en variabel hvis jeg var dig :-)

faktisk slog jeg det mest op for at se om det var en double eller en long.

du kan jo lave en errorhandler som siger at icq har foretaget en  generel beskyttelsesfejl :-P så mistænker ingen dit program hvis en hwnd skulle ha ændret sig?
Avatar billede tdaugaard Nybegynder
24. september 2001 - 14:09 #10
cellanous:> gør jeg også ;o) Windåse ska sku ik bestemme her *hi hi*
Windows/API arbejder ALTID i Long\'s.

Well ... problemet er jo at jeg flytter de floating \"vinduer\" med SetWindowPos() så hvis den får fat i et forkert hWnd så flytter den måske et forkert vindue *G*

Nå anyway, det er kun til privat b¨rug så det går nok ;o)
Avatar billede tdaugaard Nybegynder
24. september 2001 - 14:11 #11
Avatar billede cellaneous Nybegynder
24. september 2001 - 14:38 #12
det er en featurehvis den flytter andre vinduer

- men tænk på det kan være den får fat i et hwnd på et object (eks. en knap) på et program - så begynder det \"sjove\" først for alvor
Avatar billede tdaugaard Nybegynder
24. september 2001 - 14:39 #13
*G* det jo det ... men indtil videre laver jeg det sådan at hWnd\'s bliver gemt i max. 1 min .. or so ...
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