【发布时间】:2009-05-15 09:23:57
【问题描述】:
这个问题是related to this one。
在 CDockablePane 派生类中,我有一个 CTreeCtrl 成员,我在 OnCreate() 中为其添加了 ToolTip:
int CMyPane::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDockablePane::OnCreate(lpCreateStruct) == -1)
return -1;
const DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN |
TVS_CHECKBOXES | TVS_DISABLEDRAGDROP | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
TVS_INFOTIP | TVS_NOHSCROLL | TVS_SHOWSELALWAYS;
if(!m_tree.Create(dwStyle, m_treeRect, this, TREECTRL_ID) ) { return -1; }
m_pToolTip->AddTool(&m_tree, LPSTR_TEXTCALLBACK, &m_treeRect, TREECTRL_ID);
m_tree.SetToolTips(m_pToolTip);
return 0;
}
我必须使用所有可选参数调用 AddTool(),因为默认值不适用于 CDockablePane。m_treeRect 是 CTor 中设置为 (0, 0, 10000, 10000) 的 CRect 成员。这真的很丑。
我想在m_tree 的大小发生变化时调整工具的矩形。
所以我在CMyPane::OnSize() 中尝试了一些东西,但都没有奏效:
- 调用
m_pToolTip->GetToolInfo()然后修改CToolInfo的rect成员,然后调用SetToolInfo() - 致电
m_pToolTip->SetToolRect()
这意味着什么?
【问题讨论】:
标签: c++ tooltip mfc-feature-pack