Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Taskdialog und Hilfe-Knopf (https://www.delphipraxis.net/196305-taskdialog-und-hilfe-knopf.html)

freimatz 9. Mai 2018 20:45

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?

himitsu 10. Mai 2018 01:23

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.

freimatz 11. Mai 2018 07:55

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.

Sherlock 11. Mai 2018 09:42

AW: Taskdialog und Hilfe-Knopf
 
Ja, es gibt Standards.
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Sherlock

himitsu 11. Mai 2018 11:00

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.

freimatz 11. Mai 2018 12:46

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:

Zitat von freimatz (Beitrag 1401749)
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?


KodeZwerg 11. Mai 2018 14:49

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.

KodeZwerg 11. Mai 2018 16:01

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;

KodeZwerg 11. Mai 2018 16:21

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;

freimatz 11. Mai 2018 16:54

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 10:15 Uhr.
Seite 1 von 2  1 2      

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