社区
界面
帖子详情
WINdows窗口的背景图片,有什么办法可以移动这个背景图片吗?
fengshangren
2019-01-25 11:35:21
我看到一个C++写的程序,他只有一个窗口,图片就放在窗口背景图片上,但是他滚动条可以移动这个图片坐标。请问是怎么做到的。不用移动组件的办法来移动图片。只移动图片
...全文
245
6
打赏
收藏
WINdows窗口的背景图片,有什么办法可以移动这个背景图片吗?
我看到一个C++写的程序,他只有一个窗口,图片就放在窗口背景图片上,但是他滚动条可以移动这个图片坐标。请问是怎么做到的。不用移动组件的办法来移动图片。只移动图片
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CT8100
2019-01-26
打赏
举报
回复
重绘
zgl7903
2019-01-25
打赏
举报
回复
用
CScrollView Class
或者窗口添加相应的滚动处理
Eleven
2019-01-25
打赏
举报
回复
https://www.codeproject.com/Articles/3175/Displaying-Bitmap-with-Scrolling
fengshangren
2019-01-25
打赏
举报
回复
我看到一个源码他是这样写的,这是怎么搞的,能简单说一下吗
fengshangren
2019-01-25
打赏
举报
回复
[quote=引用 2 楼 schlafenhamster 的回复:] // 初始化窗口大小结构 m_hDC = ::GetDC(m_hWnd); m_hMemDC = CreateCompatibleDC(m_hDC); m_hFullBitmap = CreateDIBSection(m_hDC, m_lpbmi, DIB_RGB_COLORS, &m_lpScreenDIB, NULL, NULL); SelectObject(m_hMemDC, m_hFullBitmap); SetScrollRange(SB_HORZ, 0, m_lpbmi->bmiHeader.biWidth); SetScrollRange(SB_VERT, 0, m_lpbmi->bmiHeader.biHeight); InitMMI(); SendNext(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CScreenSpyDlg::ResetScreen() { UINT nBISize = m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; if (m_lpbmi != NULL) { int nOldWidth = m_lpbmi->bmiHeader.biWidth; int nOldHeight = m_lpbmi->bmiHeader.biHeight; delete[] m_lpbmi; delete[] m_lpbmi_rect; m_lpbmi = (BITMAPINFO *) new BYTE[nBISize]; m_lpbmi_rect = (BITMAPINFO *) new BYTE[nBISize]; memcpy(m_lpbmi, m_pContext->m_DeCompressionBuffer.GetBuffer(1), nBISize); memcpy(m_lpbmi_rect, m_pContext->m_DeCompressionBuffer.GetBuffer(1), nBISize); DeleteObject(m_hFullBitmap); m_hFullBitmap = CreateDIBSection(m_hDC, m_lpbmi, DIB_RGB_COLORS, &m_lpScreenDIB, NULL, NULL); SelectObject(m_hMemDC, m_hFullBitmap); memset(&m_MMI, 0, sizeof(MINMAXINFO)); InitMMI(); // 分辨率发生改变 if (nOldWidth != m_lpbmi->bmiHeader.biWidth || nOldHeight != m_lpbmi->bmiHeader.biHeight) { RECT rectClient, rectWindow; GetWindowRect(&rectWindow); GetClientRect(&rectClient); ClientToScreen(&rectClient); // 计算ClientRect与WindowRect的差距(标题栏,滚动条) rectWindow.right = m_lpbmi->bmiHeader.biWidth + rectClient.left + (rectWindow.right - rectClient.right); rectWindow.bottom = m_lpbmi->bmiHeader.biHeight + rectClient.top + (rectWindow.bottom - rectClient.bottom); MoveWindow(&rectWindow); } }
schlafenhamster
2019-01-25
打赏
举报
回复
CRect wrc;
GetWindowRect(wrc);
ScreenToClient(&wrc);
MapWindowPoints(pDlg,wrc);
SetBrushOrgEx
(dc.m_hDC,-wrc.left,-wrc.top,0);
GUI编程Pyqt5之
windows
窗口
代码碎片
Pyqt5之
windows
窗口
代码碎片1)设置
窗口
风格2)设置
窗口
样式3)用代码设置
窗口
的最大化和最小化4)实现绘图应用5)QSS基础6)使用QSS选择器设置控件样式7)QSS子控件选择器8)QDarkStyleSheet样式9)使用多种方式设置
窗口
背景色和
背景图片
10)实现不规则
窗口
(异形
窗口
)11)
移动
和关闭不规则
窗口
12)不规则窗体的动画实现13)装载Gif动画14)使用QSS为标签和按钮添加背景图15)缩放图片16)创建透明
窗口
17)装载QSS文件18)用动画效果改变
窗口
尺寸19)用动画效果一不同速
实例042 在
窗口
间
移动
按扭
窗体中每个可视控件都有所有者和父对象两个重要属性,所有者是控件建立时指定的所属对象,该对象可以是不可视控件,而父对象必须是可视控件。因此可以通过窗体中可视控件的Parent属性来判断控件是否在这个窗体中,还可以用Form.Controls.Add( )方法为窗体添加控件。本例以一个可以在
窗口
间
移动
的按钮来演示父对象改变后的运行效果。运行本例,在
窗口
中单击按钮,按钮就会
移动
到另外一个
窗口
中。可视控件包含一个Parent属性,该属性表示控件的父对象。(2)添加一个窗体,默认窗体的Name属性为Form2。
Windows
10 应用创建模糊背景
窗口
的三种方法
现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在
窗口
中获得模糊支持就需要操作系统的原生支持了。iOS/Mac 和
Windows
系统都对此有支持。 本文将介绍三种创建模糊背景
窗口
的方法。有人可能喜欢称之为毛玻璃
窗口
、亚克力
窗口
。 This post is written in multiple languages. Please select yours: {% include...
PyQt5
窗口
风格设置全攻略:打造个性化GUI界面
import sysself.setWindowTitle("自定义
窗口
样式示例")# 设置子
窗口
样式(无边框)# 使用CSS设置
背景图片
""")win.show()使用组合多个标志位通过为组件命名使用CSS的属性设置背景添加实现圆角效果import sys"""自定义无边框
窗口
"""# 关键设置:无边框# 自定义样式""")# 添加标题栏控件"""创建自定义标题栏"""")# 添加标题文本。
C语言人物复杂
移动
与异步输入
同样的,我也是采用EasyX库 先准备好素材(该素材是从RPG maker MV 中找的几张) 文章目录一:人物复杂
移动
背景图(background.png)人物图(actor1.jpg)人物遮罩图(actor2.jpg)代码代码可以将所有绘制操作放在一起,减少代码量,我这里为了更直接看的逻辑所有没改进效果显示二:异步输入实现同时操作两个小人人物素材(girl1.jpg)遮罩图(girl2.jpg...
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章