注册 登录
编程论坛 汇编论坛

讨论RadAsm附带的可视化资源编辑器问题(彻底秒杀)

爱末流 发布于 2012-10-06 01:39, 1980 次点击
今天遇到一个RadAsm附带的可视化资源编辑器超级奇怪的问题
今天写一个拾色器遇到的,就是我在可视化资源编辑器拉出一个图片框(Image)
我在属性里面调整他的宽和高为76,76 然后调用:StretchBlt函数进行图像的拷贝
拷贝的大小根据Image宽和高来拷贝的,居然发现拷贝不能填满整个图片框(Image)(只拷贝了大概3分之1左右)
百思不得其解,然后我讲StretchBlt函数拷贝的大小调为拷贝100,100,发现图片框(Image)差不多填满了图像,

然后我就想可视化资源编辑器的宽和高属性不可能有问题的,我就试着用spy++看看图片框(Image)的矩形大小,居然发现116 x 116 (而不是我设置的76 x 76)
我在试着用QQ截图试试,也和spy++矩形大小相同,我发现果然附带的ResEd.exe (安装RadAsm时候附带的资源编辑器) 有问题

最后我试着用RadAsm里面内镶资源编辑器试试,然后拉出一个图片框(Image)
设置宽和高为76,76 惊讶的发现图片框矩形大小 小了很多,  我现在怀疑RadAsm里面内嵌资源编辑器和附带的ResEd.exe是不是同作者编写的,也同时在想它们是不是同一个资源编辑器,虽然他们一摸一样。

(RadAsm里面内嵌资源编辑是在工程管理新建对话框调出,而ResEd.exe资源编辑器在RadAsm目录下打开的)

(你可以自己测试下,在目录下找到ResEd.exe和用RadAsm里面内嵌资源编辑分别创建一个对话框随便拉入一个图片框或其他控件也可以,然后将他们的宽和高设置相同,看看他们的矩形大小是不是相同的。)


我重新上传了图片:



也许是我错了,可能一个资源编辑器使用的是别的单位,另一个编辑器使用的是像素为单位。一个改变字体大小后控件的高和宽出现变化,另一个资源编辑器改变字体大小后,控件的高和宽没有变化










[ 本帖最后由 爱末流 于 2012-10-6 15:57 编辑 ]
19 回复
#2
信箱有效2012-10-06 02:29
接分
#3
zklhp2012-10-06 08:41
再来几张图估计可以评精华了。。
#4
有容就大2012-10-06 10:32
在填充图片时有没有什么填充方式供选择的?
#5
小习小习2012-10-06 10:38
来顶下
#6
爱末流2012-10-06 12:26
回复 3楼 zklhp
我想上传图片不知道如何上传啊。
#7
爱末流2012-10-06 12:28
回复 4楼 有容就大
这却实是资源编辑器的逻辑错误,函数没有问题
#8
爱末流2012-10-06 12:30
回复 3楼 zklhp
因为你的浏览器的安全设置原因,本编辑器不能直接访问你的剪贴板内容,你需要在本窗口重新粘贴一次。
我粘贴然后点确定,居然没有反应
#9
信箱有效2012-10-06 14:12
这就变颜色了

你难道不知道用的单位不同吗?
#10
爱末流2012-10-06 15:00
回复 9楼 信箱有效
什么单位不同?
#11
爱末流2012-10-06 15:11
回复 9楼 信箱有效

只有本站会员才能查看附件,请 登录
都是使用像素为单位,你试试用附带的资源编辑器创建个图片框,(使用附带的,而不是RadAsm里面的),然后找一些GDI函数涉及到RECT结构体的函数,然后进行图像拷贝,
按像素进行拷贝,我这里就有这样一个程序,我可以发你,你自己试试改了拷贝的宽和高,看看怎么样。然后在用一些工具获取图片框矩形大小,你就明白了

invoke  StretchBlt,@ShowhDC,0,0,115,115,@ScreehDC,@dw_x,@dw_y,16,18,SRCCOPY     ,115,115 是图片框的正确大小。
你在资源脚本文件里面找到这句:
CONTROL "",IDC_IMG_SHOWPIC,"Static",WS_CHILDWINDOW|WS_VISIBLE|SS_SUNKEN|SS_CENTERIMAGE|SS_ICON,3,3,78,72      ;这里显示图片框的大小居然是78,72
然后你将78,72改为StretchBlt函数115,115这两个参数,在编译运行看看效果,然后自己使用spy++获取图片的矩形大小,看看有什么不同
SRCCOPY 是按像素进行复制,StretchBlt 你可以网上看看他是干什么的。





[ 本帖最后由 爱末流 于 2012-10-6 15:13 编辑 ]
#12
信箱有效2012-10-06 15:26
都说了用的单位不同 ,真愁人。
资源编辑器用的单位不是像素,是字体的“单位”。
#13
有容就大2012-10-06 15:39
关注啊 哈哈
#14
爱末流2012-10-06 15:46
回复 12楼 信箱有效
我试试,
#15
爱末流2012-10-06 15:54
回复 12楼 信箱有效
也许是我错了,可能一个资源编辑器使用的是别的单位,另一个编辑器使用的是像素为单位。一个改变字体大小后控件的高和宽出现变化,另一个资源编辑器改变字体大小后,控件的高和宽没有变化。
#16
有容就大2012-10-06 15:58
莫非我眼花了?看你的头像。。。。
只有本站会员才能查看附件,请 登录

#17
爱末流2012-10-06 16:00
回复 16楼 有容就大
。。。。
#18
小习小习2012-10-06 16:21
回复 17楼 爱末流
这头像咋搞的?
#19
信箱有效2012-10-07 01:13
前些天发奋资源,仔细看了书,上面有几句就是说的资源编辑器用的不是像素,所以记得清楚。

楼主估计用的不是罗云斌那本书。 从代码上也能看出来。

楼主别弄什么拾器了,我们写一个屏幕截图小程序吧。
#20
爱末流2012-10-07 11:27
回复 19楼 信箱有效
截图程序没有写过,不会写啊。
1