Toon posts:

[vb6] Peekmessage Message als long?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik wil peekmessage gebruiken, je krijgt dus een message terug in een MSG struct.

code:
1
2
3
4
5
6
7
8
Public Type MSG
     hwnd As Long
     message As Long
     wParam As Long
     lParam As Long
     time As Long
     pt As POINTAPI
End Type


Ik wil weten of de message WM_ACTIVATE is geweest, maar VB6 kent dit niet. Alle voorbeelden op internet gebruiken de WM - naam, maar ik krijg dus een long in mijn structure.

Is er ergens een lijst ofzo waar staat welke long bij welke naam hoort zodat je bv. een const kunt declareren? Of doe ik het dan helemaal verkeerd...

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01-05 21:33

.oisyn

Moderator Devschuur®

Demotivational Speaker

Is daar geen typelibrary voor? Anders zou je in de winuser.h file kunnen kijken die bij de platform SDK zit (is een C include file). Hij staat ook wel online: http://www.woodmann.com/fravia/sources/WINUSER.H

Gewoon zoeken naar de WM_ message van je keuze, en dan staat er in die file een regel als
code:
1
#define WM_NOTIFY                       0x004E


Die 0x004e is de waarde die je moet hebben voor WM_NOTIFY, maar is in hexadecimaal formaat dus om dat in VB werkend te krijgen moet je die 0x vervangen door &H

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 30-04 15:47

mulder

ik spuug op het trottoir

Heeft jou Visual Studio geen API Viewer? Daar staan dergelijke declaraties in.

oogjes open, snaveltjes dicht


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
[google=const WM_ACTIVATE]
Don Facundo schreef op dinsdag 23 augustus 2005 @ 16:26:
Heeft jou Visual Studio geen API Viewer? Daar staan dergelijke declaraties in.
Klopt, maar die is nogal omslachting

[ Voor 150% gewijzigd door RobIII op 23-08-2005 16:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Verwijderd schreef op dinsdag 23 augustus 2005 @ 16:18:
Ik wil weten of de message WM_ACTIVATE is geweest, maar VB6 kent dit niet. Alle voorbeelden op internet gebruiken de WM - naam, maar ik krijg dus een long in mijn structure.
Dat is toch gewoon de standaard Activate-event van een VB6-form?
Verwijderd schreef op dinsdag 23 augustus 2005 @ 16:18:
Is er ergens een lijst ofzo waar staat welke long bij welke naam hoort zodat je bv. een const kunt declareren?
De API-viewer is voor dit soort dingen uitstekend en helemaal niet onhandig.
Verwijderd schreef op dinsdag 23 augustus 2005 @ 16:18:
Of doe ik het dan helemaal verkeerd...
Waarschijnlijk.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op dinsdag 23 augustus 2005 @ 23:05:
De API-viewer is voor dit soort dingen uitstekend en helemaal niet onhandig.
Uitstekend? Mwo. Handig? Nee.
Let op:
[list=1]
• Klik Start
• Klik Programma's
• Klik Development
• Klik Microsoft Visual Studio 6.0
• Klik Microsoft Visual Studio 6.0 Tools
• Klik API Text viewer
• Klik Menu File
• Klik Load Text File
• Klik Win32 API
• Klik Openen (of dubbelklik in stap 9)
• Klik Dropdown -> Constants
• Type "WM_...."
• Klik de declare die je zocht
• Klik Add
• Klik Copy
• Terug naar VB
• Paste

(Stap 1-5 kun je inderdaad "afkorten" met een shortcut toetscombo of door 'm in VB aan je toolbar toe te voegen*)

Nu mijn methode:
[list=1]
• Start je browser (Quicklaunch anyone?)
• Ga naar Google (als het al niet je default homepage is, bij mij wel)
• Type "Const WM_..." (wel de volledige naam gebruiken hier...)
• Enter
• Copy uit het eerste result (99 van de 100 keer raak)
• Terug naar VB
• Paste

Daarbij is de API Viewer vaak niet erg compleet, bij Google is je hit-kans stukken groter bij de wat recentere constants en declares.

* Via het menu Add-Ins -> Add-In manager kun je de API text viewer aan zetten (Load on startup en loaded aanvinken)

[ Voor 10% gewijzigd door RobIII op 23-08-2005 23:45 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1