win32,非MFC,小弟显示tooltop用的方法是
resource, string   table中找到你加tooltip的控件(如button)的ID名,编辑captain. 现在想实现动态修改该控件的tooltip内容, 该如何实现?
比如修改该控件string table中captain值?谢谢大家!

解决方案 »

  1.   

    竟然是WIN32的。。说实话我一直用cpptooltip的。
    String Table值你就算修改了也没用的,因为开始的时候读取。。后面就不读了。上段代码吧,知道放哪吧。。case WM_NOTIFY:   
            switch (((LPNMHDR)lParam)->code)   
            {   
            case TTN_GETDISPINFO:   
                {   
                    LPTOOLTIPTEXT lpttt;   
                    UINT idButton;   
                       
                    lpttt = (LPTOOLTIPTEXT) lParam;    
                    lpttt->hinst = g_hInst;    
       
                    idButton = lpttt->hdr.idFrom;   
                    switch (idButton)   
                    {   
                    case ID_MENU_NEW:    
                        lpttt->lpszText =TEXT("注释");    
                        break;    
                    case ID_MENU_SAVE :    
                        lpttt->lpszText = TEXT("触点");    
                        break;   
                    }   
                    break;   
                }   
            default:   
                break;   
            }   
      

  2.   

    你必须去响应 
    BOOL   CMainFrame::TipNeedText(UINT   id,   NMHDR   *   pMHDR,   LRESULT   *   pResult) 

            TOOLTIPTEXT   *pTTT   =   (TOOLTIPTEXT   *)pMHDR; 
            UINT   nID   =pMHDR-> idFrom; 
    if(nID> =0x8008) 
            { 
    nID=nID-0x8008; 
    szTipText=m_strMontageName[nID];     
    pTTT-> lpszText=szTipText.GetBuffer(0); 
    pTTT-> hinst   =   AfxGetResourceHandle(); 
    return(TRUE); 
            } 
            return(FALSE); 
    }
      

  3.   

    楼上的,非MFC, 继续关注....