Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.064 Beiträge
 
Delphi XE2 Professional
 
#12

AW: Rechtsklick in minimierter Caption abfangen

  Alt 28. Mai 2021, 00:34
Zitat:
PostMessage(Win,$7FFF,0,0);
$7FFF: Nein!

A) Man verwendet niemals nichtssagende Werte (MagicValue), vor allem nicht, wenn es entsprechende Konstanten gibt. (WM_USER+X)
B) Außerdem liegt dieser Wert auch noch im falschen Bereich. (MSDN-Library durchsuchenWM_APP+X)
C) Man sollte muß für sowas prozessübergreifendes MSDN-Library durchsuchenRegisterWindowMessage verwenden.
$7FFF: Doch!

Aus "About Messages and Message Queues" Kapitel "Application-Defined Messages"

Zitat:
Values in the range 0x0400 (the value of WM_USER) through 0x7FFF are available for message identifiers for private window classes.
Aber vielleicht hab ich das falsch verstanden.
Wie auch immer, so wie ich es gemacht habe funktioniert es.

Wo siehst du den Unterschied zwischen $7FFF und WM_USER+X wo bei letzterem das X auch ein willkürlich festgelegter Wert ist.

In dem Musik-Programm, das der Empfänger der Message ist, sind diverse Users-Messages definiert

Code:
   UM_GetInfo=WM_User;
   UM_SettingsChanged=UM_GetInfo+1;
   UM_OverWrite=UM_SettingsChanged+1;
   UM_RichEditVScroll=UM_OverWrite+1;
   UM_DurationCount=UM_RichEditVScroll+1;
   UM_DurationDone=UM_DurationCount+1;
   UM_RepaintListBoxes=UM_DurationDone+1;
   UM_SetInfo=UM_RepaintListBoxes+1;
   ...
   UM_ToggleMusic=$7FFF;
und, wie du sehen kannst, ist die letzte "UM_ToggleMusic=$7FFF".
Was für einen Sinn macht es, diese auch in meinem kleinen Progrämmchen mit einem Namen zu versehen?
Ich würde das einsehen wenn wie z.B. in der Vcl diese Konstante "Global" verfügbar wäre (Wobei das wahrscheinlich irgendwie machbar wäre).
Da das hier aber nicht der Fall ist, bringt es aus meiner Sicht keinen Vorteil, auch in dem sendenden Programm die Konstante "UM_ToggleMusic=$7FFF" zu definieren.

Trotzdem: Danke für den Hinweis.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat