Google 網路論壇不再支援新的 Usenet 貼文或訂閱項目,但過往內容仍可供查看。

MessageDLG und Buttons

瀏覽次數:40 次
跳到第一則未讀訊息

Ines Otto

未讀,
2003年9月4日 凌晨4:22:252003/9/4
收件者:
Hallo NG,

gibt es eine Möglichkeit im Messagedlg die Anordnung der Buttons zu
beeinflussen?
Wenn folgende Buttons [mbYes,mbNo] angegeben sind, dann erscheint als
Default-Button immer "ja". Ich möchte in meiner Anwendung aber als
Default-Button den "nein"-Button haben.
Wie ist das zu bewerkstelligen.

Vielen Dank und viele Grüße
Ines


Christian NineBerry Schwarz

未讀,
2003年9月4日 凌晨4:51:042003/9/4
收件者:
Hallo Ines

Ines Otto schrieb:

> Wenn folgende Buttons [mbYes,mbNo] angegeben sind, dann erscheint als
> Default-Button immer "ja". Ich möchte in meiner Anwendung aber als
> Default-Button den "nein"-Button haben.

In Delphi 7 ist das möglich. Schau dir einfach mal in der Online-Hilfe
an, welche verschiedenen überladenen Varianten es gibt.

In älteren Varianten musst du entweder auf Application.MessageBox
ausweichen oder die Unit Dialogs deinen eigenen Wünschen entsprechend
anpassen/erweitern.


Traubensaft gibt Traubenkraft

Christian "NineBerry" Schwarz

--
Spike is evil, but you should see him naked!

Dirk Stein

未讀,
2003年9月4日 清晨5:21:592003/9/4
收件者:
Ines Otto schrieb:

Hi Ines,

Uses
Dialogs, QDialogs;

if MessageDlg('das ist ein test', mtWarning, [mbYes, mbNo, mbCancel],
0,mbNo)= mrNo then
begin
end;

//Das Obrige Beispiel setzt den No Button auf default.


hth Dirk

Werner Liss

未讀,
2003年9月4日 清晨6:24:392003/9/4
收件者:
Hi Ines,

schau dir mal die Funktion von Peter Below an. Im Parameter DefButton kannst
du festlegen, welcher Button fokussiert wird.
Aufrufbeispiel:
if DefMsgDlg('Titel', 'Nachricht', mtInformation, [mbYes, mbNo], mrNo, 0) =
mrYes then...

mfg,
Werner

function DefMsgDlg(const ACaption: String;
const Msg: String;
DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons;
DefButton: Integer;
HelpCtx: Longint): Integer;
var
i: Integer;
btn: TButton;
begin
with CreateMessageDialog(Msg, DlgType, Buttons) do
try
Caption := aCaption;
HelpContext := HelpCtx;
for i := 0 To ComponentCount-1 do
begin
if Components[i] is TButton then
begin
btn := TButton(Components[i]);
btn.Default := btn.ModalResult = DefButton;
if btn.Default then
ActiveControl := Btn;
end;
end; { For }
Result := ShowModal;
finally
Free;
end;
end;


Ines Otto

未讀,
2003年9月4日 清晨5:31:062003/9/4
收件者:
Vielen Dank Euch beiden - es funktioniert tadellos!

Noch eine kleine Frage : jetzt ist die Beschriftung der Buttons in englisch,
früher auf deutsch.
Gibt es da noch eine Möglichkeit, dies wieder umzustellen.

Ich verwende D7 und XP bzw NT.

Tschüss
Ines


Dirk Stein

未讀,
2003年9月4日 清晨5:54:082003/9/4
收件者:
Ines Otto schrieb:

Hi Ines,

stimmt, darauf habe ich noch garnicht geachtet.
Der Text ist in "NeuDeutsch" es liegt an der Unit: QDialogs.

Ich Werde auch mal forschen gehen warum.

Tschüss
Dirk

Christian NineBerry Schwarz

未讀,
2003年9月4日 清晨6:21:032003/9/4
收件者:
Hallo Dirk

Dirk Stein schrieb:

> Dialogs, QDialogs;

Die beiden gleichzeitig einzubinden ist etwa so, als würde man
gleichzeitig nen BicMäc und nen Whopper verdrücken.

Dialogs ist für VCL-Anwendungen, QDialogs für CLX-Anwendungen. Bitte
nicht mischen!

Holger Lembke

未讀,
2003年9月4日 清晨6:24:532003/9/4
收件者:
Christian NineBerry Schwarz <Christia...@nineberry.de> wrote:

>Die beiden gleichzeitig einzubinden ist etwa so, als würde man
>gleichzeitig nen BicMäc und nen Whopper verdrücken.

Eine erfreuliche Situation. Warum also nicht?

--
mit freundlichen Grüßen BUllSHit
Holgi, +49-531-3497854

Dirk Stein

未讀,
2003年9月4日 上午9:38:072003/9/4
收件者:
Holger Lembke schrieb:

> Christian NineBerry Schwarz <Christia...@nineberry.de> wrote:
>
> >Die beiden gleichzeitig einzubinden ist etwa so, als würde man
> >gleichzeitig nen BicMäc und nen Whopper verdrücken.
>
> Eine erfreuliche Situation. Warum also nicht?

Na, die Schnau.. (ähm.. Mund) möchte ich sehen wo beide gleichzeitig
rein passen (würg...)

Dirk ;-)

0 則新訊息