码迷,mamicode.com
首页 > 其他好文 > 详细

判断ActiveX控件是Desgin Mode还是Runtime Mode

时间:2017-05-23 14:11:13      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:知识库   otto   else   for   ble   strlen   sni   sgi   cts   

对于MFC

COleControl::AmbientUserMode

Determines if the Container is in design mode or user mode.

BOOL AmbientUserMode( );

Return Value

Nonzero if the container is in user mode; otherwise 0 (in design mode). If this property is not supported, this function returns 0.

Remarks

For example, a container might set this to FALSE in design mode.

 

根据当前ActiveX控件当前所处的模式,修改OnDraw函数:

BOOL bUserMode = FALSE;
bUserMode = AmbientUserMode();
if(bUserMode)
{
    LPCTSTR pszText = _T("MFC 3.0 : User Mode");

    TextOut(di.hdcDraw, 
        (rc.left + rc.right) / 2, 
        (rc.top + rc.bottom) / 2, 
        pszText, 
        lstrlen(pszText));
}
else
{
    LPCTSTR pszText = _T("MFC 3.0 : Design Mode");
    TextOut(di.hdcDraw, 
        (rc.left + rc.right) / 2, 
        (rc.top + rc.bottom) / 2, 
        pszText, 
        lstrlen(pszText));
}

 

对于ATL

 

CComControlBase::GetAmbientUserMode

Retrieves DISPID_AMBIENT_USERMODE, a flag indicating whether the container is in run-mode (TRUE) or design-mode (FALSE).

HRESULT GetAmbientUserMode(BOOL& bUserMode);

Parameters

bUserMode  : 

The property DISPID_AMBIENT_USERMODE.

Return Value : 

One of the standard HRESULT values.

OnDraw中判断

 

BOOL bUserMode = FALSE;
HRESULT hr = GetAmbientUserMode(bUserMode);
if(bUserMode)
{
    LPCTSTR pszText = _T("ATL 3.0 : User Mode");

    TextOut(di.hdcDraw, 
        (rc.left + rc.right) / 2, 
        (rc.top + rc.bottom) / 2, 
        pszText, 
        lstrlen(pszText));
}
else
{
    LPCTSTR pszText = _T("ATL 3.0 : Design Mode");
    TextOut(di.hdcDraw, 
        (rc.left + rc.right) / 2, 
        (rc.top + rc.bottom) / 2, 
        pszText, 
        lstrlen(pszText));
}

 

 

    

判断ActiveX控件是Desgin Mode还是Runtime Mode

标签:知识库   otto   else   for   ble   strlen   sni   sgi   cts   

原文地址:http://www.cnblogs.com/MakeView660/p/6893687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!