社区
界面
帖子详情
WINdows窗口的背景图片,有什么办法可以移动这个背景图片吗?
fengshangren
2019-01-25 11:35:21
我看到一个C++写的程序,他只有一个窗口,图片就放在窗口背景图片上,但是他滚动条可以移动这个图片坐标。请问是怎么做到的。不用移动组件的办法来移动图片。只移动图片
...全文
185
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);
【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...
Windows
游戏编程系列之1:GUI
窗口
界面编程及游戏入门实战
我将带领大家来系统学习
Windows
的
窗口
编程,包括消息、
窗口
、GDI绘图、游戏开发等。本课程比较基础,非常适合初学者入门,读者可以边学习边实践。具体的章节目录和课程内容如下所示:---------------------------------------------
Windows
游戏编程系列之1:GUI界面编程及游戏入门实战1、
Windows
创建第一个
窗口
WinMain入口函数 5进行
Windows
编程的调试手法 6
窗口
从哪里来? 7
窗口
编程的步骤 7
窗口
编程需要的主要结构 8
窗口
编程需要的主要API 92、
Windows
的
窗口
过程与消息机制 如何留住
窗口
? 121)
Windows
的消息与消息循环 142)消息处理函数与常用消息 17)
Windows
的
窗口
过程函数 19 3、GDI编程之设备上下文 1)GDI的通用编程框架 222)GDI的绘图步骤 253)GDI获取设备句柄 254、GDI编程之绘制几何图形 画点、线 28颜色COLORREF 29矩形 29画圆、饼图、弦图 305、GDI编程之自定义画笔画刷画笔简介 32画刷简介 33画笔案例 33画刷案例 346、GDI编程之绘制文字 DrawText函数 35TextOut 函数 (wingdi.h) 36CreateFont函数 37绘制文本案例 377、GDI编程之绘制位图 位图简介 381)在资源中添加位图资源 392)从资源中加载位图: LoadBitmap 393)创建一个与当前DC相匹配的DC(内存DC) 394)将bitmap放入匹配的DC中:SelectObject 405)成像(1:1 比例 ) 406)取出位图 407)释放位图 418)释放匹配的DC 41绘制位图案例 41 8、
Windows
鼠标键盘消息 一、键盘消息 421、键盘消息 422、消息参数: 423、消息的使用: 424、键盘消息的案例代码 43二、鼠标消息 441、基本鼠标消息 442、双击消息 443、滚轮消息 454、不响应双击消息 45 9、
Windows
定时器消息 定时器消息介绍 47创建定时器 47关闭定时器 47定时器消息案例代码 4810、GDI游戏之跳舞动画 11、GDI游戏之走路动画 12、GDI贪吃蛇游戏实战
MFC 给对话框添加图片背景
为了实现美化对话框背景的效果,我们需要让我们的对话框响应WM_CTLCOLOR消息,每当我们的对话框或者它的子控件需要重绘时,我们的对话框都会收到这个消息,现在这个对话框的背景已经完全符合我们的要求,但是它现在不能拖动,因为它的标题栏是假的,所以,我们最后一个目标就是让这个
窗口
可以拖动,如何才能让它
移动
呢?现在的对话框背景已经和我们设想的基本一致,还有一点小瑕疵,大家仔细观察对话框的底边,左下角和右下角有多于的像素,下面我们通过代码消除它。
易语言利用
窗口
消息实现无边框调整和
移动
窗口
首先你可以添加4个图片框作为
窗口
的标题栏和边框
窗口
的四周边框和标题栏可以用图片框来捏造如果你不想别人看见图片框的话可以把图片框的背景颜色弄得和
窗口
底色一样
移动
窗口
,你可以用:_启动
窗口
.发送信息 (161, 2, 0) 改变
窗口
大小,你可以用:_启动
窗口
.发送信息 (274, 61441, 0) ' 可以调整
窗口
左边的边框_启动
窗口
.发送信息 (274, 61442, 0) ' 可以调整
窗口
右...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章