软件不同屏幕大小适配问题

大树学长 2019-07-23 02:25:04
软件背景是用的一个静态文本框插入图片当背景的,在自己电脑上和测试电脑上都没有问题,在一些笔记本上面会出现背景和整合软件大小不一致的现象,我是在初始化函数中添加的背景

//贴背景图片
HBITMAP hBitmap;
//关联图片ID
hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BITMAP1),
IMAGE_BITMAP, 0, 0,
LR_LOADMAP3DCOLORS);
//获得指向静态控件的指针
CStatic *pStatic = (CStatic *)GetDlgItem(IDC_STATIC7);//控件ID
//设置静态控件的样式,使其可以使用位图,并试位标显示使居中
pStatic->ModifyStyle(0xF, SS_BITMAP | SS_CENTERIMAGE);
//设置静态控件显示位图
pStatic->SetBitmap(hBitmap);
//设置为对话框大小
CWnd *pWnd;
pWnd = GetDlgItem(IDC_STATIC7); //获取控件指针,IDC_EDIT1为控件ID号
int wh, hw;
CRect rt_this;
GetWindowRect(&rt_this);
wh = rt_this.Width();
hw = rt_this.Height();

pWnd->MoveWindow(CRect(0, 0, rt_this.Width(), rt_this.Height()));

就算是这样做有些电脑上打开还是会出现背景和软件不一致的显示,我用的按钮是CBitmapButton,当软件大小改变时按钮部分也会改变导致贴的图片不能完全显示出来,软件是基于对话框做的,不在point中加背景是为了防止闪烁。


还有一个问题就是将缩放设置为175%后,整个软件会比屏幕区域还大,导致软件只会显示一部分,就是按照屏幕大小显示哪部分,超出屏幕的部分就会不显示出来,这种问题要怎么解决?

...全文
965 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
大树学长 2019-07-24
  • 打赏
  • 举报
回复
问题找到了主要是贴在控件上的位图没有跟着控件的大小改变,控件的大小一直都是跟分辨率而变化的
worldy 2019-07-24
  • 打赏
  • 举报
回复
GetDeviceCaps使用参数HORZRES (Width, in pixels, of the screen. )及VERTRES (Height, in raster lines, of the screen.)获取屏幕分辨率,然后再进行调整
大树学长 2019-07-24
  • 打赏
  • 举报
回复

引用 6 楼 走好每一步 的回复:
楼主挺活跃,好久不见了。
不知道现在在做哪个行业,还是做上位机吗?

还在做上位机,搞音乐的
大树学长 2019-07-24
  • 打赏
  • 举报
回复
引用 5 楼 走好每一步 的回复:
[quote=引用 4 楼 大树学长 的回复:]
问题找到了主要是贴在控件上的位图没有跟着控件的大小改变,控件的大小一直都是跟分辨率而变化的


可以考虑 duilib+ MFC 或者QT这些自适应界面的UI
MFC整的实在有点累[/quote]
确实有点,不过我这个界面控件不多加起来就十几个控件处理起来不难,主要是做功能很快,
走好每一步 2019-07-24
  • 打赏
  • 举报
回复
楼主挺活跃,好久不见了。 不知道现在在做哪个行业,还是做上位机吗?
走好每一步 2019-07-24
  • 打赏
  • 举报
回复
引用 4 楼 大树学长 的回复:
问题找到了主要是贴在控件上的位图没有跟着控件的大小改变,控件的大小一直都是跟分辨率而变化的
可以考虑duilib + MFC 或者QT这些自适应界面的UI MFC整的实在有点累
hhhh63 2019-07-23
  • 打赏
  • 举报
回复
获取屏幕分辨率
// 取系统参数,确定显示位置和大小
CRect drc; // 桌面工作区大小,不算任务栏
SystemParametersInfo(SPI_GETWORKAREA,0,drc,0);
int dwidth = drc.Width(); // 桌面工作区宽
int dheight = drc.Height(); // 桌面工作区高
根据屏幕分辨率重排控件和图片
zgl7903 2019-07-23
  • 打赏
  • 举报
回复

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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