Und nun nochmal zu den Grundlagen, was individuelle/eigene Messages angeht...
Hier erstmal die wichtigesten Bereiche:
WM_USER bis WM_USER+31743 aka $0400 bis $7FFF
WM_APP bis WM_APP+16383 aka $8000 bis $BFFF
$C000 bis $FFFF mit
RegisterWindowMessage
der Rest, also alles unter WM_USER und über $FFFF ist Windows vorbehalten.
Für den kleinen Anwendungsprogrammierer interessiert hier vorallem WM_USER+x und RegisterWindowMessage.
Bei WM_USER und WM_APP müssen die Programmierer aufpassen, daß sie möglichst keine Werte doppelt belegen (zumindestens nicht innerhalb von Klassen/Windows, welche diese Messages empfangen könnten.
Bei RegisterWindowMessage muß man nur aufpassen, daß der Name möglichst eindeutig ist und somit keine doppelten Message-IDs auftreten können.
RegisterWindowMessage ist eigentlich vorwiegend für Nachrichten von Anwendung zu einer anderen Anwendung vorgesehn, aber man kann sie auch innerhalb einer Anwendung nutzen.
Ok, dass erklärt, welche ID-Bereiche zur Verfügung stehen.
Aber wie verwende ich denn die eigenen Messages?
Wenn ich die Vorgehensweise wie oben im Link in der
MSDN beschrieben, in Delphi übertrage, meldet das Programm beim ausführen in der Zeile
uFindReplaceMsg := RegisterWindowMessage(PChar(WM_MY_MESSAGE));
eine Zugriffsverletzung.
Kannst Du bitte ein Stück Beispielcode posten?