关于CtreeCtrl的WM_VSCROLL消息SB_THUMBPOSITION,SB_THUMBTRACK的问题
今天将原有的老项目从VS2003迁移到VS2008发现该问题。
demo如下:
m_ctrltestTree.InsertItem(TEXT("test1"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test2"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test3"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test4"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test5"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test6"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test7"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test8"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test9"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test10"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test11"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test12"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test13"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test14"),TVI_ROOT);
m_ctrltestTree.InsertItem(TEXT("test15"),TVI_ROOT);
HRESULT hRet = m_ctrltestTree.SendMessage( WM_VSCROLL,MAKELONG( SB_THUMBPOSITION,5), NULL);
结果并未跳转到指定的行数,感觉ctrltestTree根本没有处理此消息,在xp系统下完全正常,win7系统下,多字节版本正常,Unicode版本存在此问题,但如果是
HRESULT hRet = m_ctrltestTree.SendMessage( WM_VSCROLL,MAKELONG( SB_LINEUP,0), NULL);
HRESULT hRet = m_ctrltestTree.SendMessage( WM_VSCROLL,MAKELONG( SB_LINEDOWN,0), NULL);又是正常的,
不知有谁碰到过类似问题?