| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6145 人关注过本帖
标题:对话框中画图
只看楼主 加入收藏
lqqnjust
Rank: 1
来 自:江苏南通
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-7-17
结帖率:100%
收藏
 问题点数:0 回复次数:7 
对话框中画图
我建了个对话框,里面有个组框控件,我想通过设定一个按钮来在组框中画图,但是始终画不了,希望会的教一下。最好能将原理说一下,谢谢了
搜索更多相关主题的帖子: 对话框 画图 组框 
2008-11-30 11:45
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
假如按钮响应函数名字为OnTest(),则你要画图可以用以下代码

OnTest()
{
  CDC *pdc=GetDC(); //获取对话框的CDC指针,用来画图的
  pdc->DrawText(0,0,"test"); 在左上角画一个字符串test
  
  //如果想画图片  
  CBitmap bitmap;
  bitmap.LoadBitmap(IDB_BITMAP); //假如图片ID号是IDB_BITMAP)
  BITMAP bitinfo;
  bitmap.GetBitmap(&bitinfo); //获取图片信息
  CDC memdc;
  memdc.CreateCompatibleDC(pdc); //创建一个临时CDC
  memdc.SelectObject(&bitmap); //选择图片,

  pdc->BitBlt(0,0,100,100, &memdc,0,0,SRCCOPY  );
    //上述将图片IDB_BITMAP画到了左上角处为0,0坐标位置宽和长100的位置上的
   //从memdc的临时CDC中读取画的数据,然后从图片0,0的位置画起,
  
   pdc->StretchBlt(0,110,120,120,&memdc,0,0,bitinfo.bmWidth,
        bitinfo.bmHeight,SRCCOPY);
  //上述为拉缩方式画图片,将图片画到0,110位置处的长和宽为120的位置,并且按图片
 //大小拉缩方式画出来
  ReleaseDC(pdc); //释放获取到的对话框CDC指针



}

[[it] 本帖最后由 余来 于 2008-11-30 17:16 编辑 [/it]]

2008-11-30 17:13
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
先用CDC *pDc=((CWnd *)GetDlgItem(IDC_PAINT))->GetDC();得到DC句柄(IDC_PAINT是组框的ID)
再用响应鼠标消息用
pDc->MoveTo(oldpoint);
pDc->LineTo(point);
就可以画图了
2008-12-01 10:38
lqqnjust
Rank: 1
来 自:江苏南通
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-7-17
收藏
得分:0 
回复 第3楼 沼泽 的帖子
这些语句是放在哪个函数里的啊?OnPaint?还是那个按钮的触发语句啊?

正在学习编程。希望各位不吝赐教,(*^__^*) 嘻嘻……
2008-12-01 23:00
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
响应鼠标消息函数里面,主要是鼠标按下的消息
2008-12-02 08:21
lqqnjust
Rank: 1
来 自:江苏南通
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-7-17
收藏
得分:0 
回复 第5楼 沼泽 的帖子
那是不是ONPAINT函数就可以删掉拉?

正在学习编程。希望各位不吝赐教,(*^__^*) 嘻嘻……
2008-12-02 16:05
沼泽
Rank: 4
等 级:业余侠客
威 望:8
帖 子:291
专家分:228
注 册:2008-9-15
收藏
得分:0 
ONPAINT函数是在窗口刷新重绘时响应的,如果不需要也可以不要的
2008-12-02 23:31
lqqnjust
Rank: 1
来 自:江苏南通
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-7-17
收藏
得分:0 
回复 第7楼 沼泽 的帖子
哦。谢谢了,最后一个问题,想要将上面所画的图形再删掉,就是清空该调用啥么函数 啊?

正在学习编程。希望各位不吝赐教,(*^__^*) 嘻嘻……
2008-12-03 08:21
快速回复:对话框中画图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012435 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved