社区
Windows客户端开发
帖子详情
VC的对话框设计和WM上实际运行的对话框差距非常大
DanielWYO
2010-03-09 02:48:08
我使用的是VS2005.
在VC中拉一个按钮, 控制好大小, 到了WM上实际运行, 发现位置和大小差距非常大.
而如果拉一个图片, 图片却是正常的.
结果, 窗口设计的功能, 有和没有几乎没有差别了, 因为很多东西要不停的猜测位置, 不停的调.
请问一下, 是不是在VS中设置, 有什么选项, 使得VC中拉一个按钮, 在WM中就是如此设计的呢?
...全文
199
13
打赏
收藏
VC的对话框设计和WM上实际运行的对话框差距非常大
我使用的是VS2005. 在VC中拉一个按钮, 控制好大小, 到了WM上实际运行, 发现位置和大小差距非常大. 而如果拉一个图片, 图片却是正常的. 结果, 窗口设计的功能, 有和没有几乎没有差别了, 因为很多东西要不停的猜测位置, 不停的调. 请问一下, 是不是在VS中设置, 有什么选项, 使得VC中拉一个按钮, 在WM中就是如此设计的呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DanielWYO
2010-03-26
打赏
举报
回复
虽然我自己纯粹使用手动调了. 但是这个的解决办法我也找到了.
就是强制把窗口的字体设置为"新宋体" 字号为6.
等到界面设计完成之后, 再修改为其它所需要的字体.
烂番
2010-03-18
打赏
举报
回复
在窗体属性“Font”里选择实际运行时使用的字体名及size
之后,窗体大小、控件位置都是严格1:1的了,只不过这时资源管理器里显示的效果可能就比较别扭了
如果没有相对应的字体就比较麻烦了
当控件个数达一定规模时,直接在资源管理器里做出精确的界面,肯定是最高效的
程老师2088
2010-03-17
打赏
举报
回复
有没有人做界面的教一下我啊
peng_qi2008
2010-03-16
打赏
举报
回复
setwindowspos调啊
用代码实现位置,单纯的使用RC 不精确,窗口容易变化
st_cruze
2010-03-15
打赏
举报
回复
还是动态创建的方便准确一些,拖拽出来的很容易出现位置不准的情况,而且在不同品牌的mobile手机上也可能会出现很严重的漂移现象
sevenzhy
2010-03-12
打赏
举报
回复
呵呵~ 一般对话框还是用rc方便点,基本上调一调就可以确定合适的大小。
如果控件多的话,movewindow 即繁琐又降低效率.
sevenzhy
2010-03-12
打赏
举报
回复
[Quote=引用 7 楼 danielwyo 的回复:]
MoveWindow不会太麻烦的.
我做了一个INI, 里面记录了各个控件位置.
封装了一个函数, 里面读取INI文件中设定好的位置, 然后批量MoveWindow.
to sevenzhy:
你可以试试看里面既有图片, 又有普通按钮, 就会发现, 这个调, 几乎是不可能的, 累死人.
[/Quote]
呵呵~ 不错不错~ 集思广益~ 其实有些功夫到头来还是得下的~~
你这个方法我记下了~ 可以参考参考。
谢啦
DanielWYO
2010-03-12
打赏
举报
回复
MoveWindow不会太麻烦的.
我做了一个INI, 里面记录了各个控件位置.
封装了一个函数, 里面读取INI文件中设定好的位置, 然后批量MoveWindow.
to sevenzhy:
你可以试试看里面既有图片, 又有普通按钮, 就会发现, 这个调, 几乎是不可能的, 累死人.
DanielWYO
2010-03-09
打赏
举报
回复
可能是有一个比例系数, 不过这个比例系数又对图形控件无效的, 图形控件多大结果就多大, 不会有拉伸比例. 所以这点很诡异, 控件多了, 让界面会看起来很乱.
还有, 这个比率倒不是从界面设计器到RC这一步做的, 我比较过RC, RC文件还是严格按照界面设计器上的设计来的, 没有拉伸什么的.
现在我已经完全放弃了使用RC文件来控制对话框中控件的位置了, 而是在代码中使用MoveWindow来做, 这样还靠谱一点, 通过界面设计器来做界面, 太不靠谱了.
sevenzhy
2010-03-09
打赏
举报
回复
从资源编辑器的视图到设备视图,据说这里存在一个比例系数呢。
具体忘了,在外文网站看到的,不过好像也只是经验来的。
我的建议是,手工定制对话框资源,即编辑.rc文件,直接设定对话框的大小,以及各控件的大小和位置。
如果你的程序有多个对话框的话,直接编辑.rc文件可以很方便的统一你的对话框和控件风格。
基本上你试验过几次就能确定你的对话框设置为多大刚好能占据窗口,控件如何摆放比较美观了。
另外,在设备上实际显示的对话框和控件的大小和位置,你还可以在程序中进行MoveWindow()调整嘛。
儿大不由爷
2010-03-09
打赏
举报
回复
这个控件的位置和系统使用的字体还有关系,所以最好不要依赖资源管理器中设置的位置。
DanielWYO
2010-03-09
打赏
举报
回复
嗯. 刚刚我忙乎了半天.
发现这个倒不是VC本身的问题, 从VC的界面设计器到对应的资源文件这一部, 确实是按部就班的按照具体的对应来的.
关键在编译的时候, 编译好的程序, 并不是按照资源文件中的描述来的, 而是有所拉伸, 当然, 类似于图片类型的资源是不会拉伸, 结果, 一些控件会自动拉伸, 一些不会, 所以界面完全混乱了. 甚至还不如自己在代码中手动控制.
不过我还是认为这里可能会有一个选项来控制. 就是不知道这个会是什么样的选项.
世外涛缘
2010-03-09
打赏
举报
回复
对VC的支持是不太好。
不过可以将对话框预先设置为240×320,这样调起来能省事点。
看看还有没有谁有更好的办法。
wince的GPS模拟器
对CE一体机上的GPS软件,若其GPS软件无法在Device Emulator中
运行
,则无法借 助Virace测试,除非能把PC的物理串口接到CE一体机的CPU串口上(若有的话)。 =====================================================...
关于
WM
_ERASEBKGND和
WM
_PAINT的深刻理解
关于
WM
_ERASEBKGND和
WM
_PAINT的深刻理解 原创 ...
模拟Vista侧边栏的CPU仪表盘(
VC
6)
在Vista系统的侧边栏有很多好用的...所以现在我用
VC
6来写一个很小的
对话框
程序模拟这个控件。作为Demo,我只是做了显示CPU的,效果如下所示: 如何查询CPU占用率,这是一个比较少用到的需求(我在这里不打算详...
一些
vc
开发浏览器及插件的资料
示例程序
运行
效果图 第一种方法:使用脚本语言和IE右键菜单 我们可以使用注册表来控制IE右键菜单.当你装了FlashGet(网际快车)时,你会发现IE右键菜单多了两项:"使用网际快车下载"和"使用网际快车下载全部链接...
用
vc
进行com编程
完全是根据我自己的学习体会写的,其中若有技术上的错误之处,请大家多多指正。 一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望...
Windows客户端开发
7,660
社区成员
18,840
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章