Einzelnen Beitrag anzeigen

mholup

Registriert seit: 20. Nov 2008
4 Beiträge
 
#1

Taskbar: Mausbewegung für Programmicon

  Alt 1. Jan 2009, 17:22
Hallo,

ich habe ein kleines Problem und zwar möchte ich ein Fenster schließen wenn der Mauszeiger das Programmicon nicht mehr in der Taskleiste berührt.
Das Fenster sollte so lange der Mauszeiger auf das Icon zeigt geöffnet bleiben.
Das öffnen des Fensters habe ich mit der Windows Message gelöst und die Abfrage ob der Mauszeiger das Icon verlassen hat funktioniert nicht richtig.

Delphi-Quellcode:
WM_MOUSEMOVE:
      begin
        if SchWin = False then //Window anzeigen

        begin

         direction:=1;
          form3.Hide;
          form3.Left := screen.WorkAreaWidth - form3.Width;
          form3.Top := screen.WorkAreaHeight;
          form3.Show;
          form2.SetFocus;
          for x := 0 to form3.Height do begin
            sleep(1);
            //application.ProcessMessages;

            form3.Top := screen.WorkAreaHeight - x;
          end;
          SchWin := true;
        end
        else
         if Form3.visible = false then
           SchWin:= False
         {else //Code nicht aktiv
        begin
          {hTaskBar := FindWindow('Shell_TrayWnd', nil);
          temp:=TrayIcons.ItemCount;
          Schwin1 := False;
          pt := form2.ScreenToClient(Mouse.CursorPos);
            for i3 := 0 to temp - 1 do
            begin

                  SendMessage(hTaskbar, SB_GETRECT, i3, Integer(@PanelRect));
                  if PtInRect(PanelRect,pt) then
                    SchWin1 := true;
            end;
            if SchWin1 = false then
            begin
              //SchWin:=true;
              //form3.Hide;
            end;
         end; }

      end;
Vielleicht hat einer ja eine Lösung dazu.
Miniaturansicht angehängter Grafiken
frage_zu_maus_114.jpg  
  Mit Zitat antworten Zitat