社区
界面
帖子详情
WINdows窗口的背景图片,有什么办法可以移动这个背景图片吗?
fengshangren
2019-01-25 11:35:21
我看到一个C++写的程序,他只有一个窗口,图片就放在窗口背景图片上,但是他滚动条可以移动这个图片坐标。请问是怎么做到的。不用移动组件的办法来移动图片。只移动图片
...全文
202
6
打赏
收藏
WINdows窗口的背景图片,有什么办法可以移动这个背景图片吗?
我看到一个C++写的程序,他只有一个窗口,图片就放在窗口背景图片上,但是他滚动条可以移动这个图片坐标。请问是怎么做到的。不用移动组件的办法来移动图片。只移动图片
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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);
【C#界面】完美实现无毛边异形窗体(优化版)
论坛中有详细解说和效果图: http://bbs.csdn.net/topics/390326481 资源名:【C#界面】完美实现无毛边异形窗体(优化版) 下载内容: 示例源码一份 属性: GradientTime:控件层渐变特效时长(越小越快)。 MainPosition:
窗口
在绘图层位置。 SkinBack:设置或获取绘图层
窗口
背景。 SkinMobile:窗体是否可以
移动
。 SkinOpacity:设置或获取绘图层
窗口
透明度(0-255)。 SkinShowInTaskbar:绘图层是否出现在
Windows
任务栏中。 SkinSize:设置或获取绘图层
窗口
大小。 SkinTrankColor:绘图层需要透明的颜色。 SkinWhetherTank:绘图层是否开启位图仿透明 注意(SkinOpacity < 255时,此属性为False可达到背景透明,控件不透明的效果。)。 小编留言:有BUG请留言反馈。
python
窗口
设置
背景图片
_PyQt5 实现给
窗口
设置
背景图片
的方法
PyQt5 实现给
窗口
设置
背景图片
的方法QPalette类可以十分简单的达到设置
窗口
背景图片
的目的def use_palette(self):self.setWindowTitle("设置
背景图片
")window_pale = QtGui.QPalette()window_pale.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QPixma...
给MFC
窗口
设置
背景图片
需要检测当鼠标拖动
窗口
时,我们要虚拟成在标题栏拖动。第一步,在OninitDialog()函数添加代码。第二步,添加虚函数OnCtlColor();关于图片的大小,可以结合
窗口
的大小去设置。后续如果要关闭
窗口
,可以自定义一个关闭按钮。添加虚函数OnNchitTest();
易语言利用
窗口
消息实现无边框调整和
移动
窗口
首先你可以添加4个图片框作为
窗口
的标题栏和边框
窗口
的四周边框和标题栏可以用图片框来捏造如果你不想别人看见图片框的话可以把图片框的背景颜色弄得和
窗口
底色一样
移动
窗口
,你可以用:_启动
窗口
.发送信息 (161, 2, 0) 改变
窗口
大小,你可以用:_启动
窗口
.发送信息 (274, 61441, 0) ' 可以调整
窗口
左边的边框_启动
窗口
.发送信息 (274, 61442, 0) ' 可以调整
窗口
右...
Windows
10 应用创建模糊背景
窗口
的三种方法
现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在
窗口
中获得模糊支持就需要操作系统的原生支持了。iOS/Mac 和
Windows
系统都对此有支持。 本文将介绍三种创建模糊背景
窗口
的方法。有人可能喜欢称之为毛玻璃
窗口
、亚克力
窗口
。 This post is written in multiple languages. Please select yours: {% include...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章