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

诸如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 ) ;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值