Einzelnen Beitrag anzeigen

Don

Registriert seit: 21. Feb 2006
2 Beiträge
 
Delphi 2005 Personal
 
#1

TNA Nach RESTORE doch eine Anzeige in der Taskbar -.-

  Alt 21. Feb 2006, 18:24
Hiho...

Ich habe folgendes Problem mit meinem Programm:

Das Programm soll sobald es gestartet wird nur in der TNA angezeigt werden
und von dort aus mittels PopUpMenu oder Linksklick auf das Icon auch wiederherzustellen sein.
Das klappt auch erstmal ganz gut, aber wenn man das Programm minimiert hat und es dann wiederherstellt,
erscheint es auf einmal doch in der Taskbar.

Habe ich was vergessen oder geht das nicht anders?

Hier der (leider - bin halt noch in den Anfängen) teilweise aus verschiedenen Hilfe-Threads zusammengesuchte Quellcode:
Delphi-Quellcode:
procedure TForm1.TaskbarEvent(var Msg: TMessage);
var Point : TPoint;
    h:HWnd;
begin

  { Die WM_TaskbarEvent-Message "Msg" gibt in Msg.LParam
    das genaue Ereignis an. Msg.LParam kann folgende Werte für
    Mausereignisse annehmen:

    WM_MouseMove
    WM_LButtonDown
    WM_LButtonUp
    WM_LButtonDblClk
    WM_RButtonDown
    WM_RButtonUp
    WM_RButtonDblClk }


  { Eventhandler-Beispiele von Robert Fischer: }
  case Msg.LParam of
    WM_LBUTTONUP:
      BEGIN
        //Mach etwas nach einem Linksklick...
         h:=handle;
         postmessage(h,WM_SYSCOMMAND,SC_RESTORE,1);
      END;
    WM_RBUTTONUP:
      begin
// Rechtsklick
        // Diese Zeile ist wichtig, damit das PopupMenu korrekt
        // wieder geschlossen wird:
        SetForegroundWindow(Handle);
        // PopupMenu anzeigen:
        GetCursorPos(Point);
        PopupMenu1.Popup(Point.X, Point.Y);
        //oder ohne Variable Point:
        //PopupMenu1.Popup(Mouse.CursorPos.x, Mouse.CursorPos.y);
      end;
  end;
end;

//...

procedure TForm1.Maximieren1Click(Sender: TObject);
var
  h:HWnd;
begin
  h:=handle;
  postmessage(h,WM_SYSCOMMAND,SC_RESTORE,0);
end;

procedure TForm1.Minimieren1Click(Sender: TObject);
var
  h:HWnd;
begin
  h:=handle;
  postmessage(h,WM_SYSCOMMAND,SC_MINIMIZE,0);
end;
MfG Don
  Mit Zitat antworten Zitat