嗨(虽然问候语通常会被删除),
我正在使用MFC的CTabCtrl控件并尝试确定单击了哪个选项卡(稍后拖放它)。我觉得应该很容易 - 无论如何都被HitTest函数卡住了,无论点击哪个标签都会返回“1”。
当我最近开始这个项目时,它只是少数几行。提到的HitTest函数用在CHlavniOkno :: CTdi :: OnLButtonDown函数的Tdi.cpp文件中(http://nestorovic.hyperlink.cz/cpp_mfc.zip的完整源代码):
afx_msg void CHlavniOkno::CTdi::OnLButtonDown(UINT flagy,CPoint bod){
if (::DragDetect(m_hWnd,bod)){
TCHITTESTINFO hti={bod};
if (int idZalozky=HitTest(&hti)>=0)
parametryTazeneZalozky=new TParametryTazeneZalozky(this,idZalozky);
}
CTabCtrl::OnLButtonDown(flagy,bod);
}
我绝对必须省略一些微小的东西,几乎总是这样......
感谢您抽出时间看看问题。
托马斯
答案 0 :(得分:1)
声明int idZalozky=HitTest(&hti)>=0
正在将idZalozky
设置为测试结果HitTest(&hti)>=0
。作为布尔测试,它将始终返回0或1。
你可能想要:
int idZalozky=HitTest(&hti);
if (idZalozky>=0)
{
...
}