我现在在做一个基于对话框的程序,并对其加了一个skinplusplus皮肤,当点击上面的打开文件按键时,整个程序就自动退出.请问这是怎么一回事,我将里面的打开文件换成一个MESSAGEBOX时,程序却不会自动退出?
把skinplusplus皮肤去掉就也不会出现问题.

解决方案 »

  1.   

    那你看看在打开文件那段代码有没有什么默认的CDialog::OnOK()或者是CDialog::OnCancel();
    这样的语句~~~
      

  2.   

    加载 skinplusplus 皮肤出错了。可能是你的皮肤资源有问题,或是该库在对你的资源处理时出现了什么严重的异常,导致程序崩溃,直接退出。你检查下。
      

  3.   

    点击保存文件的按键,程序也自会自动退出,
    以下是保存文件的程序:
    UpdateData(TRUE);
    char szFilters[]="Data Files (*.txt)|*.txt||";
    CFileDialog FileSaveDlg(FALSE, "","",
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilters, this);
    if(FileSaveDlg.DoModal() == IDOK){
    lpszPathName=FileSaveDlg.GetPathName();
    }
    UpdateData(FALSE);
    我也怀疑是skinplusplus的问题,可能skinplusplus对某些消息处理有问题.因为刚开始写这个软件时,按这个按钮时不会出现这种情况,后来程序加了两个串口控件,以及一个计时器后就出现上述问题的..大家有没遇到类似的问题,说来听下...
      

  4.   

    输出窗口有打出异常吗?如果有,打开调试器的异常再调一下。如果没有,先在PostQuitMessage上打断点试试。如果也无效,在TerminateProcess上打断点试试。如果也不行,检查一下这个控件是否要付费,注册之类的。