社区
界面
帖子详情
分辨率不同,界面如何自动适应不同的分辨率
Dekn
2005-04-11 01:54:08
用户机器的分辨率不同,用VC做的程序,界面不能适应性的发生变化,我做的全屏程序,请问如何做到窗口大小发生变化,窗口里的元素大小与位置也将相应的作出变化。
...全文
357
10
打赏
收藏
分辨率不同,界面如何自动适应不同的分辨率
用户机器的分辨率不同,用VC做的程序,界面不能适应性的发生变化,我做的全屏程序,请问如何做到窗口大小发生变化,窗口里的元素大小与位置也将相应的作出变化。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dekn
2005-04-12
打赏
举报
回复
假如这个界面中,有很多元件,那我启不是要一个一个的修改其位置与大小?
oyljerry
2005-04-11
打赏
举报
回复
根据分辨率调整大小
EnumDisplaySettings
SetWindowPos
billy145533
2005-04-11
打赏
举报
回复
软件启动更改系统分辩率,结束或被de-active,还原原来的分辩率
tropicscsdn
2005-04-11
打赏
举报
回复
//首先得到整个屏幕的句柄
HDC hDisplay = CreateDC(_T("DISPLAY"), NULL, NULL, NULL);
_ASSERT(NULL!=hDisplay);
//得到屏幕的大小
int nScreenWidth = GetDeviceCaps(hDisplay, HORZRES);
int nScreenHeight = GetDeviceCaps(hDisplay, VERTRES);
//创建内存DC
HDC hMemDc = CreateCompatibleDC(hDisplay);
_ASSERT(NULL != hMemDc);
//创建位图
HBITMAP hBmp = CreateCompatibleBitmap(hDisplay, nScreenWidth, nScreenHeight);
_ASSERT(NULL != hBmp);
//选择位图
HBITMAP hOldBmp = (HBITMAP)SelectObject(hMemDc, hBmp);
_ASSERT(NULL != (DWORD)hOldBmp || GDI_ERROR != (DWORD)hOldBmp);
//复制图形
BOOL blnReturnValue = BitBlt(hMemDc, 0, 0, nScreenWidth, nScreenHeight, hDisplay, 0, 0, SRCCOPY);
_ASSERT(0 != blnReturnValue);
//再次选择
hBmp = (HBITMAP)SelectObject(hMemDc, hOldBmp);
_ASSERT(NULL != (DWORD)hBmp || GDI_ERROR != (DWORD)hBmp);
DeleteDC(hMemDc);
hMemDc = NULL;
int nBits = GetDeviceCaps(hDisplay, BITSPIXEL); //每个象素的位数
DWORD dwLineBits = 0; //每行字节数
switch (nBits)
{
case 16:
dwLineBits = nScreenWidth*2;
break;
case 24:
dwLineBits = (nScreenWidth+1)*3-((nScreenWidth+1)*3)%4;
break;
case 32:
dwLineBits = nScreenWidth*4;
break;
default:
AfxMessageBox("windows screen's format is not right!!");
break;
}
用以上这个方法肯定可以得到屏幕的大小,当然你要用你得稍微改一下!然后具体的你要更改的比例你得自己设定。
miranda2002
2005-04-11
打赏
举报
回复
你可以使用设备坐标按比例来设定窗口的大小
lsvine
2005-04-11
打赏
举报
回复
mark
lsvine
2005-04-11
打赏
举报
回复
mark
Kudeet
2005-04-11
打赏
举报
回复
GetSystemMetric得到窗口的分辨率以后,根据缩放的比例用SetWindowPos改控件的大小和位置
barrassed
2005-04-11
打赏
举报
回复
gz
legendhui
2005-04-11
打赏
举报
回复
gz
android程序
界面
自动
适应
屏幕
分辨率
android程序
界面
自动
适应
屏幕
分辨率
,带有例子,和详细描述
android程序
界面
自动
适应
屏幕
分辨率
例子
NULL 博文链接:https://xiaoning-zhou.iteye.com/blog/1137169
QML SQLite数据库编程
采用QT的前端
界面
QML框架,直接对本地数据库SQLite进行CURD操作;因采用QML技术,学员不需要懂得C++代码;对数据输入的数据校验,采用了在数据输入框相同位置的出错信息提示,更加值观;对数据输入及数据展示,采用了自
适应
布局,适用于
不同
设备的
分辨率
;对数据的展示,分别处理了键盘事件及鼠标事件,适用于桌面程序和移动APP程序;对代码进行逐行解释,适用于零基础的同学;
VC 窗口自
适应
分辨率
针对使用环境:现在显示器更新换代快,MFC写的
界面
在非最佳
分辨率
上显示比较痛苦。本程序针对类似情况重载了一个CDialog类,窗口比给定区域小出现滚动条,比给定区域大,
自动
拉伸 编译环境: VC6.0 (将基类改为CDialog) VS2010 软件描述:Demo中给的窗口时比较极限的位置,有非重载的和重载的,模式的和非模式的。需要拉伸的和出现滚动条的 备注:网上有出现一个重载滚动条的类,我也看了那个类,那个类有点问题,需要把滚动条位置的静态变量改为成员变量。否则多个窗口基于那个类就会出现位置计算错误的问题 第一次上传资源,希望给大家以帮助,有错误希望大家指点
Delphi编制的自
适应
屏幕
分辨率
的窗体继承类
这个是本人最近编制的一个窗体继承类。程序代码很短,但很有用,解决了Delphi程序设计中窗体及其包含的控件自
适应
不同
屏幕
分辨率
的问题。 即你的程序可能是在1024X768屏幕
分辨率
下设计的,但是需要在屏幕
分辨率
为1280X1024的机器上运行,如果不做专门的处理,有些
界面
可能会变形,有些控件可能会看不见。 这个类对上述问题给出了一般性的解决方案,尽管稍嫌 粗糙,但能满足普通软件开发的需要。 用法很简单,只要在新创建的窗体中引用这个类所在的单元,并将TForm1=Class(TForm)改为TForm1=Class(TfdForm)就可以了,其他不需要做任何修改。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章