社区
界面
帖子详情
对话框上放一个pic控件来显示一张背景图,这图显示的时候却总把它上面的控件挡住了
warsour
2009-01-22 02:30:33
想用PIC控件在界面上放一个背景图,然后再在这上面添加几个按钮,但显示的时候,那张图总把按钮挡住了,不知道有没什么好办法解决?
...全文
350
12
打赏
收藏
对话框上放一个pic控件来显示一张背景图,这图显示的时候却总把它上面的控件挡住了
想用PIC控件在界面上放一个背景图,然后再在这上面添加几个按钮,但显示的时候,那张图总把按钮挡住了,不知道有没什么好办法解决?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Fireway2008
2009-01-23
打赏
举报
回复
[Quote=引用 8 楼 cnzdgs 的回复:]
给pic控件加上WS_CLIPSIBLINGS风格就可以了:
GetDlgItem(IDC_STATIC1)->ModifyStyle(0, WS_CLIPSIBLINGS);
注意,控件ID不要用IDC_STATIC。
[/Quote]
赞同!因为在初始的时候所有的CStatic 类型的 静态文本框 和 Picture控件都共享同一个IDC_STATIC,直接GetDlgItem指定会出错。
另外,可以试试看把被遮挡的按钮ctrl+x 剪切后,再次
ctrl+v 粘贴上去,应该也能解决被遮挡的问题。
路人乙2019
2009-01-23
打赏
举报
回复
[Quote=引用 1 楼 jameshooo 的回复:]
SetWindowPos(hwndPic, HWND_BOTTOM, ...);
最好的方法是在WM_ERASEBKGND消息中直接绘制图片,而不是使用控件。
[/Quote]也可以得载onerasebackground
showxier
2009-01-23
打赏
举报
回复
[Quote=引用 1 楼 jameshooo 的回复:]
最好的方法是在WM_ERASEBKGND消息中直接绘制图片,而不是使用控件。
[/Quote]
同意.
你看图片在程序中的作用了,如果仅仅只是显示好看,并不要求跟用户有太多交互,那就在背景中绘了.
warsour
2009-01-23
打赏
举报
回复
根本就没响应WM_ERASEBKGND消息,把上面的代码写到OnPaint()里面就可以了,不过这样做似乎更简单GetDlgItem(IDC_STATIC1)->ModifyStyle(0, WS_CLIPSIBLINGS); 谢啦~记得用CTRL+D调整下顺序~
cnzdgs
2009-01-22
打赏
举报
回复
给pic控件加上WS_CLIPSIBLINGS风格就可以了:
GetDlgItem(IDC_STATIC1)->ModifyStyle(0, WS_CLIPSIBLINGS);
注意,控件ID不要用IDC_STATIC。
jackyy_000503
2009-01-22
打赏
举报
回复
响应类的WM_EraseBkgnd 消息,在函数里加入以下代码,把图片画在窗体上当背景,这样就不会挡住按钮了。函数中的 IDB_BITMAP47 是加入资源的图片ID,把这个换成你资源里的图片ID,其它代码不变,就可以了。
BOOL CAddPoi::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CRect rect;
CBitmap bitmap;
BITMAP bmp;
CDC dcCompatible;
bitmap.LoadBitmap(IDB_BITMAP47);
bitmap.GetBitmap(&bmp);
dcCompatible.CreateCompatibleDC(pDC);
CBitmap *pOlBitmap = dcCompatible.SelectObject(&bitmap);
GetWindowRect(&rect);
pDC->SetStretchBltMode(COLORONCOLOR);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
dcCompatible.SelectObject(pOlBitmap);
DeleteDC(dcCompatible.m_hDC);
return TRUE;
//return CDialog::OnEraseBkgnd(pDC);
}
jbhas
2009-01-22
打赏
举报
回复
TAB顺序+透明
fandh
2009-01-22
打赏
举报
回复
改变TAB键的顺序,好像刷新顺序与这个有关,你将他们间的顺序设置先后试试!
warsour
2009-01-22
打赏
举报
回复
BOOL CFlvRipperDlg::OnEraseBkgnd(CDC* pDC)
{
static CBrush hbr;
CRect rc;
GetClientRect(&rc);
if(hbr.m_hObject==NULL){
hbr.CreatePatternBrush(&bmp);
bmp.DeleteObject();
}
pDC->FillRect(&rc,&hbr);
return 1;
}
这样写不知道是不是可以,怎么发现根本就没响应这个消息呢ON_WM_ERASEBKGND()
jameshooo
2009-01-22
打赏
举报
回复
几句话难以说清。还有一种办法可用,就是把按钮都创建为pic控件的子窗口。
warsour
2009-01-22
打赏
举报
回复
直接绘制不是很熟,能否给点代码提示下
jameshooo
2009-01-22
打赏
举报
回复
SetWindowPos(hwndPic, HWND_BOTTOM, ...);
最好的方法是在WM_ERASEBKGND消息中直接绘制图片,而不是使用控件。
Creo导入图片全攻略:草绘参考图、外观贴图与工程图插图详解
在CAD建模中,将外部图片用作参考或装饰是高频需求,但Creo中的图片并非参数化几何,而是以视觉参考、表面贴图或图纸插图等不同载体存在。理解这一原理是高效使用导入功能的前提。Creo提供草绘图像、跟踪草绘、外观管理器和工程图图像等多条导入路径,分别服务于描线建模、多视图对齐、产品渲染和图纸说明。实际应用中,图片的比例缩放、透明度调节、路径管理和图层
显示
往往比命令本身更影响效率。从基础概念入手,掌握图片在不同场景下的技术价值,即可在造型设计、逆向工程和工程图输出中灵活运用。本文围绕Creo图片导入的常见问题与
高校院所如何利用大数据和人工智能技术促进科技成果转化?.docx
高校院所如何利用大数据和人工智能技术促进科技成果转化?
如何利用AI和大数据提升高校科研院所科技成果转化能力?.docx
如何利用AI和大数据提升高校科研院所科技成果转化能力?
高校科研成果如何精准找到合适的企业实现产业化?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
使用libUsb库通讯Hid USB设备
源码下载地址: https://pan.quark.cn/s/4038f1b3e0ec 在`OnInitDialog()`函数中补充以下代码: struct usb_bus *busses, *bus; // usb_dev_handle *handle = NULL; // 需要设定为全局变量 usb_init(); usb_find_busses(); usb_find_devices(); busses = usb_get_busses(); for(bus = busses; bus; bus = bus->next) { struct usb_device *dev; ### 基于libUsb库实现Hid USB设备通讯 #### 一、概述 本文档致力于详尽阐述在VC++6.0开发环境下运用libUsb库实现HID (Human Interface Device) USB设备的通信机制。HID设备是依据USB标准定义的一种特定类型设备,例如键盘、鼠标等输入设备。libUsb是
一个
开源的跨平台库,用于操控USB设备,并支持多种操作系统平台。本文将逐步介绍整个开发流程,涵盖环境构建、代码编写、设备交互等核心环节。 #### 二、准备工作 1. **获取libUsb-win32库及示例** 首先需要访问官方网站 [http://www.libusb.org/wiki/libusb-win32](http://www.libusb.org/wiki/libusb-win32) 下载适用于Windows的libUsb库版本(libUsb-win32),其中包含了一些示例代码。下载后请将文件解压。 2. **创建INF文件并安装驱动** 将HID USB设备连接到...
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章