如何在窗口中绘制图形?

No9 2002-08-13 05:41:42
我想在一个窗体,比如说对话框中,我想在其上的某一个确定的位置上绘制一个图形(比如一个矩形),我应该怎么做呢?
我听一位高人指点说最后的办法是在对话框上放置一个Picture控件,取消其Visible属性,然后取得其大小就可以绘制了。
但我应该这么确定其所在的窗口位置呢?
...全文
182 39 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
No9 2002-09-03
  • 打赏
  • 举报
回复
已经结贴!
最终看来还是 ymbymb 的方法正确!

谢谢各位的参与,来者皆为客,每位也多少分一点了!
No9 2002-08-20
  • 打赏
  • 举报
回复
搞笑?!

我想不会是讽刺?!
是夸奖!?!谢谢!
No9 2002-08-20
  • 打赏
  • 举报
回复
我想你说的是指CRect类的成员函数吧!?
gameboy999 2002-08-20
  • 打赏
  • 举报
回复
API有的,好像是offset(xxx)

不过那个函数也是二次封装的,不算SDK的API

“但顺便再问一下,难得这么常用的功能,在windows中居然没有直接的API函数吗?
不是有高手保留了吧?”

我倒觉得你这句话很高笑~~~
No9 2002-08-20
  • 打赏
  • 举报
回复
宝贵的api资源?
~~
真的吗?
ymbymb 2002-08-19
  • 打赏
  • 举报
回复
老兄,我说得很明白了,两个相对与屏幕的绝对作标相减不就
是相对作标了,你要再不明白,神仙都没得救了.
Kiloy 2002-08-19
  • 打赏
  • 举报
回复
MS是不会为了一个减法而浪费可贵的api资源的
No9 2002-08-19
  • 打赏
  • 举报
回复
To ymbymb:
老兄,我又仔细看了看你的回复,抱歉,一开始没有仔细看,原来你是又在原来的基础上作了一次减法,我想构思应该可以成功,我先试试!

但顺便再问一下,难得这么常用的功能,在windows中居然没有直接的API函数吗?
不是有高手保留了吧?

欢迎各路高手提供宝贵的回答!!!
7zkeeper 2002-08-18
  • 打赏
  • 举报
回复
就是在控件上绘图,重载控件的drawItem
wei_gogo 2002-08-18
  • 打赏
  • 举报
回复
看了大家的对白我笑死了,朋友,你有点搞笑!
No9 2002-08-18
  • 打赏
  • 举报
回复
各位老兄,为什么没有人知道这么得到控件的位置呢?
softwarejl 2002-08-17
  • 打赏
  • 举报
回复
和在VIEW中的绘制是一个方法啊,关键是坐标的计算 。

这个要对 CRECT CPOINT CSIZE一些要非常熟练才行
No9 2002-08-17
  • 打赏
  • 举报
回复
我并不是想使用这个控件去绘图的,只是想利用它去定位而已!

关键是如何去定位???
liuns 2002-08-17
  • 打赏
  • 举报
回复
the first is get the picture device handle which is called hdc
No9 2002-08-17
  • 打赏
  • 举报
回复
得到他的窗口句柄是很简单的——GetDlgItem()就OK了!

但能够得到窗口rect的函数我知道只有:
GetWindowRect()——相当于桌面窗口的;
GetClientRect()——相当于它它自己的;
但好像它们都不能没有这里的要求!

即它们只能得到控件的大小(width,height),而不能得到控件相当于对话框的实际位置,而这里需要得到相当于对话框的位置后才能绘制图形呀?
No9 2002-08-17
  • 打赏
  • 举报
回复
To WEIWEI2002:
GetWindowRect()我也想到过了,但这个函数得到rect是相当于窗口的,而不是相当于当前对话框的,我了解没有错误吧!?
ymbymb 2002-08-16
  • 打赏
  • 举报
回复
太容易了,你不就想知道该控件在对话框中的相对位置嘛,比如你有一个button
你先用MyDlg.GetWindowRect(&rect1), 再用MyButt.GetWindowRect(&rect2)
button在对话框中的作标:point.x = rect2.left - rect1.left
point.y = rect2.top - rect1.top
TwjgoTwjgo 2002-08-16
  • 打赏
  • 举报
回复

得到他的窗口句柄就可以了!
  • 打赏
  • 举报
回复
up!!!
  • 打赏
  • 举报
回复
up!!!
加载更多回复(19)

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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