Einzelnen Beitrag anzeigen

Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

wm_mouseleave fuer trayicon?

  Alt 16. Mai 2007, 12:44
hallo

ich erzeuge mittels shell_notify ein trayicon. nun moechte ich fuer das trayicon einen mouseenter und einen mouseleave event haben. ich habe
den ganzen vormittag aufgrund eines beispieles von luckie rumprobiert und komme nicht weiter. ich habe es jetzt so versucht. mein problem ist, das
wm_mouseleave nicht eintritt. ich habe mit winsight gecheckt ob wm_mouseleave(0x2A3) auch gefeuert wird, und es ist soweit ok. die massage.lparamlo abfrage hatte ich auch schonmal komplett umgekrempelt. ich glaube naehmlich , das ich bei wm_mouseleave auf Message.MSG abfragen muss, denn bei wm_mouseleave sind alle
parameter laut MSDN mit dem wert 0 versehen. nur wie gesagt wm_mouseleave tritt nie ein bzw. der programhalt wird nicht durchgefuert.
hoffe das mir jemand helfen kann. danke fuer eure zeit.

richard


Delphi-Quellcode:
Procedure TForm1.WMTaskBarEvent(Var Message: TMessage);
Var
  Pt : TPoint;
  eventtrack: TTrackMouseEvent;
  result:longbool;
Begin
  Case Message.LParamLo Of
    WM_LBUTTONDown :
      Begin
         if PopupactionbarEx1.MenuActive then PopupactionbarEx1.PopupMenu.CloseMenu;
      End;
    WM_RBUTTONDown :
      Begin
        SetForegroundWindow(Handle);
        PostMessage(Handle, WM_NULL, 0, 0);
        GetCursorPos(Pt);
        if PopupactionbarEx1.menuactive=false then PopupactionbarEx1.Popup(Pt.x, Pt.y-10)
        else PopupactionbarEx1.PopupMenu.BringToFront;
      End;
    WM_LBUTTONDBLCLK:
      Begin
        // nochnix
      End;

    WM_MOUSEmove:
      Begin

       EventTrack.dwFlags := TME_LEAVE;
       EventTrack.hwndTrack := Handle;
       EventTrack.cbSize := SizeOf(EventTrack);
       result:=TrackMouseEvent(EventTrack);

      End;

    WM_Mouseleave:
      Begin
       halt; //nur um zu sehen ob es geht
      End;

  End;
End;
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat