Autor |
Beitrag |
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 11.05.07 11:37
Moin!
Gibt´s da eine Systemfunktion oder sowas, die mir aus dem Code einer Windows-Nachricht das Mnemonic macht? Z.B. ist WM_CLOSE = $10, wie komme ich quick von $10 auf den String 'WM_CLOSE' ohne die Unit Messages "umzubauen"?
Danke schonmal für sachdienliche Hinweise.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Dezipaitor
Beiträge: 220
|
Verfasst: Fr 11.05.07 12:01
Soweit ich weiß garnicht.
Nicht der Namen ist die Nachricht, sondern der Wert. Der Name existiert nur, damit man als Programmierer nicht die ganzen Nummern und ihren Sinn sich merken muss.
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Fr 11.05.07 12:45
Moin!
Dezipaitor hat folgendes geschrieben: | Nicht der Namen ist die Nachricht, sondern der Wert. |
Danke für den sicher gut gemeinten Hinweis, aber das war mir bereits bekannt.
Ich sag mal "Debugging" als Stichwort dazu.
//EDIT: ganz konkret interessiert mich die Nachricht $0118 kann im MSDN keinen Ansatz finden...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
SAiBOT
Beiträge: 323
Erhaltene Danke: 5
XP SP2; 7
D7; D2009
|
Verfasst: Fr 18.05.07 15:46
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| case MSG of $0000: Result := 'WM_NULL'; $0002: Result := 'WM_CREATE'; $0003: Result := 'WM_DESTROY'; $0004: Result := 'WM_MOVE '; $0005: Result := 'WM_SIZE'; $0006: Result := 'WM_ACTIVATE'; $0007: Result := 'WM_SETFOCUS'; $0008: Result := 'WM_KILLFOCUS'; |
anders gehts nicht.... für die ganzen Messages siehe mal in die "Messages.pas".
|
|
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 18.05.07 16:06
Die ganzen Nachrichten sind in der WinUser.h definiert, die es im Microsoft Platform-SDK oder zu jedem guten C-Compiler hinterhergeschmissen gibt ^^
Dort einfach alle Zeilen filtern, die mit #define WM_ anfangen und mit einer vierstelligen Hex-Zahl enden.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Tino
Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Fr 18.05.07 16:16
Assarbad hatte mal vor lange Zeit ein Programm dafür geschrieben:
assarbad.net/stuff/windowmessages.zip
Einloggen, um Attachments anzusehen!
|
|
Assarbad
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 19.05.07 00:58
Jupp, dank des enthaltenen Perlskripts, kann das auch jeder selber aktualisieren
... was im Übrigen auch genutzt werden kann um das Perlskript Delphicode ausgeben zu lassen.
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: So 20.05.07 23:29
Moin!
Danke, das tut´s erstmal.
Allerdings habe ich trotzdem leider noch keine Erläuterung für die Message $0118 gefunden...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Lannes
Beiträge: 2352
Erhaltene Danke: 4
Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
|
Verfasst: Mo 21.05.07 08:26
Hallo,
$0118 = WM_SYSTIMER, eine undokumentierte Message.
WM_SYSTIMER MICROSOFT
entwickler-forum.de/...dex.php/t-37116.html
Hab es gerade mal getestet, wird auch von WinSight erkannt wenn man eine Form mit einem Edit erstellt und diese mit ShowModal aufruft. Steuert wohl das Blinken des Cursors.
_________________ MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 21.05.07 08:58
Moin!
Danke! Super, Lannes!
Ich habe die Ergebnisse mal in diesem FAQ-Beitrag zusammengefasst.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|