荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: oopilix (优雅的), 信区: Visual
标  题: [合集]CDC::GetViewportExt()c ┅
发信站: 荔园晨风BBS站 (Thu Aug  7 10:58:08 2003), 站内信件

bigone (好好学习) 于Wed Jul 30 15:40:44 2003提到:

        有以下代码:

        void CTestFieldView::OnDraw(CDC* pDC)
        {
        CTestFieldDoc* pDoc = GetDocument();
        ASSERT_VALID(pDoc);
        // TODO: add draw code for native data here
        char buf[100];
        CSize field;
        field = pDC->GetViewportExt();
        itoa(field.cx,buf,10);
        pDC->TextOut(0,0,buf);
        itoa(field.cy,buf,10);
        pDC->TextOut(0,30,buf);
        }

       本来想取得客户窗口的长和宽,然后显示,结果发现长和宽都是1,

    怎么回事啊?


oopilix (优雅的) 于Wed Jul 30 15:52:48 2003提到:

不建议这样。如果你想返回客户区的长和宽,先
CRect *Rect=new CRect();
然后>GetWindowRect();往里面填充。
GetViewportExt返回来的应该是坐标系的标尺单位的大小。


        有以下代码:

        void CTestFieldView::OnDraw(CDC* pDC)
        {
        CTestFieldDoc* pDoc = GetDocument();
        ASSERT_VALID(pDoc);
        // TODO: add draw code for native data here
        char buf[100];
        CSize field;
        field = pDC->GetViewportExt();
        itoa(field.cx,buf,10);
        pDC->TextOut(0,0,buf);
        itoa(field.cy,buf,10);
        pDC->TextOut(0,30,buf);
        }

       本来想取得客户窗口的长和宽,然后显示,结果发现长和宽都是1,

    怎么回事啊?


contonazhao (烦恼的松鼠仔) 于Wed Jul 30 15:54:00 2003提到:


          pDC->TextOut(0,0,buf);


oopilix (优雅的) 于Wed Jul 30 15:55:25 2003提到:

       CString a;
       a.Format("The size.x is %d",filed.cx);
       pDC->TextOut....好了。
          pDC->TextOut(0,0,buf);


bigone (好好学习) 于Wed Jul 30 16:01:39 2003提到:

   哦,还有这样的用法,呵呵

       CString a;
       a.Format("The size.x is %d",filed.cx);
       pDC->TextOut....好了。
          pDC->TextOut(0,0,buf);


oopilix (优雅的) 于Wed Jul 30 16:09:09 2003提到:



   哦,还有这样的用法,呵呵

       CString a;
       a.Format("The size.x is %d",filed.cx);
       pDC->TextOut....好了。
          pDC->TextOut(0,0,buf);


littlebao (爱拼才会赢) 于Thu Jul 31 16:22:55 2003提到:

GetViewPortExt()返回的应该是视口的范围,
是与坐标映射方式相关的值,在默认下(MM_TEXT)是(1,1)


为什么习惯在堆上放变量,个人觉得用CRect rect ;比较好不用自己维护内存^_^



oopilix (优雅的) 于Thu Jul 31 16:25:44 2003提到:

有时候想动态产生一些的话

CRect rect 有时候是不能放到动态的函数里面的。

GetViewPortExt()返回的应该是视口的范围,
是与坐标映射方式相关的值,在默认下(MM_TEXT)是(1,1)


为什么习惯在堆上放变量,个人觉得用CRect rect ;比较好不用自己维护内存^_^



Chengal (浩气冲天) 于Thu Jul 31 22:53:37 2003提到:

CRect rect;
GetClientRect(&rect);
可通过rect对象获取客户端的大小


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店