串口通信失败

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
woshiyadang
Knows some wx things
Knows some wx things
Posts: 36
Joined: Thu Jul 01, 2010 1:39 am
Location: China Shanghai

串口通信失败

Post by woshiyadang »

、单击菜单上设置-》通讯口打开一个串口参数设置对话框,单击对话框的OK取到设置的值,单击开始通信进行串口通信,用VC实现这个在
if(mySetupComDlg.DoModal()==IDOK)处理设置的串口参数就行了,在wxwidgets中用if(mySetupComDlg.ShowModal()==IDOK)这样做却不行,好像是串口参数设置对话框已经销毁了,导致参数没传进来。
注:用了在对话框类中使用了校验器
FindWindow(XRCID("ID_COMNUM") )->SetValidator(
wxGenericValidator(&iComNum) )
wxwidgets没有domodal(),只有showmodal()
kingkamg
I live to help wx-kind
I live to help wx-kind
Posts: 187
Joined: Tue Apr 08, 2008 1:45 pm

Post by kingkamg »

你的OK按钮的ID咋定义的?mySetupComDlg.ShowModal() == wxID_OK
woshiyadang
Knows some wx things
Knows some wx things
Posts: 36
Joined: Thu Jul 01, 2010 1:39 am
Location: China Shanghai

1

Post by woshiyadang »

写错了,我是mySetupComDlg.ShowModal()==wxID_OK,按钮定义的也是wxID_OK的,感觉好像串口参数设置对话框的值传不过来,串口号选择用的是wxchoice控件,我还在参数设置对话框类中设置了校验器
void ComSetDialog::SetDialogValidators()
{
FindWindow(XRCID("ID_COMNUM") )->SetValidator(
wxGenericValidator(&iComNum) );
}
kingkamg
I live to help wx-kind
I live to help wx-kind
Posts: 187
Joined: Tue Apr 08, 2008 1:45 pm

Post by kingkamg »

设置下wxDialog::SetReturnCode(int retCode)的返回值试试,这个是在ShowModal()的时候返回的
woshiyadang
Knows some wx things
Knows some wx things
Posts: 36
Joined: Thu Jul 01, 2010 1:39 am
Location: China Shanghai

11

Post by woshiyadang »

设置了returncode是可以打开了,但是这好像和参数传不过来没关系啊
mikewolfli
In need of some credit
In need of some credit
Posts: 1
Joined: Sun Jan 06, 2013 6:14 am

Re: 串口通信失败

Post by mikewolfli »

要在设置窗口的那个按钮的事件最后加如下一行
EndModal(wxID_OK);
Post Reply