Announcement

Collapse
No announcement yet.

Was macht man eigentlich mit TMessage.Result?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Was macht man eigentlich mit TMessage.Result?

    Hi,
    ich arbeite mich gerade in das Thema MessageHandler ein. Rumschicken von Messages und eigene Msg's erstellen funktioniert auch einwadnfrei.
    Aber ich habe noch nicht rausgefunden wozu eigentlich der Result-Parameter verwendet werden sollte.

    Kann mir das irgend jemand erklären?

    Danke im Voraus Yves

  • #2
    Das kommt auf die Message un wie du sie behandelst an. Grundsätzlich zeigt er dem Windows-Message-Dispatcher an, ob du die Message selber schon bearbeitest hast, oder ob sich ggf. Windows noch darum kümmern muss. Sie ist also der Rückgabewert der Messagebehandlung, ob alles ok ist.

    Zu bedienen ist er in jedem Fall, wenn du eigene Messages entwirfst und einbindest
    Christian

    Comment


    • #3
      Hi Christian,

      was meinst Du mit Bedienen?
      Ich hab z.B. eine Message WM_SETVALUE die ich an einen Thread schicke, der sich um die Ansteuerung eines externen Gerätes kümmert.

      Im Moment übergebe ich dabei in WParam meine Daten für den Thread (z.B. eine Spannung die mein Gerät erzeugen soll).

      Der Thread wertet in seinem Handler auch nur WParam aus, aber mit Result mach ich überhaupt nix. Auf mich wirkt es als ob´s funktioniert.

      Liegt das daran, dass der Windows Dispachter eine WM_USER+x Message nicht zuordnen kann und deshalb nix macht?

      Für die Zuordnung meiner MessagHandler verwende ich übrigens das Message-Map-Macro.

      Gruss Yve

      Comment


      • #4
        Da sollte Result auf true stehen, da du ja die Botschaft wohl behandelt hast.

        Bedienen meine ich

        Message.Result=true;

        setze
        Christian

        Comment


        • #5
          Hallo Christian,

          kann ich dann über Result z.B. auch Ergebniswerte übergeben?
          Wenn ich mit z.B. SendMessage einen Messwert anfordere. Kann ich dann über Result den Messwert zurückgeben (mit entsprechendem Typ selbstverst.)? Ist das sinnvoll?

          Oder Dient das nur dem Dispatcher? Für ein Bool-Ergebnis scheint mi der Variablentyp recht groß.

          Yve

          Comment


          • #6
            Wenn es deine Messages sind kannst du Werte zurückgeben.

            Bsp. erwartet Windows beim Ereignis WM_EraseBackground einen boolschen Wert. Je nachdem löscht Windows den Hintergrund oder nicht
            Christian

            Comment

            Working...
            X