![]() |
Message-Name in Windows-Message-Code zurückwandeln
Moin,
ich habe div. Messages (z.B. WM_MOUSEMOVE, WM_LBUTTONDOWN, WM_LBUTTONUP usw.) als String vorliegen, jetzt möchte ich diese jedoch wieder als original Konstante/Integer, so wie in der Unit Messsages definiert, zurückhaben? Muss ich das alles in einer großen if-then-Schleife durch gehen, z.B. wie im folgenden Code:
Delphi-Quellcode:
oder gibt es da auch was eleganteres? z.B.
if s='WM_MOUSEMOVE' then msg := WMMOUSEMOVE;
if s='WM_LBUTTONDOWN' then msg := WM_LBUTTONDOWN; if s='WM_LBUTTONUP' then msg := WM_LBUTTONUP;
Delphi-Quellcode:
[edit]
msg := stringToMessage(s); // <--- diese Funktion gibt es leider nicht :-(
Ich hab mal den Titel geändert, damit er besser zum Post im ![]() [/edit] |
Re: Messages von String wieder zurück wandeln
1. Es gibt keine If-Schleifen!
2. Wenn er einmal in ein If reingegangen ist und den String umgewandelt hat, muss er dann wirklich noch alle anderen If Abfragen durchgehen? Schliessen die sich nicht irgendwie gegenseitig aus? 3. Du könntest eine Tabelle anlegen mit dem Ordinalwert und der String-Entsprechung. |
Re: Messages von String wieder zurück wandeln
Zu 2. von Muetze. Es gibt "else". Rest : jetzt nicht mehr. :-D
|
Re: Messages von String wieder zurück wandeln
Zitat:
|
Re: Messages von String wieder zurück wandeln
Zitat:
Zitat:
Zitat:
|
Re: Messages von String wieder zurück wandeln
Zitat:
Zitat:
|
Re: Messages von String wieder zurück wandeln
Zitat:
Zitat:
Muss ich mir diese Tabelle mit den Ordinalwerten jetzt selbst bauen oder gibt es da eine Funktion (das war ja eigentlich meine Frage)? |
Re: Messages von String wieder zurück wandeln
Zitat:
|
Re: Messages von String wieder zurück wandeln
Eventuell geht sogar selbst bauen nicht. Ich bin fast sicher das sich hinter einigen Konstanten der gleiche Ordinalwert verbirgt. Das heißt du kannst anhand des Ordinalwertes (der Message) nicht eindeutig auf den String schließen.
|
Re: Messages von String wieder zurück wandeln
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz