AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TNA Nach RESTORE doch eine Anzeige in der Taskbar -.-
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Don · begonnen am 21. Feb 2006 · letzter Beitrag vom 21. Feb 2006
Antwort Antwort
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, 17: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
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

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

  Alt 21. Feb 2006, 17:27
wie verhinderst du das dein Programm in der Taskbar angezeigt wird? In dem bisher geposteten Source ist nix davon zu finden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Don

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

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

  Alt 21. Feb 2006, 17:33
Sry... hab nur den Teil mit dem RESTORE/MINIMIZE kopiert .... der komplette Quellcode folgt

//EDIT: Habs gefunden *freu*... Das was da unter FormShow steht muss auch in die beiden IFs unter WMSysCommand.

MfG Dragon

Delphi-Quellcode:
implementation

{$R *.dfm}

procedure TForm1.WMSysCommand(var Message: TMessage);
begin
  if(Message.Msg = WM_SYSCOMMAND) and (Message.wParam = SC_RESTORE) then
   Application.Restore;
   inherited;
  if (Message.Msg = WM_SYSCOMMAND) and (Message.wParam = SC_MINIMIZE) then
    Hide
  else
    inherited;
end;



procedure TForm1.FormShow(Sender: TObject);
var Owner : HWnd;
begin
  Owner:=GetWindow(Handle,GW_OWNER);
  ShowWindow(Owner,SW_HIDE);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz