社区
Windows客户端开发
帖子详情
VC的对话框设计和WM上实际运行的对话框差距非常大
DanielWYO
2010-03-09 02:48:08
我使用的是VS2005.
在VC中拉一个按钮, 控制好大小, 到了WM上实际运行, 发现位置和大小差距非常大.
而如果拉一个图片, 图片却是正常的.
结果, 窗口设计的功能, 有和没有几乎没有差别了, 因为很多东西要不停的猜测位置, 不停的调.
请问一下, 是不是在VS中设置, 有什么选项, 使得VC中拉一个按钮, 在WM中就是如此设计的呢?
...全文
204
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模拟器
Virace GPS Simulator V0.3.1 自述文件 2009.6.7 ====================================================================== Virace GPS Simulator是什么? ====================================================================== Virace GPS Simulator(以下简称为Virace)用软件模拟GPS接收器输出的GPS语 句,通过串行口输出到GPS应用软件。用鼠标或键盘控制Virace而模拟
实际
GPS接 收器的运动,或者重播已有的GPS航迹文件,从而在室内测试GPS导航软件等。 Virace具有手动实时控制及航迹重播两种方式。为了控制灵活方便,Virace定义 了许多鼠标及键盘动作。经过少许试用,就可以对照一个大比例尺的导航地图以 超过正常驾车速度行驶在市区及郊区路上。 ====================================================================== Virace
运行
在什么操作系统下? ====================================================================== Windows ====================================================================== Virace
运行
的方式 ====================================================================== 1. Windows下的GPS软件可通过Virace的虚拟串口直接测试。 2. Windows下有微软的Device Emulator,因此部分与Device Emulator兼容的 PPC、CE、SP软件可以在Device Emulator中模拟测试,由Virace提供GPS信号。 3. 可以将Virace输出到蓝牙的输出COM口,测试使用蓝牙GPS模块的PPC、SP及 Symbian S60等GPS软件。 4. Virace输出到PC的物理COM口,测试任何与PC物理串口连接的GPS设备 5. 用Virace将plt、gpx、kml、gpssim、trk格式的航迹文件,转为带速度、方 位角,及卫星状态的nmea文件,再在GpsGate内播放。 ====================================================================== Virace的特点 ====================================================================== 四种模式:自由驾驶模式 + 三种航迹重播模式(逐点重放航迹模式,手控速度 航迹模式,比例速度航迹模式)。
运行
中根据需要可在四种模式间无缝自由切换。 航迹文件支持plt、gpx(含gpx航迹及Garmin详细航线)、kml、gpssim、trk。 可将航迹文件另存为带速度、方位角,及卫星状态的nmea文件。 航迹重播时具有丰富的控制项,可快进、快退,选择某个段,反序,循环,亦可 人为加入左右偏移。 载入航迹时可选过滤掉点数少或距离小的段。 可选与PC版OziExplorer交互
运行
。通过Ozi API,在Ozi中双击地图上的某点, Virace就立即跳跃至该点(自由驾驶模式),或跳至离该点最近的航迹(航迹 重播模式);单击地图上的某点,则以当前速度向该点行驶(自由驾驶模式)。 最多3路COM口输出,加1路Ozi输出。每路的参数是独立选择的,且可以独立启停。 支持虚拟串口。与Eltima Virtual Serial Port ActiveX Control V2.5及对应的 Eltima Virtual Serial Port Driver兼容。注:Eltima Virtual Serial Port 是共享软件,一切权利归其所有人。Virace的发行包内不包括该虚拟串口驱动及 控件,请自行购买或下载试用版。 多种转向方式。鼠标滚轮,Ozi中单击,键盘左右箭头等。另有键盘45度及10度转 向键。键盘左右箭头及鼠标滚轮的转向灵敏度可自定义。 多个预设的速度键及上下箭头加减速,另外可随时暂停(速度为0,但依然输出GPS 信号)。 在退出时自动保存当前位置(经纬度、速度、方位角等)及所有
关于
WM
_ERASEBKGND和
WM
_PAINT的深刻理解
关于
WM
_ERASEBKGND和
WM
_PAINT的深刻理解 原创 ...
一些
vc
开发浏览器及插件的资料
如何往IE工具条添加按钮 问题提出: 金山词霸、网络蚂蚁等软件安装后会向IE的工具条添加自己的按钮。按下按钮后还会作出相应的动作,这种功能是如何实现的呢?读完本文,您也可以将自己应用程序的按钮添加到IE的工具条中。 基本原理: 从IE5开始便允许我们向工具栏添加自己的按钮,其本质就是修改注册表,添加创建此按钮所需的信息。 实现步骤: 1.创建此按钮的GUID(globally uniq
模拟Vista侧边栏的CPU仪表盘(
VC
6)
在Vista系统的侧边栏有很多好用的桌面小工具,不过长期以来最吸引我的还是那个用显示的CPU和存储占用的指针仪表盘,一直觉得这是一个很不错的创意控件。所以现在我用
VC
6来写一个很小的
对话框
程序模拟这个控件。作为Demo,我只是做了显示CPU的,效果如下所示: 如何查询CPU占用率,这是一个比较少用到的需求(我在这里不打算详...
用
vc
进行com编程
用
VC
进行COM编程所必须掌握的理论知识 这篇文章是给初学者看的,尽量写得比较通俗易懂,并且尽量避免编程细节。完全是根据我自己的学习体会写的,其中若有技术上的错误之处,请大家多多指正。 一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化
Windows客户端开发
7,656
社区成员
18,840
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章