AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TNA - Problem

Offene Frage von "Dbof"
Ein Thema von Dbof · begonnen am 26. Jun 2008 · letzter Beitrag vom 27. Jun 2008
Antwort Antwort
Dbof

Registriert seit: 20. Mär 2008
61 Beiträge
 
#1

TNA - Problem

  Alt 26. Jun 2008, 21:48
Hallo und sorry für den häßlichen Titel, aber ich kann das Problem selbst nicht beschreiben...
ich habe folgendes Programm, in dem ich mit Button1 die TNA in mein Form ziehe und dabei auch die Taskleiste verstecke. Mit Button2 mache ich beides rückgängig.

Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Begin
   TNAHandle := GetHandle;
   TBHandle := FindWindow('Shell_TrayWnd', Nil);
   OriginTB := Windows.GetParent(TBHandle);
   OriginParent := Windows.GetParent(TNAHandle);
   Windows.SetParent(TNAHandle, Self.Handle);
   HideTaskBar(true);
End;

Procedure TForm1.Button2Click(Sender: TObject);
Begin
   Windows.SetParent(TNAHandle, OriginParent);
   HideTaskBar(false);
End;

Function TForm1.GetHandle: HWND;
Begin
   Result := FindWindow('Shell_TrayWnd', Nil);
   Result := FindWindowEx(Result, 0, 'TrayNotifyWnd', Nil);
   Result := FindWindowEx(Result, 0, 'Syspager', Nil);
   Result := FindWindowEx(Result, 0, 'ToolbarWindow32', 'Infobereich');
End;

procedure TForm1.HideTaskBar(State : Boolean);
Begin
  If State = true then
      ShowWindow(TBHandle, SW_Hide)
  Else If State = false then
      ShowWindow(TBHandle, SW_Show);
  end;
end.
Nun das Problem: Ich klicke 2-mal den Button1. Die Taskleiste bleibt versteckt, die TNA wird im Form angezeigt. Bei Klick auf Button2 wird die Taskleiste wieder angezeigt, doch die TNA bleibt in meiner Form...und bewegt sich von dort auch nicht fort, bis ich explorer.exe beende und neustarte.

Ist das Problem, dass ich SetParent nicht 2-mal aufrufen kann? Kann man das Problem leichter lösen als eine Art Afrage zu machen, ob die TNA enthalten ist oder nicht?


Danke im Voraus!



P.S. Bin völliger Anfänger, habe den Funktionschnipsel GetHandle im Forum gefunden. Die Bezeichnungen Button1 usw. werden im HauptProgramm nicht enthalten sein, sondern stark verändert...
  Mit Zitat antworten Zitat
Dbof

Registriert seit: 20. Mär 2008
61 Beiträge
 
#2

Re: TNA - Problem

  Alt 27. Jun 2008, 21:07
Vielleicht war die Frag unverständlich , also nochmal:

Wieso bleibt die TNA beim 2-maligen klicken auf Button1 auf meiner Form fixiert
  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 12:26 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