我刚开始学VC界面编程,还请大家多多照顾.
我遇到一个问题:要得到CScrollView窗口中包括滚动条在内的整个客户区的CRect值要怎么办?
我试过用GetClientRect(),可是这个函数得到的区域是不包括滚动条在内的,如果可以的话请给出示例代码,在线等,问题解决马上结贴.

解决方案 »

  1.   

    用GetScrollBarSizes()就可以获取你当前整个客户区的大小了。
      

  2.   

    to happyparrot:可是我为什么在msdn里找不到这个函数呢?
      

  3.   

    sorry,这个函数不对,是获取滚动条宽度的。
      

  4.   

    应该是: CSize sz = GetTotalSize();
      

  5.   

    to happyparrot:
        GetTotalSize()得到是逻辑值,因为我是要取得CRect的设备相关值,所以这个函数不太适合。to All:    谢谢大家的热心帮助,我刚才在旧的贴子上找到了答案,公布如下:
             //pWnd 为指向CView的指针。
             CRect rect;
             pWnd->GetClientRect(rect);
      DWORD dwStyle = pWnd->GetStyle();
    if(dwStyle & WS_VSCROLL)
    rect.right += GetSystemMetrics(SM_CXVSCROLL);
    if(dwStyle & WS_HSCROLL)
    rect.bottom += GetSystemMetrics(SM_CYHSCROLL);