Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ich will die Sanduhr zurück! (https://www.delphipraxis.net/191626-ich-will-die-sanduhr-zurueck.html)

Valle 5. Feb 2017 13:04

AW: Ich will die Sanduhr zurück!
 
Es sei aber gesagt, dass nahpets' Lösung nicht das erreicht was auf jaenickes Screenshot zu sehen ist. Genau genommen würden die meisten Anwender diesen Application Title heute gar nicht mehr zu Gesicht bekommen. Über Bei Google suchendelphi taskbar progress findet man, wie man eine ProgressBar in die Taskleiste bekommt.

Als zusätzliche Maßnahme finde ich die Idee gut, aber nur einen anderen Cursor und diesen Titel ist nicht mehr zeitgemäß.

Aviator 5. Feb 2017 13:45

AW: Ich will die Sanduhr zurück!
 
Seit XE7 oder XE8 gibt es eine Komponente TTaskBar, die dir die Funktionen zum Anzeigen der Statusbar und der Icons und Funktionsbuttons in der Taskleiste zur Verfügung stellt.

Wenn du diese Version nicht besitzt, dann kannst du dir allerdings durch die Interfaces von Microsoft behelfen und somit den gleichen Effekt erzielen.

ITaskBarList, ITaskBarList2, ITaskBarList3

p80286 5. Feb 2017 15:14

AW: Ich will die Sanduhr zurück!
 
Zitat:

Zitat von Valle (Beitrag 1360846)
Als zusätzliche Maßnahme finde ich die Idee gut, aber nur einen anderen Cursor und diesen Titel ist nicht mehr zeitgemäß.

Das versteh' ich nicht!
Solange der Benutzer gut erkennen kann, das ein Programm etwas arbeitet ("es tut nichts, dann tut es was") ist alles gut. Je nachdem ist ein Cursor oder ein Progressbar natürlich Augenwischerei, aber es ist gut für den Blutdruck des Benutzers.

Gruß
K-H

Valle 5. Feb 2017 18:51

AW: Ich will die Sanduhr zurück!
 
Mh, ich verstehe nicht was es nicht zu verstehen gibt. :stupid:

Ich habe zwei Dinge in diesem Thread gesagt: Den Cursor würde heute keiner mehr sehen und Application.Title sieht auch niemand mehr. Wenn man also nur diese beiden Dinge zur Benachrichtigung verwendet, sehen viele Benutzer keine Indikation für einen laufenden Vorgang mehr.

Man kann natürlich nach "es tut nichts, dann tut es was" arbeiten, das wäre aber nicht der Standard den ich verfolge(n muss). Ich bin zwar wie gesagt in der Webentwicklung tätig, aber dafür sind unsere Kunden (mit Verlaub) besonders strohdoof. Da muss man sich um jede Indikation wirklich Gedanken machen... :?

jaenicke 6. Feb 2017 06:27

AW: Ich will die Sanduhr zurück!
 
Zitat:

Zitat von p80286 (Beitrag 1360858)
Das versteh' ich nicht!
Solange der Benutzer gut erkennen kann, das ein Programm etwas arbeitet ("es tut nichts, dann tut es was") ist alles gut.

Den Application.Title sieht man seit Windows 7 (standardmäßig) nur, wenn man mir der Maus über den Eintrag in der Taskleiste hält. Den Cursor sieht man nur sicher, wenn man die Maus über die Anwendung hält.

Dir einzige immer sichtbare Methode seit Windows 7 ist die Fortschrittsanzeige direkt auf dem Taskbar Eintrag.
(Selbst wenn man die Taskleiste mit der Anzeige der Titel überflutet, was man ja auch ab Windows 7 leider noch einstellen kann, ist das sichtbar.)

Es ist auch die einzige Methode, bei der man ohne zu lesen den Status sieht.

himitsu 6. Feb 2017 10:05

AW: Ich will die Sanduhr zurück!
 
Zitat:

Zitat von jaenicke (Beitrag 1360876)
Den Application.Title sieht man seit Windows 7 (standardmäßig) nur, wenn man mir der Maus über den Eintrag in der Taskleiste hält.

Oder wenn man wie ich, sofort nach der Windowsinstallation diese Titelanzeige aktiviert.

Zitat:

Zitat von jaenicke (Beitrag 1360876)
Den Cursor sieht man nur sicher, wenn man die Maus über die Anwendung hält.

Man kann zwar global im Windows den Cursor ändern, aber das wäre ja nicht nett.

jaenicke 6. Feb 2017 11:08

AW: Ich will die Sanduhr zurück!
 
Zitat:

Zitat von himitsu (Beitrag 1360883)
Oder wenn man wie ich, sofort nach der Windowsinstallation diese Titelanzeige aktiviert.

Die finde ich so überflüssig wie nur irgendetwas, da ich einfach nur arbeiten möchte und nicht auch noch dort Text lesen möchte. Aber so unterschiedlich sind eben die Arbeitsweisen. Als Entwickler sollte man auch alle diese Möglichkeiten unterstützen.

p80286 6. Feb 2017 12:59

AW: Ich will die Sanduhr zurück!
 
Erst einmal vielen Dank für die vielen Anregungen!
Da ich heute noch einmal bemerken durfte wie, unzuverlässig die Taskbar(Darstellung) ist, werde ich dies als Zweitmöglichkeit nutzen. Meine primäre Lösung wäre eine Progressbar oder etwas verwandtes auf dem Mainform.
hier hab ich noch etwas zur Taskbar aufgetan, falls sich jemand dafür interessiert.

Gruß
K-H

nahpets 6. Feb 2017 14:05

AW: Ich will die Sanduhr zurück!
 
Ungetestet, da nur grob abgekupfert:
Delphi-Quellcode:
procedure SetProgressBarOnPanel(stb : TStatusBar; pb : TProgressBar; iPanelNo : Integer);
var
          PanelRect       : TRect;
          ProgressBarStyle : LongInt;
begin
  if pb.Parent <> stb then pb.Parent := stb;
  ProgressBarStyle       := GetWindowLong(pb.Handle, GWL_EXSTYLE);
  ProgressBarStyle       := ProgressBarStyle - WS_EX_STATICEDGE;
  SetWindowLong(pb.Handle, GWL_EXSTYLE, ProgressBarStyle);
  SendMessage(stb.Handle, SB_GETRECT, iPanelNo, Integer(@PanelRect));
  pb.SetBounds(PanelRect.Left  + 1,
               PanelRect.Top   + 1,
               PanelRect.Right - PanelRect.Left - 2,
               PanelRect.Bottom - PanelRect.Top - 2);
end;
Damit müsste man eine Progressbar auf ein Panel einer Statusbar legen können, dabei gehe ich mal davon aus, dass die Statusbar mindestens 1 Panel hat.
Delphi-Quellcode:
type
  Tform1 = class(TForm)
    pb: TProgressBar;
    stb: TStatusBar;
...
// Im FormCreate oder so:
  SetProgressBarOnPanel(stb,pb,0);


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz