、单击菜单上设置-》通讯口打开一个串口参数设置对话框,单击对话框的OK取到设置的值,单击开始通信进行串口通信,用VC实现这个在
if(mySetupComDlg.DoModal()==IDOK)处理设置的串口参数就行了,在wxwidgets中用if(mySetupComDlg.ShowModal()==IDOK)这样做却不行,好像是串口参数设置对话框已经销毁了,导致参数没传进来。
注:用了在对话框类中使用了校验器
FindWindow(XRCID("ID_COMNUM") )->SetValidator(
wxGenericValidator(&iComNum) )
wxwidgets没有domodal(),只有showmodal()
串口通信失败
-
- Knows some wx things
- Posts: 36
- Joined: Thu Jul 01, 2010 1:39 am
- Location: China Shanghai
-
- Knows some wx things
- Posts: 36
- Joined: Thu Jul 01, 2010 1:39 am
- Location: China Shanghai
1
写错了,我是mySetupComDlg.ShowModal()==wxID_OK,按钮定义的也是wxID_OK的,感觉好像串口参数设置对话框的值传不过来,串口号选择用的是wxchoice控件,我还在参数设置对话框类中设置了校验器
void ComSetDialog::SetDialogValidators()
{
FindWindow(XRCID("ID_COMNUM") )->SetValidator(
wxGenericValidator(&iComNum) );
}
void ComSetDialog::SetDialogValidators()
{
FindWindow(XRCID("ID_COMNUM") )->SetValidator(
wxGenericValidator(&iComNum) );
}
-
- Knows some wx things
- Posts: 36
- Joined: Thu Jul 01, 2010 1:39 am
- Location: China Shanghai
11
设置了returncode是可以打开了,但是这好像和参数传不过来没关系啊
-
- In need of some credit
- Posts: 1
- Joined: Sun Jan 06, 2013 6:14 am
Re: 串口通信失败
要在设置窗口的那个按钮的事件最后加如下一行
EndModal(wxID_OK);
EndModal(wxID_OK);