如何在RAD Studio XE中更改TMsgDlgButtons的文本“是”和“否”按钮?

时间:2017-09-14 06:20:48

标签: c++ c++builder vcl c++builder-xe

我想在消息框中更改YESNO按钮的文字。

CModalWndManager::ShowMessageBox(AnsiString::LoadStr(IDS_NOT_SUPPORTED).c_str(), mtWarning, TMsgDlgButtons() << mbYes << mbNo, mbOK == mrYes);

而不是YES,我需要"Switch Mode",而NO则需要"Exit"

是否可以在RAD Studio XE中执行此操作?

1 个答案:

答案 0 :(得分:1)

http://bcbjournal.org/articles/vol4/0003/Making_marvelous_message_dialogs.htm

TForm* Dlg = CreateMessageDialog(
    "Purge Warp Core?", mtConfirmation,
    TMsgDlgButtons() << mbYes << mbNo);
  TButton* yb = dynamic_cast<TButton *>
    (Dlg->FindComponent("Yes"));
  if (yb)
    yb->Caption = "Affirmative";
  TButton* nb = dynamic_cast<TButton *>
    (Dlg->FindComponent("No"));
  if (nb)
    nb->Caption = "Negative";
  int Rslt = Dlg->ShowModal();
  switch (Rslt) {
    case mrYes: ;// do "Yes" stuff
    case mrNo:  ;// do "No" stuff