AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ButtonText in Taskbar aktualisieren...
Thema durchsuchen
Ansicht
Themen-Optionen

ButtonText in Taskbar aktualisieren...

Ein Thema von himitsu · begonnen am 16. Nov 2007 · letzter Beitrag vom 16. Nov 2007
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

ButtonText in Taskbar aktualisieren...

  Alt 16. Nov 2007, 10:40
Also ich glaub zwar nicht, daß es da etwas gibt, aber fragen schadetja bekanntlich nicht

Und zwar, gibt es eine Möglichkeit (z.B. irgend'nen Befehl per SendMessage an Windows senden) den akgezeigten Text im Button aktualisieren zu lassen?

Wie ich den Text änder weiß ich (SetWindowText, da nonVCL),
allerdings braucht Windows manchmal etwas länger (vorallem wenn die CPU ein bißchen ausgelastet ist) bis dieses auf dem Monitor erscheint.

Der Text wird ja von Windows (Explorer) gezeichnet und da kann ich in meinem Programm nicht viel machen -.-''
OK, man könnte sich jetzt das Handle der Taskbar besorgen und dieser sagen sie soll sich neu zeichen, aber gleich komplett wär ja übertrieben (ich brauch na nur meinen Buttontext).
Und die Priorität des Explorers zu erhöhen ist auch keine "gute" Lösung.


Wie gesagt, wenn es "keine" Lösung gibt, dann egal, aber es wär schon toll, wenn der Text (was manchmal passiert) schon nach weniger als 10 Sekunden zu lesen wäre.
Miniaturansicht angehängter Grafiken
falls_wirklich_keiner_wei__was_ich_meine_118.jpeg  
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: ButtonText in Taskbar aktualisieren...

  Alt 16. Nov 2007, 10:57
Das Problem habe ich auch mit meinem Filespitter. Ich lasse den Fortschritt in Prozent auch in der Titelzeile des Fensters anzeigen und habe auch gerade festgestellt, dass die Aktualisierung der Schaltfläche in der Taskbar etwas zu wünschen übrig lässt. Ich bin aber noch nicht dazu gekommen, mich damit zu befassen. Was mir so spontan einfallen würde, was passiert denn, wenn du nach dem Setzen des Fenstertextes InvalidateRect aufrufst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: ButtonText in Taskbar aktualisieren...

  Alt 16. Nov 2007, 11:05
funktioniert es wenn man per vcl Application.Title setzt? Wenn es da funktioniert würde ich einfach mal im Quelltext schauen wie es in der VCL gelöst ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: ButtonText in Taskbar aktualisieren...

  Alt 16. Nov 2007, 11:25
eben mal nach geschaut... einfach nur ein SetWindowText
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: ButtonText in Taskbar aktualisieren...

  Alt 16. Nov 2007, 11:31
Witzig, "groß" gestört hat es mich auch bei meinem FileSplitter.
(find es etwas "häßlich", da hierdurch der Fortschritt so komisch Sprünge macht, obwohl er gleichmäßig abläuft)

@Bärchen: bei der VCL ist das auch so.


für InvalidateRect müßt ich erstmal rausfinden wo auf der TaskBar mein Button ist,
um dieses an das TaskBar-Fenster zu schicken.

InvalidateRect + mein Fenster(welches ich mir unsichtbar für den TaskBareintrag erstellt hab) bringt nichts,
was nicht verwunderlich ist, da dieses Fenster doch nicht dem TaskBar-Eintrag entspricht.

@cruiser: bei mir zwar SetWindowTextW (da Unicode), welches zwar den neuen Text für das Fenster setzt, aber wann Windows diesen Text auf der TaskBar neu schreibt ist eine andere Sache.
Der Exporer scheint nur in unregeläßigen Aständen nachzusehn ob da was Neues drinsteht und aktualisiert es erst dann.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: ButtonText in Taskbar aktualisieren...

  Alt 16. Nov 2007, 11:43
Hab nichts andres behauptet... aber etwas andres als Windows durch invalidieren zu Zwingen fällt mir auch nich ein
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: ButtonText in Taskbar aktualisieren...

  Alt 16. Nov 2007, 12:28
hmmm, OK, ich weiß zwar imernoch nicht wo mein Button auf dem Fenster ist, aber es klappt auch nicht, wenn ich versuch den kompletten Bildschirm einzubeziehen
Delphi-Quellcode:
H := FindWindow('Shell_TrayWnd', nil);
R.Left := 0;
R.Top := 0;
R.Right := 1024;
R.Bottom := 768;
InvalidateRect(H, nil, True);

// oder
H := FindWindow('Shell_TrayWnd', nil);
UpdateWindow(H);
$2B or not $2B
  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 14:55 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