| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1980 人关注过本帖
标题:讨论RadAsm附带的可视化资源编辑器问题(彻底秒杀)
取消只看楼主 加入收藏
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
讨论RadAsm附带的可视化资源编辑器问题(彻底秒杀)
今天遇到一个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 编辑 ]
搜索更多相关主题的帖子: 编辑器 资源 拾色器 
2012-10-06 01:39
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 3楼 zklhp
我想上传图片不知道如何上传啊。
2012-10-06 12:26
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 4楼 有容就大
这却实是资源编辑器的逻辑错误,函数没有问题
2012-10-06 12:28
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 3楼 zklhp
因为你的浏览器的安全设置原因,本编辑器不能直接访问你的剪贴板内容,你需要在本窗口重新粘贴一次。
我粘贴然后点确定,居然没有反应
2012-10-06 12:30
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 9楼 信箱有效
什么单位不同?
2012-10-06 15:00
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 9楼 信箱有效

拾色器.rar (99.23 KB)
都是使用像素为单位,你试试用附带的资源编辑器创建个图片框,(使用附带的,而不是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 编辑 ]
2012-10-06 15:11
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 12楼 信箱有效
我试试,
2012-10-06 15:46
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 12楼 信箱有效
也许是我错了,可能一个资源编辑器使用的是别的单位,另一个编辑器使用的是像素为单位。一个改变字体大小后控件的高和宽出现变化,另一个资源编辑器改变字体大小后,控件的高和宽没有变化。
2012-10-06 15:54
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 16楼 有容就大
。。。。
2012-10-06 16:00
爱末流
Rank: 2
等 级:论坛游民
帖 子:101
专家分:16
注 册:2011-6-3
收藏
得分:0 
回复 19楼 信箱有效
截图程序没有写过,不会写啊。
2012-10-07 11:27
快速回复:讨论RadAsm附带的可视化资源编辑器问题(彻底秒杀)
数据加载中...
 
   



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

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