如何在OLE控件中使用OLE_COLOR数据类型

来源:互联网 发布:ssl默认端口号 编辑:程序博客网 时间:2024/05/29 09:59
诸如COleControl : : GetFortColor和COleControl : : GetBacalog : : EndDialog 来中止,无模式对话则是调用
CWnd: : DestroyWindow来中止的,函数CDialog : : OnOK和CDialog : : OnCancel
调用EndDialog ,所以需要调用DestroyWindow并重置无模式对话的函数。
void CSampleDialog : : OnOK ( )
{
    // Retrieve and validate dialog data .
    if (! UpdateData (TRUE) )
    {
        // the UpdateData rountine will set focus to correct item
        TRACEO (" UpdateData failed during dialog termination ./n") ;
        return ;
    }

    //Call DestroyWindow instead of EndDialog .
    DestroyWindow ( ) ;
}

void CSampleDialog : : OnCancel ( )
{
    //Call DestroyWindow instead of EndDialog .
    DestroyWindow ( ) ;
}
    其次,需要正确删除表示对话的C++对象。对于模式对来说,这很容易,需要创
建函数返回后即可删除C++对象;无模式对话不是同步的,创建函数调用后立即返回,
因而用户不知道何时删除C++对象。撤销窗口时工作框调用CWnd : : PostNcDestroy,
可以重置该函数并执行清除操作,诸如删除this指针。
void CSampleDialog : : PostNcDestroy ( )
  {
    // Declete the C++ object that represents this dialog .
    delete this ;
}
    最后,要创建无模式对话。可以调用CDialog : : DoModal创建一个模式对放,
要创建一个无模式对话则要调用CDialog: : Create。下面的例子说明 了应用程序
是如何创建无模式对话的:
void CMainFrame : : OnSampleDialog  ( )
{
                                                                              
    // Declete the C++ object that represents this dialog .
    delete this ;
}
    最后,要创建无模式对话。可以调用CDialog : : DoModal创建一个模式对放,
要创建一个无模式对话则要调用CDialog: : Create。下面的例子说明 了应用程序
是如何创建无模式对话的:
void CMainFrame : : OnSampleDialog  ( )
    //Allocate a modeless dialog object .
    CSampleDilog * pDialog =new CSampleDialog ;
    ASSERT_VALID (pDialog) ;

    //Create the modeless dialog .
    BOOL bResult = pDialog —> Creste (IDD_IDALOG) ;
    ASSERT (bResult ) ;
}
原创粉丝点击