sdk中怎样做出按钮的提示框.
看了msdn,试了没试出来.
用sdk怎么办?

解决方案 »

  1.   

    参考 MFC CToolTipCtrl 的代码
      

  2.   

    对使用CToolTipCtrl来添加ToolTip。以下这些代码是为CStaitc添加ToolTip的,你可以参考一下:
    BOOL CToolBarCtrlPage::OnInitDialog() 
    {
    CPropertyPage::OnInitDialog();

    m_StandardBar.Create(WS_BORDER | WS_VISIBLE | WS_CHILD
    | CCS_TOP | CCS_ADJUSTABLE | TBSTYLE_TOOLTIPS,
    CRect(0,0,0,0),this,IDR_STANDARDBAR);

    m_StandardBar.AutoSize();
    m_PaletteBar.Create(WS_BORDER | WS_VISIBLE | WS_CHILD
    | CCS_BOTTOM | TBSTYLE_WRAPABLE | TBSTYLE_TOOLTIPS,
    CRect(0,0,0,0),this,IDR_PALETTEBAR);
    m_PaletteBar.AutoSize(); m_ToolTipCtrl.Create(this);
    BuildToolTip(IDP_TOOLBARSTYLE,IDC_TOOLBARSTYLE1);
    BuildToolTip(IDP_TOOLBARSTYLE,IDC_TOOLBARSTYLE2);
    BuildToolTip(IDP_CCS_TOP,IDC_CCS_TOP1);
    BuildToolTip(IDP_CCS_ADJUSTABLE,IDC_CCS_ADJUSTABLE1);
    BuildToolTip(IDP_TBSTYLE_TOOLTIPS,IDC_TBSTYLE_TOOLTIPS1);
    BuildToolTip(IDP_TBSTYLE_BUTTON,IDC_TBSTYLE_BUTTON1); BuildToolTip(IDP_CCS_BOTTOM,IDC_CCS_BOTTOM);
    BuildToolTip(IDP_TBSTYLE_WRAPABLE,IDC_TBSTYLE_WRAPABLE);
    BuildToolTip(IDP_TBSTYLE_CHECKGROUP,IDC_TBSTYLE_CHECKGROUP);
    BuildToolTip(IDP_TBSTYLE_TOOLTIPS,IDC_TBSTYLE_TOOLTIPS2);
    m_ToolTipCtrl.Activate(true); return TRUE;  // return TRUE unless you set the focus to a control
                  // EXCEPTION: OCX Property Pages should return FALSE
    }void CToolBarCtrlPage::BuildToolTip(UINT StrID,UINT CtrlID)
    {
    CString str;
    CWnd* pWnd;
    CRect rect; str.LoadString(StrID);
    pWnd = GetDlgItem(CtrlID);
    pWnd->GetWindowRect(&rect);
    ScreenToClient(&rect);
    m_ToolTipCtrl.AddTool(this,str,&rect,CtrlID);
    }LRESULT CToolBarCtrlPage::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    switch(message)
    {
    case WM_LBUTTONDOWN:
    case WM_RBUTTONDOWN:
    case WM_MBUTTONDOWN:
    case WM_LBUTTONUP:
    case WM_MBUTTONUP:
    case WM_RBUTTONUP:
    case WM_MOUSEMOVE:
    {
    MSG msg;
    msg.hwnd = m_hWnd;
    msg.message = message;
    msg.wParam = wParam;
    msg.lParam = lParam;
    m_ToolTipCtrl.RelayEvent(&msg);
    }
    }
    return CPropertyPage::WindowProc(message, wParam, lParam);
    }