asware Skrevet 12. desember 2003 Del Skrevet 12. desember 2003 Hei, alle dere smarte programmerere... Lurte på om det er noen som vet om man kan finne ut om feks. Form1 er aktiv eller ikke(om den ligger øverst av alle vinduene man har oppe). Jeg mener ikke at den alltid skal være forran alle andre vinduer, men at jeg feks skal få opp en msgbx når formen blir aktiv/inaktiv... Hvis dere skjønner hva jeg mener... Forklarte jeg det dårlig... Bare si ifra så skal jeg prøve å forklare bedre... Lenke til kommentar
aadnk Skrevet 12. desember 2003 Del Skrevet 12. desember 2003 Hvis jeg har fortsått deg rett vil du ha en kode som forteller brukeren når formen blir aktiv/inaktiv. Dette kan f.eks gjøres slik: Legg inn en Timer i formen som du kaller for Timer1. Sett Interval i timeren til 1. Legg til denne koden i formen: Private Declare Function GetForegroundWindow Lib "user32" () As Long Dim Stat& Private Sub Timer1_Timer() If Stat = 0 Then If GetForegroundWindow <> Me.hWnd Then MsgBox "Lost focus!" Stat = 1 End If Else If GetForegroundWindow = Me.hWnd Then MsgBox "Got focus!" Stat = 0 End If End If End Sub Lenke til kommentar
asware Skrevet 13. desember 2003 Forfatter Del Skrevet 13. desember 2003 Du er genial!!! Det var allurat slik jeg mente...... Takk skal du ha!!!! God jul!! Lenke til kommentar
Alexen Skrevet 19. mars 2004 Del Skrevet 19. mars 2004 En annen metode som nok er mindre ressurskrevende og mer sikker er å subclasse sitt eget vindu og se etter wm_activate eller wm_deactivate. Denne måten er endel vanskeligere å gjennomføre og krever litt kunnskap om windows api. Fins endel eksempler på nettet for å gjøre dette. Planet-source-code.com har sikkert et par. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå