当前位置:编程学习 > C/C++ >>

CFormView中的上下文帮助?

 

 

我想在基于CFormView类的SDI应用程序中加入真正的上下文帮助,但没有成功.

A:你应该重载CMyFormView类的OnHelpHitTest函数:

 

 

LRESULT CMyFormView::OnHelpHitTest(WPARAM, LPARAM lParam)

{

    LRESULT lResult = (LRESULT)0x00;

 

    CWnd* pWndChild = ChildWindowFromPoint(Cpoint(lParam),CWP_ALL|CWP_SKIPINVISIBLE);

 

    if (pWndChild && ::IsWindow(pWndChild->m_hWnd))

    {

        lResult = ::GetWindowLong(pWndChild->m_hWnd, GWL_ID);

 

        if (lResult)

            lResult += HID_BASE_COMMAND;

    }

 

    if (lResult == (LRESULT)0x00)

        lResult = ::GetWindowLong(m_hWnd, GWL_ID) + HID_BASE_RESOURCE;

 

    return lResult;

}

 

然后你就可以使用平时用的帮助文件了,但你要保证有正确的前缀,请参照 TN028:Context-Sensitive Help Support.

例如:

 

ID_SOME_MENU_ITEM_OR_COMMAND_BUTTON

IDR_SOME_WINDOW_OR_DIALOG

IDP_PROMPT

IDW_CONTROL_THAT_IS_NOT_A_COMAND_BUTTON

 

你要确认你所使用的控件的ID包含在文件resource.hm中.

 

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,