如何做一个类似MessageBox功能窗体。
窗体上有两个按纽
一个按纽为Yes 一个按续为No
当按 “Yes"是返回 true 当按 "No"时 返回false
-----------------------------------------------------
问题点数:100、回复次数:13Top
1 楼gloom(苍狗白云)回复于 2003-09-03 15:58:30 得分 20
将Yes按钮的ModalResult设为mrOK,将No的ModalResult设为mrCancel,用ShowModal方式显示窗体,即可获得返回值Top
2 楼newgoogle(倚天屠龙)回复于 2003-09-03 16:01:18 得分 0
如何把当前窗口的 Yes 按纽按下的消息传递到另外一个窗口?Top
3 楼newgoogle(倚天屠龙)回复于 2003-09-03 16:02:41 得分 0
如何把当前窗口的 Yes 按纽按下的消息传递到另外一个窗口?
Top
4 楼newgoogle(倚天屠龙)回复于 2003-09-03 16:05:14 得分 0
如何把当前窗口的 Yes 按纽按下的消息传递到另外一个窗口Top
5 楼zihan(子寒)回复于 2003-09-03 16:06:38 得分 20
你可以用两个按钮就可以了,把一个按钮的ModalResult设置为IDYES,另外一个设置为IDNO,然后检查返回值就可以了,注意的是,设置了过后,你点击按钮就不用写任何代码,他会自动返回并关闭窗口,你显示的时候要用模式显示哦。Top
6 楼newgoogle(倚天屠龙)回复于 2003-09-03 16:07:47 得分 0
我有另外一个窗体要对Yes 和 No按纽的按下情况作判定
也就是实现同messagebox类似的功能,因为messagebox是showModal的,不能用在我做工程中Top
7 楼Libran()回复于 2003-09-03 16:09:47 得分 20
照常做个Form,放上Yes和No按钮,再在OnClick事件里,给Form->ModalResault属性赋值为mrYes或mrNo,再Close()
然后执行并判断ShowModal()方法的返回值:
if (Form->ShowModal() == mrYes)//按了Yes关闭Form返回
{...}
if (Form->ShowModal() == mrNo)//按了No关闭Form返回
{...}Top
8 楼zihan(子寒)回复于 2003-09-03 16:09:50 得分 0
你要的是非模式显示的吗?Top
9 楼newgoogle(倚天屠龙)回复于 2003-09-03 16:13:04 得分 0
要show的方式显示Top
10 楼Libran()回复于 2003-09-03 16:16:01 得分 20
那用一个public的bool变量不就行了Top
11 楼zihan(子寒)回复于 2003-09-03 16:17:28 得分 0
如果你要用Show的方式显示,那么就不会有返回值,除非你在关闭的时候再给一个全局变量赋值,然后在其他窗口检查该变量,或者调用其他窗口的函数通知你需要处理的过程,至于返回值,你点击了不同的按钮就调用不同的函数或者调用函数是传入不同的参数就可以了。Top
12 楼newgoogle(倚天屠龙)回复于 2003-09-03 16:19:38 得分 0
显示要用Show的方式。
我想在窗体中写了一个function来实现显示,然后在另外一个窗体对这个function作判断
但没想到好方法
-------------------------------------------------------------------
bool __fastcall TfrmInfoBox::ShowInfoBox(AnsiString strText,AnsiString strCaption, AnsiString OKCaption,AnsiString CancelCaption)
{
this->Caption=strCaption;
this->ShowText->Caption=strText;
this->BitBtnOK->Caption=OKCaption;
this->BitBtnCancel->Caption=CancelCaption;
this->Show();
///写到这写不下去了
}Top
13 楼zxjrainbow(小笨象)回复于 2003-09-03 22:51:06 得分 20
用sendmessage()到那个要操作的窗体不就行了嘛。、Top
14 楼COKING(天晴)回复于 2003-09-03 23:33:23 得分 0
何毕呢?Top




