AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Taskdialog und Hilfe-Knopf

Ein Thema von freimatz · begonnen am 9. Mai 2018 · letzter Beitrag vom 1. Dez 2018
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Taskdialog und Hilfe-Knopf

  Alt 11. Mai 2018, 14:49
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.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Taskdialog und Hilfe-Knopf

  Alt 11. Mai 2018, 16:01
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;
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Taskdialog und Hilfe-Knopf

  Alt 11. Mai 2018, 16:21
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;
Gruß vom KodeZwerg

Geändert von KodeZwerg (11. Mai 2018 um 16:58 Uhr) Grund: Code optimiert
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Taskdialog und Hilfe-Knopf

  Alt 11. Mai 2018, 16:54
Danke.
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.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Taskdialog und Hilfe-Knopf

  Alt 11. Mai 2018, 17:10
Ich verstehe gerade nicht was Du meinst.
Probiere mal beide Varianten durch um erstmal zu Bestimmen ob es überhaupt in die richtige Richtung geht.
Meine Beispiele sind sehr einfach gehalten wie man sieht.
Es gibt sicherlich noch mehr Optionen die man setzen kann, einfach mal in der Hilfe bzw im Quelltext nachschauen.
Man kann Hyperlinks einfügen und so was...
Ausgewertet wird ModalResult, die Definition kann man der Button-Zuweisung entnehmen.
Man kann dutzende Dialoge vorbereiten und per Code abrufen, das sollte kein Problem darstellen.
Wenn Dir eine der Varianten gefällt kann man eine Funktion daraus basteln damit du auf das Result reagieren kannst.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Taskdialog und Hilfe-Knopf

  Alt 11. Mai 2018, 21:40
Was dann wohl nicht geht wäre Tasklinks und die kleinen Buttons gemischt.
Zeig mir Code wie es jetzt gerade funktioniert und ich adaptiere ihn in mein Beispiel rein. Bis jetzt sah ich nur Fragen aber keinen Code.
Ps: Mit FORMS hab ich keine Ahnung, sag ich gleich vorweg, ich kann es nur per runtime hinbekommen. Wenn Du es per OI haben willst bräuchte ich ein einigermassen Lauffähiges Beispiel Projekt von Dir und ich probiere ob ich helfen kann.
...bin aber zur Überzeugung gekommen dass es öfters besser ist das vom System vorgegebene zu benutzen.
Dann musst Du mit dem vorgegebenen Leben und es nicht ändern wollen
Wobei ich eher Individuelle mag selbst wenn es nur Standard ist. Der Anwender sieht ja nicht wie Du den Dialog aufrufst
In meinen Beispielen fehlt unter anderem komplett die Fehlerkontrolle.
Sie zeigen lediglich das es möglich ist und wie man es anstellt. Es gibt bestimmt noch mehr Varianten die auf ähnliches hinauslaufen.
Am meisten habe ich es gemerkt am "Datei öffnen" Dialog.
Da gebe ich Dir Recht. Wobei man per runtime auch ein mächtiges "Datei öffnen" hinbekommt hehe
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Taskdialog und Hilfe-Knopf

  Alt 1. Dez 2018, 15:52
Hallöchen,
recht spät, aber ich wollte den Beitrag nicht so enden lassen. Ich habe nun heute mein Programm auf Taskdialoge umgestellt. Habs gelöst mit dem Standard-TTaskDialog von Delphi. Den Hilfe-Knopf habe ich nun mit einem Link im Footer ersetzt.
Danke für alle Hilfe.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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