請問MessageBox的按鈕有辦法改變名稱嗎? |
答題得分者是:懷舊的人
|
cliffpen
一般會員 發表:35 回覆:18 積分:15 註冊:2005-05-16 發送簡訊給我 |
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
這是 DELPHI 的寫法
procedure TForm1.Button1Click(Sender: TObject); const mbFour = [mbYes, mbNo, mbOK, mbCancel]; var F: TForm; begin F := CreateMessageDialog('要重新製作嗎?',mtWarning,mbFour); with F do try TButton(FindComponent('Yes')).Caption := '是'; TButton(FindComponent('No')).Caption := '不'; TButton(FindComponent('OK')).Caption := '好的'; TButton(FindComponent('Cancel')).Caption := '取消'; ShowModal; case ModalResult of mrYes: ShowMessage('Press Yes !'); mrNo: ShowMessage('Press No !'); mrOK: ShowMessage('Press OK !'); mrCancel: ShowMessage('Press Cancel !'); end; finally Free; end; end; end;發表人 - 懷舊的人 於 2005/10/11 21:37:45 |
cliffpen
一般會員 發表:35 回覆:18 積分:15 註冊:2005-05-16 發送簡訊給我 |
以下是參考了懷舊的大大和別篇文章所寫的程式碼:
void __fastcall TForm1::Button1Click(TObject *Sender) { Application->MessageBox("test","tset",MB_OK); } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { TButton* btn=NULL; btn=dynamic_cast發現此方法對Form1上面的Button有效,但對MessageBox上的Button無效!! 請問大大,是我有什麼地方疏忽了? 還是說本來就無法用在MessageBox上面 發表人 - cliffpen 於 2005/10/11 17:06:58 |
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
FindComponent會找尋Form1上面的元件,是否有名字叫做"確定"的
(注意!FindComponent是找尋Name,而不是Caption)
但MessaggeBox並不屬於Form1,更不是他的元件
所以在Form1用FindComponent是無效的 懷舊的人大大的code轉成BCB為
TMsgDlgButtons mbFour; mbFour << mbYes << mbNo << mbOK << mbCancel; TForm* p=CreateMessageDialog("要重新製作嗎?",mtWarning,mbFour); ((TButton*)p->FindComponent("Yes"))->Caption="確定"; p->ShowModal(); delete p; |
cliffpen
一般會員 發表:35 回覆:18 積分:15 註冊:2005-05-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |