Announcement

Collapse
No announcement yet.

Kontextmenü aufrufen bei symbol im benachrichtigungsbereich

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

  • Kontextmenü aufrufen bei symbol im benachrichtigungsbereich

    tagchen,

    meine Lupe ist ein symbol im benachrichtigungsbereich.
    jetzt möchte ich, daß wenn man auf das symbol einen klick mit der
    rechten maustaste macht, ein kontextmenü kommt.
    wer weiß wie es geht!!!

    mfg

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hi Markus

    habe ich dir nicht meine TTaskIcon Komponente gemailt, enthalten in dem Tastaturmaus Program ? Schau dort nach in der methode TTaskIcon.WndProc() bei DoMouseUp(). Die Anweisung PopupMenu.Popup() läßt das Popup erscheinen.

    Gruß Hage

    Comment


    • #3
      habe es nicht hinbekommen.
      da hagelt es fehlermeldungen!!!

      mfg

      markus lemck
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        guten tag herr kosch,

        falls sie mal hier zufällig rein schauen.
        in ihrem buch "delphi 2.0 Lösungen auf seite 285 wird eine prozedur "Windowproc" beschrieben,
        die wahrscheinlich das macht was ich brauche: mausklicks auf dem programmicon im benachrichtigungs-
        bereich abfragen. ich kapiere nur die implentation nicht so ganz. darf man die einfach so rein
        schreiben und dann "weiß" die prozedur, daß Sie aufgerufen wird, wenn ich einen mausklick auf das
        symbol mache???? in ihrem beispiel wird ja auch die rechte maustaste abgefragt und wenn ja,
        das programm beendet!!!! in meinem fall müßte halt das popupmenü kommen, aber das ist nach nicht
        das problem!!!

        mfg

        markus lemck
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Hallo Markus,

          die Zusammenhänge von <b>WindowProc</b> werden im Kapitel 3 (genauer 3.4 Message Handling) ausführlich beschrieben. Jedes Fenster gehört einer registrierten <b>Fensterklasse</b> an. Und Win32 registriert nur die Fensterklassen, die eine funktionsfähige <b>Fensterprozedur</b> definieren. Diese Fensterprozedur ist für die Bearbeitunger aller Botschaften zuständig. Wenn jemand mit der Maus in das Fenster klickt, erhält diese Fensterprozedur von Win32 die Botschaft WM_LBUTTONDOWN (etc.). Somit kann mann in dieser Fensterprozedur alle die Botschaften abfangen, die von Windows an dieses Fenster geschickt werden. Das Delphi-Tool <b>WinSight</b> ist dabei eine ideale Hilfe, um einmal nachzuschauen, was Windows alles so für Botschaften verschickt.

          Um zum Beispiel zurückzukommen - WindowProc ist die Fensterprozedur, so dass dort die Windows-Botschaften ausgewertet werden können. Allerdings muss das eigene Programm primär die vereinbarte private Botschaft (im Beispiel: PM_Taskbar) auswerten, denn das Icon in der TBNA reicht den Mausklick an das dazugehörende Programm weiter. Erst dann, wenn diese private Botschaft (PM_Taskbar) ankommt, steht im Botschaftsparameter <b>lParam</b> der Wert der originalen Botschaft. In Deinem Beispiel musst Du die Implementierung von WM_LBUTTONDOWN überschreiben

          Comment

          Working...
          X