要求用对话框(有按钮等控件占用了一部分区域),取其中一个矩形区域用于绘制图形,该区域背景色为蓝色。我很久没做这种东西了,实在想不出用什么控件来定义这个区域(这个区域应该利用界面剩余的有效空间),以及得到这个矩形区域的坐标,这样我才能为我的折线点算坐标吖!如果顺利解决,分不够,可以再加!!!

解决方案 »

  1.   

    静态控件,picture控件?如何获得他们的坐标呢、?设置背景色可能在知道坐标后好做些!
    我顶,等待高手!
      

  2.   

    GetClientRect;SetClientRect;
    OnPaint
      

  3.   

    响应WM_PAINT, 在OnPaint中绘制即可。
      

  4.   

    静态控件、picture控件或者edit控件等都行啊!比如说你的控件ID是“IDC_STATIC_PANEL”,那么你就可以获得它的CWnd,接下来就可以得到这个矩形区域啦。具体步骤如下:  CWnd* cWnd = GetDlgItem(IDC_STATIC_PANEL);
      CRect winRect;
      cWnd->GetClientRect(&winRect);最后,你想怎么样就怎么样了,呵呵
      

  5.   

    在Dialog上直接画即可,比如先画一个CRect,然后声明一个CPaintDC,使用该CPaintDC画。
    相对的位置可以GetClientRect得到,反正需要计算相对位置
      

  6.   

    我要求画在指定的区域啊,CRECT怎么和指定区域连到一起啊?
    用CWnd* cWnd = GetDlgItem(IDC_STATIC_PANEL);我也试了,还是没能成功,
      

  7.   

    算出指定区域的位置坐标,然后生成合适的CRect
    或者你说的指定区域是什么意思?
      

  8.   

    我现在就是想知道怎么酸楚指定区域的坐标啊?比如我用Picture画了一个巨型区域,如何来把他和CRect联系起来呢?
    很久不写VC了,现在是硬着头皮再干,需要帮助。
    水能解决,可以再给各位加分
      

  9.   

    静态控件、picture控件或者edit控件等都行啊!比如说你的控件ID是“IDC_STATIC_PANEL”,那么你就可以获得它的CWnd,接下来就可以得到这个矩形区域啦。具体步骤如下:  CWnd* cWnd = GetDlgItem(IDC_STATIC_PANEL);
      CRect winRect;
      cWnd->GetClientRect(&winRect);最后,你想怎么样就怎么样了,呵呵freeman868() 已经写得很清楚了。还不行的话,我发点源代码给你。[email protected]