社区
界面
帖子详情
MFC界面在不同分辨率下显示有问题 的问题
rongewu2006
2009-02-23 11:22:57
我做的一个MFC的界面。里面有用静态框控件画图的
有我自己用CDC画的多个框框,里面也是自己涂上的颜色,
里面放了一些按钮和文本框之类的控件。
这样做主要是为了显示成一块一块地好看。
但是当我把Windows桌面的分辨率改小后界面显示就会出问题。
显示出了一些多余的线条和块之类,请问谁知道这个问题怎么解决吗?
由于我这个问题比较急,所以自己也没有太多的时间试来试去的。
请知道的人多多关照一下。谢谢!!
...全文
898
8
打赏
收藏
MFC界面在不同分辨率下显示有问题 的问题
我做的一个MFC的界面。里面有用静态框控件画图的 有我自己用CDC画的多个框框,里面也是自己涂上的颜色, 里面放了一些按钮和文本框之类的控件。 这样做主要是为了显示成一块一块地好看。 但是当我把Windows桌面的分辨率改小后界面显示就会出问题。 显示出了一些多余的线条和块之类,请问谁知道这个问题怎么解决吗? 由于我这个问题比较急,所以自己也没有太多的时间试来试去的。 请知道的人多多关照一下。谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Usopp_Dream
2012-09-10
打赏
举报
回复
多谢楼主
gamedragon
2009-02-24
打赏
举报
回复
GetScrollPosition可以拿到当前offset,SetViewPortOrg可以设置画图坐标的映射
rongewu2006
2009-02-24
打赏
举报
回复
好了我也知道了 在OnHScroll 和OnVScroll函数里刷新就行了
rongewu2006
2009-02-24
打赏
举报
回复
感谢楼上的给我指点,我用了GetScrollPosition可以得到当前可视部分左上角相对于
整个视图的位置。但我还有个问题,拖动后要对其进行刷新一次,要在哪里做啊。或者怎么做
因为不刷新就会有一些多余的线条和文字。
allenhiman
2009-02-23
打赏
举报
回复
改变屏幕分辨率后你的程序要进行必要的画图更新。 一些绝对坐标相对于窗口的位置就变了,想必你也清楚屏幕分辨率改变后可能带来的副作用,这要看你的具体代码了。 比如一些绝对坐标值,在不同分辨率下,为了保持原来的格局就要变动.
rongewu2006
2009-02-23
打赏
举报
回复
是啊 当滚动的时候总是在可见的左上角的坐标为(0,0)
都是以左上角的坐标为基准计算的。
请问要怎么映射啊?根据什么来映射
是否滚动条有相对应的函数吧?
gamedragon
2009-02-23
打赏
举报
回复
滚动的时候看一下当前View的左上角坐标,你画图也要根据这个坐标做调整的。
就是说虽然滚动了了View,但是如果没改变映射关系,你在(0,0)画点,它还是在可见的左上角。
rongewu2006
2009-02-23
打赏
举报
回复
我在1024*768的分辨率下编的程序,如果改成分辨率比这个大的话无所谓。只是界面整体变小了
但如果改成比这个小的话就会有问题了如改成800*600就有问题
我的界面不能够完全显示在屏幕上,而会出现一个竖的滚动条和一个横的滚动条。在拖动滚动条的时候
Windows的控件会随着滚动上下左右正常地移动。但是我自己画的线条和描的颜色就不行了
它会按照当前可见的部分取相对位置不动。
比如说我刚打开软件时是在显示器的正中间位置画了一条线。线的下面有个按钮
在我拖动滚动条后刷新,那个按钮的位置会随着拖动而移动到显示的上面部分
而那条线却仍然还是显示在显示器的中间位置
大家有什么帮我解决这个问题的好办法啊
MFC
界面
等比例缩放功能
MFC
中根据
界面
放大缩小,
界面
控件字体进行等比例缩放。 https://qing666888.blog.csdn.net/article/details/39274133
MFC
根据
分辨率
自动缩放控件 图片控件缩放 VS2010编译 按钮美化
MFC
根据
分辨率
自动缩放控件 图片控件缩放 VS2010编译 按钮美化
MFC
环境下的免费
界面
库
在
mfc
环境下使用的
界面
库,网上收集来的,希望对大家有帮助
C++
MFC
界面
开发:实现
界面
元素对
分辨率
变化的自适应调整方法
内容概要:本文档详细介绍了在C++环境下利用
MFC
(Microsoft Foundation Classes)进行
界面
开发时,如何让
界面
元素能够自动适应屏幕
分辨率
的变化。具体步骤包括定义并初始化一个矩形对象来记录初始窗口尺寸,在窗口大小发生变动时计算新的宽高比例,并据此调整各个控件的新位置与大小,最后通过重载WM_SIZE消息处理程序完成整个流程。此外还考虑到了首次加载以及最小化等情况下的特殊情况处理。 适用人群:熟悉C++编程语言并且有一定
MFC
开发经验的程序员。 使用场景及目标:当应用程序运行于
不同
分辨率
显示
器或者用户手动调整了应用窗口大小的情况下,确保所有UI组件都能正确地重新布局而不失真。 其他说明:文中提供的解决方案适用于基于
MFC
框架构建的应用程序,对于其他GUI库可能需要做适当调整。同时,开发者也可以在此基础上进一步优化控件缩放效果,如加入平滑过渡动画等特性。
VC 窗口自适应
分辨率
针对使用环境:现在
显示
器更新换代快,
MFC
写的
界面
在非最佳
分辨率
上
显示
比较痛苦。本程序针对类似情况重载了一个CDialog类,窗口比给定区域小出现滚动条,比给定区域大,自动拉伸 编译环境: VC6.0 (将基类改为CDialog) VS2010 软件描述:Demo中给的窗口时比较极限的位置,有非重载的和重载的,模式的和非模式的。需要拉伸的和出现滚动条的 备注:网上有出现一个重载滚动条的类,我也看了那个类,那个类有点
问题
,需要把滚动条位置的静态变量改为成员变量。否则多个窗口基于那个类就会出现位置计算错误的
问题
第一次上传资源,希望给大家以帮助,有错误希望大家指点
界面
15,978
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章