AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Tray Icon von fremden Programm verschwinden lassen!
Thema durchsuchen
Ansicht
Themen-Optionen

Tray Icon von fremden Programm verschwinden lassen!

Ein Thema von Kidix · begonnen am 8. Jan 2006 · letzter Beitrag vom 23. Mär 2008
Antwort Antwort
Seite 5 von 5   « Erste     345   
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#41

Re: Tray Icon von fremden Programm verschwinden lassen!

  Alt 4. Mär 2008, 08:08
zu 1.
Funktioniert bei mir unter WinXP das Icon wird unsichtbar. Damit die Toolbar um die Breite des versteckten Buttons kleiner wird musste ich allerdings erst auf den Button mit den Pfeil neben der Toolbar klicken.

Edit: Wenn man die Breite des übergeordneten Fensters um die Breite eines Toolbar- Buttons reduziert, dann kommt man auch ohne eine Klick auf den Button mit den Pfeil aus, habe es ausprobiert.


zu 2. :
Das du vor Sendmessage die Werte von TTBButtonInfo in den Prozess der Toolbar schreiben musst ist dir doch sicherlich klar?
Auch kannst du als letzten Prameter nicht einfach die Adresse einer Variablen aus deinem eigenen Prozess nehmen, das sieht bei dem Code von dir zumindest so aus.
Welchen Rückgabewert hat denn da Sendmessage?

Edit: TBSTATE_INDETERMINATE hatte keinen weiteren Vorteil gebracht.
2. funktioniert genauso wie 1. wenn man den Code entsprechend anpasst, habe es jetzt ausprobiert.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#42

Re: Tray Icon von fremden Programm verschwinden lassen!

  Alt 9. Mär 2008, 13:07
Zitat von bitsetter:
Edit: TBSTATE_INDETERMINATE hatte keinen weiteren Vorteil gebracht.
2. funktioniert genauso wie 1. wenn man den Code entsprechend anpasst, habe es jetzt ausprobiert.
Könntest du mal die angepasste Version posten?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#43

Re: Tray Icon von fremden Programm verschwinden lassen!

  Alt 9. Mär 2008, 20:50
Zitat von toms:
1. + 2. scheinen keine Wirkung zu haben:
Habe gerade festgestellt wenn das Icon ganz links ist, dass das Verstecken des Button tatsächlich fehlschlägt. Kann sein, dass es unter anderen deshalb bei dir nicht funktionierte, ansonsten geht es aber. Eventuell kann man dann aber kurz vor dem Verstecken mit TB_MOVEBUTTON arbeiten.
Angehängte Dateien
Dateityp: zip tna_hide_icon_525.zip (213,1 KB, 14x aufgerufen)
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#44

Re: Tray Icon von fremden Programm verschwinden lassen!

  Alt 10. Mär 2008, 18:10
Zitat von bitsetter:
Zitat von toms:
1. + 2. scheinen keine Wirkung zu haben:
Habe gerade festgestellt wenn das Icon ganz links ist, dass das Verstecken des Button tatsächlich fehlschlägt. Kann sein, dass es unter anderen deshalb bei dir nicht funktionierte, ansonsten geht es aber.
Ach so, darum hat es nicht funktioniert, weil mein Testicon immer ganz links war...

Für was genau sollte dieser Code gut sein?
Die TNA erscheint dann ganz links oben (meine Taskleiste ist links aligned)

Delphi-Quellcode:
if GetWindowRect(hTrayNotify, r) then
 if Windows.GetClientRect(hTrayNotify, r2) then
   if SetWindowPos(hTrayNotify, HWND_TOP,
     r.Left+ 16, r2.Top, r2.Right- 16, r2.Bottom,
     _NOZORDER or SWP_NOACTIVATE or SWP_NOCOPYBITS) then
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#45

Re: Tray Icon von fremden Programm verschwinden lassen!

  Alt 10. Mär 2008, 18:39
Zitat von bitsetter:
Funktioniert bei mir unter WinXP das Icon wird unsichtbar. Damit die Toolbar um die Breite des versteckten Buttons kleiner wird musste ich allerdings erst auf den Button mit den Pfeil neben der Toolbar klicken.
Dafür, soviel Arbeit habe ich mir dann aber doch nicht gemacht, den Code bei jeder möglichen Position der Taskleiste auszuprobieren.
Meine Taskleiste sitzt ganz normal unten, dann geht es. Den Teil des Codes brauchst du ja nur auskommentieren, dann siehst du was ich meine.

Nachdem man das Icon wieder sichtbar gemacht hatte, musste ich die Breite des übergeordneten Fensters auch wieder entsprechend anpassen, ansonsten kam das Icon nicht zum Vorschein.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#46

Re: Tray Icon von fremden Programm verschwinden lassen!

  Alt 23. Mär 2008, 20:30
Zitat von bitsetter:
Zitat von toms:
1. + 2. scheinen keine Wirkung zu haben:
Habe gerade festgestellt wenn das Icon ganz links ist, dass das Verstecken des Button tatsächlich fehlschlägt. Kann sein, dass es unter anderen deshalb bei dir nicht funktionierte, ansonsten geht es aber. Eventuell kann man dann aber kurz vor dem Verstecken mit TB_MOVEBUTTON arbeiten.
Das erste sichtbare Icon könnte den Index x > 0 haben.
Dann wird beim Versuch das Icon mit Index 0 zu verstecken eben nicht das erste sichtbare Icon versteckt.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


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 09:20 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