用MFC做了一个CComboBox的界面
CComboBox的“数据”属性里面C_SVC;NU_SVC;ONE_CLASS;EPS_SVR;NU_SVR;
这样加入了内容。
在我还没有写界面的OnInitDialog()函数之前
CComboBox的内容可以正常显示出来。
但是我写了OnInitDialog()函数之后CComboBox的内容就看不见了我是不是该在OnInitDialog()里面写点什么让他显示?
求高手指点
CComboBox的“数据”属性里面C_SVC;NU_SVC;ONE_CLASS;EPS_SVR;NU_SVR;
这样加入了内容。
在我还没有写界面的OnInitDialog()函数之前
CComboBox的内容可以正常显示出来。
但是我写了OnInitDialog()函数之后CComboBox的内容就看不见了我是不是该在OnInitDialog()里面写点什么让他显示?
求高手指点
{
CvFileStorage* fsCLFParam = cvOpenFileStorage("ClfParam.xml",0,CV_STORAGE_READ);
CvFileNode *ClfNode = cvGetFileNodeByName(fsCLFParam,0,"ClassifierParamas");
int SVMtype = cvReadIntByName(fsCLFParam,ClfNode,"SVMtype");
int Kerneltype = cvReadIntByName(fsCLFParam,ClfNode,"Kerneltype");
const char* Degree = cvReadStringByName(fsCLFParam,ClfNode,"Degree");
const char* Gamma = cvReadStringByName(fsCLFParam,ClfNode,"Gamma");
const char* Coef = cvReadStringByName(fsCLFParam,ClfNode,"Coef");
const char* CAValue = cvReadStringByName(fsCLFParam,ClfNode,"CAVlue");
const char* Nu = cvReadStringByName(fsCLFParam,ClfNode,"Nu");
const char* P = cvReadStringByName(fsCLFParam,ClfNode,"P");
const char* SVMname = cvReadStringByName(fsCLFParam,ClfNode,"SVMname");
const char* SVMtail = cvReadStringByName(fsCLFParam,ClfNode,"SVMtail");
USES_CONVERSION;
((CEdit *)GetDlgItem(IDC_EDITDegree))->SetWindowText(A2T(Degree));
((CEdit *)GetDlgItem(IDC_EDITGamma))->SetWindowText(A2T(Gamma));
((CEdit *)GetDlgItem(IDC_EDITCoef))->SetWindowText(A2T(Coef));
((CEdit *)GetDlgItem(IDC_EDITCValue))->SetWindowText(A2T(CAValue));
((CEdit *)GetDlgItem(IDC_EDITNu))->SetWindowText(A2T(Nu));
((CEdit *)GetDlgItem(IDC_EDITP))->SetWindowText(A2T(P));
((CEdit *)GetDlgItem(IDC_EDITClassifierName))->SetWindowText(A2T(SVMname));
((CEdit *)GetDlgItem(IDC_EDITClassifierTail))->SetWindowText(A2T(SVMtail));
//m_cmbSVMType
//m_cmbSVMType.SetCurSel(0);
//m_cmbKernelType.SetCurSel(2);
cvReleaseFileStorage(&fsCLFParam);
return true;
}
我把OnInitDialog()函数贴上来
本来是想通过读取xml文件给CComboBox
//m_cmbSVMType.SetCurSel(0);
//m_cmbKernelType.SetCurSel(2);
赋初值。
但是CComboBox 在这里面并没有内容,赋值会崩溃。
把这两条注释掉之后就发现CComboBox 内容空掉了。
如果去掉OnInitDialog()内容就出现了
上网打出找也解决不了
只能请教各位了
m_combox.AddString(L"C_SVC");
m_combox.AddString(L"NU_SVC");
m_combox.AddString(L"ONE_CLASS");
m_combox.AddString(L"EPS_SVR");
m_combox.AddString(L"NU_SVR");
m_cmbSVMType.AddString(...);
没有选项,
m_cmbSVMType.SetCurSel(0);
m_cmbKernelType.SetCurSel(2);
操作可能就出错了
中再添加一次啊
我试试
是我忘了调基类的OnInitDialog()
所以数据里面的内容显示不出来
调用了基类就不用m_cmbSVMType.AddString();了