VC的对话框设计和WM上实际运行的对话框差距非常大

DanielWYO 2010-03-09 02:48:08
我使用的是VS2005.
在VC中拉一个按钮, 控制好大小, 到了WM上实际运行, 发现位置和大小差距非常大.
而如果拉一个图片, 图片却是正常的.

结果, 窗口设计的功能, 有和没有几乎没有差别了, 因为很多东西要不停的猜测位置, 不停的调.

请问一下, 是不是在VS中设置, 有什么选项, 使得VC中拉一个按钮, 在WM中就是如此设计的呢?

...全文
199 13 打赏 收藏 转发到动态 举报
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,这样调起来能省事点。
看看还有没有谁有更好的办法。

7,660

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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