![]() |
Taskdialog und Hilfe-Knopf
Hallo,
ich spiele gerade mal mit dem Taskdialog herum. Dazu verwende ich SynTaskDialog, das sollte aber keine Rolle spielen. Gerne hätte ich einen Dialog mit zusätzlich einem Hilfe-Knopf, also z.B. Ja, Nein, Hilfe. Wenn ich den Button hinzufüge, dann erscheint der bei mir entweder a) als erstes also dann Hilfe, Ja, Nein oder b) als großer Tasklink wenn ich TDF_USE_COMMAND_LINKS angebe. Beides will ich nicht. Geht das nicht oder doch? Wenn ja wie? |
AW: Taskdialog und Hilfe-Knopf
Stell dir einfach vor wie blöd es für Sehbehinderte wäre, wenn du deine Ampel verkehrtrum aufhängst.
|
AW: Taskdialog und Hilfe-Knopf
Hallo,
Danke für Deine Antwort. Allerdings verstehe ich nicht so recht was Du damit sagen willst. Das existierende Programm, für das ich den Taskdialog verwenden will, hat keine Ampel. (Bei einem anderen Programm habe ich tatsächlich eine Ampel eingebaut, die liegt aber quer). Meinst Du die Reihenfolge die ich verwende wäre verkehrt? Gibt es da Standards? Diese Reihenfolge verwende ich seit gut 25 Jahren so. Meine Anwender wären irritiert wenn die nun anders wäre. Und das gilt sicherlich auch für blinde Anwender, von denen es auch einige gibt. |
AW: Taskdialog und Hilfe-Knopf
|
AW: Taskdialog und Hilfe-Knopf
Manchmal ändern sich auch Standards Designvorgaben.
Und jedes System (Windows, Linux, Mac, ...) hat seine eigenen Vorgaben, die sich aber in großen Teilen dann doch wieder gleichen. z.B. ob der Buttonbereich optisch abgegrenzt ist, ob man flache/unsichtbare oder 3D-Buttons hat oder ob die Dialog-Buttons links, mittig oder rechts sind. Die Frage ist dann, soll dein Programm über jahre immer gleich sein, oder sollen sich die Benutzer wundern, warum dein Programm es anders macht, als wie alle anderen Programme auf ihrem System? Win3.1-Style, WinNT, das bunte XP, das noch buntere Vista oder das platte farblose 8/10. |
AW: Taskdialog und Hilfe-Knopf
Den Standard auf MSDN habe ich gelesen. Von einer Hilfe ist dort allerdings nicht die Rede.
Meine neuen Benutzer dürfen sich gerne wundern, dass es da noch ein Programm gibt, das zu manchen Meldungen und Rückfragen eine Hilfe anbietet. :wink: Diese Hilfe einfach weglassen nur weil es andere auch nicht machen will ich im Moment noch nicht. Mit meiner Frage bin leider noch nicht weiter. Zitat:
|
AW: Taskdialog und Hilfe-Knopf
Warum erstellst Du Dir nicht einfach eine Eigene Dialog Class oder noch einfacher eine Form (mit ShowModal aufrufen)? Dann bist Du befreit von den Standards da es Dein Eigener ist.
|
AW: Taskdialog und Hilfe-Knopf
Ich habe mal ein wenig mit dem TaskDialog rumgespielt, hier ist eine Interessante Detailierte Variante bei rausgekommen die es so macht wie Du wolltest, Ja -> Nein -> Hilfe
Delphi-Quellcode:
with TTaskDialog.Create(self) do
try Title := 'TaskDialog Beispiel Überschrift'; Caption := 'Dialog by KodeZwerg'; Text := 'Hier kommt eine Beschreibung für den Dialog rein.'; CommonButtons := []; with TTaskDialogButtonItem(Buttons.Add) do begin Caption := 'Ja'; CommandLinkHint := 'Beschreibung für "Ja".'; ModalResult := mrYes; end; with TTaskDialogButtonItem(Buttons.Add) do begin Caption := 'Nein'; CommandLinkHint := 'Beschreibung für "Nein".'; ModalResult := mrNo; end; with TTaskDialogButtonItem(Buttons.Add) do begin Caption := 'Hilfe'; CommandLinkHint := 'Beschreibung für "Hilfe".'; ModalResult := MB_HELP; end; Flags := [tfUseCommandLinks, tfAllowDialogCancellation]; ExpandButtonCaption := 'Technische Informationen'; ExpandedText := 'Hier kommt eine erweiterte Beschreibung rein.'; MainIcon := tdiNone; //such Dir ein Icon aus: tdiNone tdiWarning tdiError tdiInformation tdiShield if Execute then case ModalResult of mrYes: begin end; //MachWasMitJa; mrNo: begin end; //MachWasMitNein; MB_HELP: begin end; //MachWasMitHelp; end; finally Free; end; |
AW: Taskdialog und Hilfe-Knopf
Noch ein Beispiel für einen TaskDialog, inkl. Ja -> Nein -> Hilfe Reihenfolge.
Das entspricht dem minimal Windows Standard-Stil.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var TaskDialog: TTaskDialog; Button: TTaskDialogBaseButtonItem; begin TaskDialog := TTaskDialog.Create(Self); TaskDialog.Caption := 'Dialog by KodeZwerg'; TaskDialog.Title := 'TaskDialog Beispiel Überschrift'; TaskDialog.Text := 'Hier kommt eine Beschreibung für den Dialog rein.'; TaskDialog.MainIcon := tdiNone; //tdiNone tdiWarning tdiError tdiInformation tdiShield TaskDialog.CommonButtons := []; Button := TaskDialog.Buttons.Add; Button.Caption := 'Ja'; Button.ModalResult := mrYes; Button := TaskDialog.Buttons.Add; Button.Caption := 'Nein'; Button.ModalResult := mrNo; Button := TaskDialog.Buttons.Add; Button.Caption := 'Hilfe'; Button.ModalResult := MB_HELP; // bis hier ist der Dialog konfiguriert if TaskDialog.Execute then begin case TaskDialog.ModalResult of mrYes: begin end;//MachWasMitJa mrNo: begin end;//MachWasMitNein MB_HELP: begin end;//MachWasMitHelp end; end; Button.Free; TaskDialog.Free; end; |
AW: Taskdialog und Hilfe-Knopf
:shock: Danke. :thumb:
Auf die Idee die Standard-Buttons wie "Ja" auch selber zu machen bin ich nicht gekommen. Werde das mal ausprobieren. Was dann wohl nicht geht wäre Tasklinks und die kleinen Buttons gemischt. Also z.B.
Code:
-> Variante 1
Um jenes zu tun -> Variante 2 Doch lieber das andere [Abbrechen] [Hilfe] Ich habe früher auch viel selbst gemacht bin aber zur Überzeugung gekommen dass es öfters besser ist das vom System vorgegebene zu benutzen. Am meisten habe ich es gemerkt am "Datei öffnen" Dialog. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
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