vc中基于Dialog的应用程序,如何在指定的区域内绘制折线图?

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

如果顺利解决,分不够,可以再加!!!
...全文
466 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangpan116 2006-11-08
  • 打赏
  • 举报
回复
静态控件、picture控件或者edit控件等都行啊!比如说你的控件ID是“IDC_STATIC_PANEL”,那么你就可以获得它的CWnd,接下来就可以得到这个矩形区域啦。具体步骤如下:

CWnd* cWnd = GetDlgItem(IDC_STATIC_PANEL);
CRect winRect;
cWnd->GetClientRect(&winRect);

最后,你想怎么样就怎么样了,呵呵

freeman868() 已经写得很清楚了。还不行的话,我发点源代码给你。yangpan116@sina.com
chl_ccssddnn 2006-11-08
  • 打赏
  • 举报
回复
我现在就是想知道怎么酸楚指定区域的坐标啊?比如我用Picture画了一个巨型区域,如何来把他和CRect联系起来呢?
很久不写VC了,现在是硬着头皮再干,需要帮助。
水能解决,可以再给各位加分
脆弱的肠胃 2006-11-08
  • 打赏
  • 举报
回复
算出指定区域的位置坐标,然后生成合适的CRect
或者你说的指定区域是什么意思?
chl_ccssddnn 2006-11-08
  • 打赏
  • 举报
回复
我要求画在指定的区域啊,CRECT怎么和指定区域连到一起啊?
用CWnd* cWnd = GetDlgItem(IDC_STATIC_PANEL);我也试了,还是没能成功,
脆弱的肠胃 2006-11-08
  • 打赏
  • 举报
回复
在Dialog上直接画即可,比如先画一个CRect,然后声明一个CPaintDC,使用该CPaintDC画。
相对的位置可以GetClientRect得到,反正需要计算相对位置
freeman868 2006-11-08
  • 打赏
  • 举报
回复
静态控件、picture控件或者edit控件等都行啊!比如说你的控件ID是“IDC_STATIC_PANEL”,那么你就可以获得它的CWnd,接下来就可以得到这个矩形区域啦。具体步骤如下:

CWnd* cWnd = GetDlgItem(IDC_STATIC_PANEL);
CRect winRect;
cWnd->GetClientRect(&winRect);

最后,你想怎么样就怎么样了,呵呵
DentistryDoctor 2006-11-08
  • 打赏
  • 举报
回复
响应WM_PAINT, 在OnPaint中绘制即可。
syy64 2006-11-08
  • 打赏
  • 举报
回复
GetClientRect;SetClientRect;
OnPaint
chl_ccssddnn 2006-11-08
  • 打赏
  • 举报
回复
请发邮件给我个例子
chl_ccssddnn 2006-11-07
  • 打赏
  • 举报
回复
静态控件,picture控件?如何获得他们的坐标呢、?设置背景色可能在知道坐标后好做些!
我顶,等待高手!
lovestudycc 2006-11-07
  • 打赏
  • 举报
回复
静态控件或许可以吧

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧