大家好,最近遇到个问题,不知道大虾们遇到过没有?帮忙啊!~问题:我想得到或设定其他窗口的滚动条信息?比如:滚动条的位置,滚动条的范围等等!我的做法:先得到目标窗口的句柄(这个我是用Spy++得到的),比如为:mhWnd, 完了向 mhWnd 发消息:SCROLLINFO si;
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.fMask = SIF_RANGE;::SendMessage(mhWnd, WM_VSCROLL, SB_LINEDOWN, 0); 成功!
::SendMessage(mhWnd, WM_VSCROLL, SB_PAGEDOWN, 0); 成功!
::SendMessage(mhWnd, SBM_GETCROLLINFO, 0, &si); 失败!???为什么会失败呢,同时,我用::GetScrollPos(mhWnd, SB_VERT);也失败,用GetLastError()返回错误码为1447,“无法处理非多重文档界面 (MDI) 窗口中的消息”,我该怎么办呢?用什么方法能正确的得到信息呢?请各位多多指教啊!
ZeroMemory(&si, sizeof(si));
si.cbSize = sizeof(si);
si.fMask = SIF_RANGE;::SendMessage(mhWnd, WM_VSCROLL, SB_LINEDOWN, 0); 成功!
::SendMessage(mhWnd, WM_VSCROLL, SB_PAGEDOWN, 0); 成功!
::SendMessage(mhWnd, SBM_GETCROLLINFO, 0, &si); 失败!???为什么会失败呢,同时,我用::GetScrollPos(mhWnd, SB_VERT);也失败,用GetLastError()返回错误码为1447,“无法处理非多重文档界面 (MDI) 窗口中的消息”,我该怎么办呢?用什么方法能正确的得到信息呢?请各位多多指教啊!
::SendMessage(mhWnd, WM_VSCROLL, SB_LINEDOWN, 0);为什么就成功,而::SendMessage(mhWnd, SBM_GETCROLLINFO, 0, &si);或::GetScrollPos(mhWnd, SB_VERT);就不成功呢?请各位再深入指点下,谢谢!