MessageDlg With Yes/No button |
尚未結案
|
kienwoon
一般會員 發表:3 回覆:4 積分:1 註冊:2004-11-25 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
hi,kienwoon
特此更正,刚看错了,不好意思 建议改成 class="code">
function DefMessageDlg(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;
Result := ShowModal;
finally
Free;
end;
end; procedure TForm1.Button3Click(Sender: TObject);
begin
if DefMessageDlg('Please confirm', 'Do you want to go home now?', mtConfirmation,[mbYes,mbNo], mrno, 0) = mrYes then
ShowMessage('success...');
end;
try try see~ ~~~行径窄处,留一步与人行~~~ 發表人 -
|
shinjie
資深會員 發表:12 回覆:275 積分:287 註冊:2003-03-19 發送簡訊給我 |
請Copy
C:\Program Files\Borland\Delphi6\Source\Vcl\Dialogs.pas
至您的專案目錄 尋找CreateMessageDialog這個function 大概是1800行那
修改為
if B = DefaultButton then Default := True;
if B = mbNo then TabOrder:=0; //加入這行
if B = CancelButton then Cancel := True;
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。 得之;我幸。不得;我命。 |
kienwoon
一般會員 發表:3 回覆:4 積分:1 註冊:2004-11-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |