AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Dialogboxen

Ein Thema von Willie1 · begonnen am 28. Feb 2021 · letzter Beitrag vom 2. Mär 2021
Antwort Antwort
Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Windows Dialogboxen

  Alt 28. Feb 2021, 18:32
Moin,
ich habe mir natürlich zunächst das Tutorium von Matze angesehen.
Aber 2 Fragen bleiben:
  MessageDlg('Programm beenden?', mtConfirmation, [mbYes,mbNO],0, mbNO);//MB_DEFBUTTON2); Ich will den Focus auf die zweite Schaltfläche. So geht es. Matze nennt eine andere Konstante, die Delphi auch kennt aber nicht MessageDlg.
Delphi-Quellcode:
  Fm := Vcl.Dialogs.CreateMessageDialog('Programm beenden?',mtConfirmation,[mbYes,mbNo]);
  try
    Fm.Color := clMoneyGreen;
    Fm.Font.Style := [fsBold];
    Fm.ShowModal;
  finally
    Fm.Free;
  end;
e
Damit lässt sich das Aussehen der Box verändern. Hier taucht aber wieder das Fragezeichen auf, das Microsoft verbannt hat. Soll das so sein oder ist das ein Fehler? Ich finde Fragestellung mit Ja/Nein besser als OK/Abbrechen. Entspricht mehr der Alltags-Gewohnheit. Auch das Fragezeichen maßvoll eingesetzt macht doch Sinn. Was denkt ihr?
Willie.

1. Frage ist beantwortet. Die Konstante von Matze gehört zu Application.MessageBox. Das Tutorium von Matze ist sehr alt, da gab es die Variante sicher noch nicht!
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.

Geändert von Willie1 (28. Feb 2021 um 18:46 Uhr) Grund: Selbst gefunden!
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Windows Dialogboxen

  Alt 28. Feb 2021, 21:38
Ist jetzt Deine Frage wie man einen Default-Button bestimmt?

Wenn Du mit Fragezeichen das mtConfirmation meinst,
mtCustom nutzen und selbst ein Image reinpacken.
Gruß vom KodeZwerg

Geändert von KodeZwerg (28. Feb 2021 um 21:42 Uhr)
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
436 Beiträge
 
Delphi 12 Athens
 
#3

AW: Windows Dialogboxen

  Alt 28. Feb 2021, 21:40
Ich benutze auch gerne Dialoge mit Ja/Nein
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Windows Dialogboxen

  Alt 28. Feb 2021, 22:30
Sorry, ich muss meine Aussage revidieren mit mtCustom.

Habs gerade in Delphi nachgestellt, samt default knopf.
Delphi-Quellcode:
Var
  Dlg: TForm;
  I: Integer;
Begin
  Dlg := CreateMessageDialog('text', mtInformation, mbYesNo, mbNo); // mbNo ist nun default
  With Dlg do
    Begin
      For i := 0 to ComponentCount - 1 do
        If Components[i] is TImage then
          TImage(Components[i]).Picture.Icon := Self.Icon; // nun ist anstelle fragezeichen dein application icon da
    End;
// der rest sollte klar sein oder?
Und ja, schutzblöcke fehlen, ich tipp des alles grad per handy rein, sorry.
Gruß vom KodeZwerg

Geändert von KodeZwerg (28. Feb 2021 um 22:36 Uhr)
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

AW: Windows Dialogboxen

  Alt 1. Mär 2021, 19:49
Halle KodeZwerg, danke für deine Info vom Handy!!!

Das kommt davon, wenn man eine ungenaue Frage stellt. Ich hatte nur fest gestellt, dass CreateMessageDlg bei mtConfirmation wieder das gute, alte Fragezeichen anzeigt, was mich wundert.
Noch ein Hinweis, dein Konstrukt zeigt kein Icon an, einfach nichts.

Gruß Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Windows Dialogboxen

  Alt 1. Mär 2021, 20:21
Hallo willi, es ist nur der obere teil vom code getiipt.
Show oder showmodal usw muss noch rein.
Abgebildet ist nur wie man 'default button' und 'bild ersetzen' machen könnte.
Wenn du magst/brauchst lade ich demo project source hoch.

Lg vom kodezwerg

Edit

Was ist matze tutorium eigentlich?
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 1. Mär 2021 um 20:25 Uhr)
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#7

AW: Windows Dialogboxen

  Alt 2. Mär 2021, 18:12
Hallo KodeZwerg,
Matze ist hier im Forum schon lange aktiv und hat ein Tutorium über MessageDlg und Co. geschrieben. Findest du unter Tutorials rechts oben auf dem Begrüßungsfenster.

Natürlich muss da Showmodal hin, dann öffnet sich das Fenster!

Gruß Willie.
  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 16:46 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