Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi messagedialog bordericons ändern? (https://www.delphipraxis.net/81989-messagedialog-bordericons-aendern.html)

polondo 6. Dez 2006 11:20


messagedialog bordericons ändern?
 
hi,

ist es möglich das X aus dem Messagedialog zu bekommen? Ich möchte nicht das der User über das X das Fenster ausmacht ;O)


mfg.
R.

RavenIV 6. Dez 2006 11:48

Re: messagedialog bordericons ändern?
 
Lösungsvorschlag:
Du machst Dir ein eigenes Fenster, in dem das "X" nicht mehr angezeigt wird, und verwendest dieses Fenster anstelle des MsgDialogs.
Das neue Fenster kannst Du ja villeicht auch von MsgDialog ableiten...

polondo 6. Dez 2006 11:57

Re: messagedialog bordericons ändern?
 
Danke für die Antwort, aber ... wie mache ich das? :roll:

polondo 6. Dez 2006 12:03

Re: messagedialog bordericons ändern?
 
sooo ich hab das jetzt mal so gelöst:

Delphi-Quellcode:
procedure TInvoiceForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if FFormChangeStatus = 1 then
  begin
    if MessageDlg('You have unsaved changes! Sure to exit?', mtWarning, [mbYes, mbNo], 0)= mrYes then
    begin
      DM.ClearAllInvoiceFields.Execute;
      BtnFormChange.Caption := 'NEW';
      LockInvoiceForm(true);
    end
    else
    begin
      action := caNone;
    end;
  end;
end;
nu isses egal ob der das x drückt oder nit. die box reagiert jetzt genauso darauf wie auf das "no" oder "cancel" button :stupid:

mfg
R.

jfheins 6. Dez 2006 17:35

Re: messagedialog bordericons ändern?
 
Es gehörtjetzt nicht 100%ig hier rein, aber wenn du sowas machst, dann orientiere dich vll. an Word oder so mit "Änderungen speichern? Ja/Nein/Abbrechen"

Denn:
:arrow: Ja/Nein/Abbr. ist vertrauter - wenn du auch noch den gleichen Text nimmt, sieht es fast gleich aus, und der User weis, wie es reagiert und muss ihn nicht durchlesen (vorraussetzung: Die Button funktionieren genauso wie in Word & Co)
:arrow: Wenn ma auf schließen drückt, was macht mehr sinn? Fragen, ob gespeichert werden soll, oder fragen, ob man wirklich schließen will?
:arrow: Man muss zum speichern nicht Nein>Speichern>Schließen machen, sondern nur Ja ;)

Hawkeye219 6. Dez 2006 23:02

Re: messagedialog bordericons ändern?
 
Hallo polondo,

falls du es noch brauchst:

Delphi-Quellcode:
function NewMessageDlg(const Msg: string; DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
    try
      HelpContext := HelpCtx;
      Position := poScreenCenter;
      BorderIcons := BorderIcons - [biSystemMenu];
      Result := ShowModal;
    finally
      Free;
    end;
end;
Gruß Hawkeye

RavenIV 7. Dez 2006 07:12

Re: messagedialog bordericons ändern?
 
Zitat:

Zitat von jfheins
Es gehörtjetzt nicht 100%ig hier rein, aber wenn du sowas machst, dann orientiere dich vll. an Word oder so mit "Änderungen speichern? Ja/Nein/Abbrechen"

Denn:
:arrow: Ja/Nein/Abbr. ist vertrauter - wenn du auch noch den gleichen Text nimmt, sieht es fast gleich aus, und der User weis, wie es reagiert und muss ihn nicht durchlesen (vorraussetzung: Die Button funktionieren genauso wie in Word & Co)
:arrow: Wenn ma auf schließen drückt, was macht mehr sinn? Fragen, ob gespeichert werden soll, oder fragen, ob man wirklich schließen will?
:arrow: Man muss zum speichern nicht Nein>Speichern>Schließen machen, sondern nur Ja ;)

von Microsoft gibt es einen ganz klaren Style-Guide. Dort ist unter anderem festgehalten, wie solche Dialoge auszusehen haben.
Der Style-Guide ist natürlich nur eine Vorgabe, an die man sich nicht zwingend halten muss (siehe OpenOffice 2.0: "Sollen die Änderungen gespeichert werden? <Speichern><Verwerfen><Abbrechen>").

Es macht aber schon Sinn, wenn jede Software (fast) gleich aussieht und (fast) gleich zu bedienen ist...

Reinhard Kern 7. Dez 2006 08:23

Re: messagedialog bordericons ändern?
 
Zitat:

Zitat von RavenIV
von Microsoft gibt es einen ganz klaren Style-Guide. Dort ist unter anderem festgehalten, wie solche Dialoge auszusehen haben.
Der Style-Guide ist natürlich nur eine Vorgabe, an die man sich nicht zwingend halten muss (siehe OpenOffice 2.0: "Sollen die Änderungen gespeichert werden? <Speichern><Verwerfen><Abbrechen>").

Es macht aber schon Sinn, wenn jede Software (fast) gleich aussieht und (fast) gleich zu bedienen ist...

Hallo,

guten Tag - du bist der erste hier (für mich jedenfalls), der diese Meinung vertritt. Zahlreiche Einträge hier fangen an mit "ich möchte meiner Software einen persönlichen Anstrich geben, und deswegen...". Manchmal komme ich mir schon vor wie im falschen Film, als ob eine eigene Software nur ernstgenommen wird, wenn sie grasgrüne Buttons vor violettem Hintergrund verwendet oder die Beschriftung auf dem Kopf steht.

Gruss Reinhard

jfheins 7. Dez 2006 16:31

Re: messagedialog bordericons ändern?
 
Zitat:

Zitat von RavenIV
von Microsoft gibt es einen ganz klaren Style-Guide. Dort ist unter anderem festgehalten, wie solche Dialoge auszusehen haben.
Der Style-Guide ist natürlich nur eine Vorgabe, an die man sich nicht zwingend halten muss (siehe OpenOffice 2.0: "Sollen die Änderungen gespeichert werden? <Speichern><Verwerfen><Abbrechen>").

Es macht aber schon Sinn, wenn jede Software (fast) gleich aussieht und (fast) gleich zu bedienen ist...

Das mit speichern, Verwerfen und Abbrechen ist natürlich noch cooler, weil man dann nur noch die Button-Captions lesen muss, und nicht mehr den Text ... (sind wir nicht alle ein bisschen faul?)

Aber das schlimmste wäre, wenn man einen "persönlichen Anstrich" gibt,und den Sinn ändert in "Möchten sie die Änderungen verwerfen?" Ja/nein/Abbrechen - weil dann ist die Dialogbox anti-intuitiv (zumindest für mich)

Ich habe nicht dagegen, wenn man die Buttons ein wenig einfärbt, (auch wenn ich glaube, dass die XP-Styler jetzt nicht einfach irgendwas genommen haben, sondern etwas passendes) aber man sollte sich an gewisse Standards halten - sonst beschweren sich bestimt auch die Kunden ... ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 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