Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi messageDLG oder Messagebox mit andersfarbigen hintergrund (https://www.delphipraxis.net/55221-messagedlg-oder-messagebox-mit-andersfarbigen-hintergrund.html)

richard_boderich 18. Okt 2005 09:49


messageDLG oder Messagebox mit andersfarbigen hintergrund
 
moin,

ich wuerd gern einen kleinen abfrage dialog (ja/nein/abbrechen) erzeugen , aber mit einer benutzerdefinierten hintergrundfarbe. geht das und wenn ja wie?

was ich nehm ist doch egal oder ? weil mesagebox und messagedlg sind zwei sachen die das selbe tun oder?


Richard

Robert Marquardt 18. Okt 2005 09:59

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
Die Dialoge sind beide nicht zur Veraenderung vorgesehen. Es sind schliesslich Standarddialoge.
Es gibt aber massive Unterschiede.
MessageDlg ist ein VCL-Dialog und unterliegt daher den VCL-Beschraenkungen wie mangelnde Threadfestigkeit und mangelnde Lokalisierung.
MessageBox ist ein windows-Dialog und ist daher threadfest und lokalisiert. Zusaetzlich bietet MessageBox noch mehr Optionen als MessageDlg.
Es laesst sich z. B. der Default-Button konfigurieren.

RavenIV 18. Okt 2005 10:17

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
prinzipiell kannst du von jedem Fenster (und ein Dialog ist ein Fenster) die Informationen abfragen und auch verändern.
Musst dazu halt die Windows-API-Funktionen verwenden.
mehr zu diesem Thema kannst du mit der Suche finden.

oder einfacher:
Du machst den Dialog halt selber, dann kannst Du ihn gestalten, wie du willst.

gruessle

richard_boderich 18. Okt 2005 10:23

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
@all,

erstma danke fuer eure antworten. aber ich komme mit selbsterstellten dialogen nich zurecht.
mit dialog.create. kannst du vielleicht mal ein kleines einfaches beispiel bringen? das waere sehr nett von dir. hatte das naehmlich schonmal probiert und bin gescheitert. es soll aber kein anderes form werden. ich hoffe das es das mit create dialog auch nich wird.

Gruß Richard

jfheins 18. Okt 2005 10:26

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
Da: http://www.delphipraxis.net/internal...=335248#335248

Einfach suchen :mrgreen: (hier nach dialog in Tutorials ;))

richard_boderich 18. Okt 2005 11:24

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
thx heinsi, werd mir das gleich ma reinziehn.
auf die einfachstens sachen kommt man eben oft nich ;)

Gruß Richard

jbg 18. Okt 2005 11:57

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
Zitat:

Zitat von Robert Marquardt
MessageDlg ist ein VCL-Dialog und unterliegt daher den VCL-Beschraenkungen wie mangelnde Threadfestigkeit und mangelnde Lokalisierung.

Wieso mangelnde Lokalisierung? Mit der ITE lässt sich die MessageDlg einfach übersetzen.

Zitat:

Es laesst sich z. B. der Default-Button konfigurieren.
Das geht auch mit MessageDlg. Man muss dazu halt statt MessageDlg() die CreateMessageDialog aufrufen und kann dann alles umgestalten.

richard_boderich 18. Okt 2005 12:09

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
@jbg

kannst du das naeher ausfuehren? ich hab es jetz mit CreateMessageDialog gemacht.
scheitere aber wieder an meinem problem, wie ich die einzelnen buttons abfragen kann.

:(

Gruß Richard

jfheins 18. Okt 2005 19:43

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
[quote="jbg"]
Zitat:

Zitat von Robert Marquardt
Mit der ITE lässt sich die MessageDlg einfach übersetzen.

.. und mit MessageBox kommen die Standardelemente garantiert in der Sprache, die der User spricht, da von Windows in der Systemsprache angezeigt ;) Also brauch man gar keine ITE :mrgreen:

jbg 18. Okt 2005 20:28

Re: messageDLG oder Messagebox mit andersfarbigen hintergru
 
Zitat:

Zitat von jfheins
da von Windows in der Systemsprache angezeigt

Ja, aber vielleicht will der Benutzer auf seinem englischen Windows einen Französichen Dialog. Dann steht man mit MessageBox im Regen :mrgreen:



Zitat:

kannst du das naeher ausfuehren? ich hab es jetz mit CreateMessageDialog gemacht.
scheitere aber wieder an meinem problem, wie ich die einzelnen buttons abfragen kan
Delphi-Quellcode:
uses
  Dialogs;
function ShowRedDefNoDlg(const Msg: string): TModalResult;
var
  Dlg: TForm;
begin
  Dlg := CreateMessageDialog(Msg, mtConfirmation, [mbYes, mbNo, mbCancel]);
  try
    Dlg.Color := clRed; // damit der Dialog auf alle Fälle auffällt.
    (Dlg.FindComponent('Message') as TLabel).Font.Color := clWhite;
    Dlg.ActiveControl := Dlg.FindComponent('No') as TButton;
    Result := Dlg.ShowModal;
  finally
    Dlg.Free;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.
Seite 1 von 2  1 2      

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