在重载的类里添加消息响应函数
HBRUSH CBitmapListBox::CtlColor(CDC* pDC, UINT nCtlColor)
{
CBrush m_brHollow;
m_brHollow.CreateStockObject(HOLLOW_BRUSH);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(64,32,0));//设置文字颜色;
return m_brHollow;
}
CBitmapListBox为重载的类
BOOLCBitmapListBox::OnEraseBkgnd(CDC* pDC)
{
CDC dc;
dc.CreateCompatibleDC(pDC);
dc.SelectObject(&m_bitmap);
BITMAP map;
m_bitmap.GetBitmap(&map);
CRect rect;
GetClientRect(&rect);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,map.bmWidth,
map.bmHeight,SRCCOPY);
ReleaseDC(&dc);
return true;
//return CListBox::OnEraseBkgnd(pDC);
}
还要在类里重载OnSelchange和OnVScroll消息
在2个函数里添加Invalidate();
分享到:
相关推荐
在这个播放器中,我们看到了换肤、改变背景图片的功能,这需要通过自定义控件或者重绘机制来实现。 3. **媒体播放功能**:播放器的核心功能是播放媒体文件,这通常涉及到Windows的多媒体API,如Windows Media ...
// 如果需要设置背景图片,可以使用CDC的位图操作 CBitmap* pBitmap = GetBackgroundBitmap(); // 获取背景图片 CDC memDC; memDC.CreateCompatibleDC(pDC); CBitmap* pOldBitmap = memDC.SelectObject(pBitmap...
这篇内容将详细介绍如何在VC/MFC的对话框中加载PNG图片并实现透明。 首先,我们需要了解PNG图片格式的特点。PNG(Portable Network Graphics)是一种支持透明度的无损压缩图像格式,与常见的JPG格式相比,PNG提供了...
在这个"Mfc.rar"压缩包中,我们似乎有一个示例程序,它展示了如何在VC++(Visual C++)环境下使用MFC来设置窗口的背景图片。 在VC++中,MFC提供了CWnd类,它是所有窗口类的基类。CWnd类提供了一系列方法和属性,...
CButton是MFC对Windows API中的BUTTON类的封装,提供了丰富的功能,包括设置文字、图标以及响应各种消息等。要改变按钮的背景色,我们需要深入到消息处理机制。 MFC应用程序通常会通过重载ON_WM_CTLCOLOR_MSG()函数...
这个"VC设置系统桌面JPG图片 MFC工程文件"就是这样一个示例,它演示了如何利用MFC库来更改用户的桌面壁纸。 MFC是Microsoft为Windows平台设计的一套C++类库,它封装了Windows API,使得开发者能够更容易地创建...
总的来说,设置VC++列表控件的背景图片需要理解MFC框架下的控件绘图机制,以及如何处理窗口消息和资源管理。通过以上步骤,你可以创建一个具有个性化背景的列表控件,从而提升应用程序的视觉效果。同时,不断学习和...
通过以上方法,你可以灵活地为VC++的列表控件设置背景色,无论是单一颜色、动态变化,还是使用图片。同时,别忘了在编写代码时考虑控件的可读性和性能,确保用户界面的友好性和应用程序的效率。
通过以上步骤,你可以在VC6.0的MFC应用中成功设置对话框的背景图像。记住,MFC提供了一套丰富的类库,使得Windows编程变得更加便捷,但同时也需要对Windows API和C++有深入的理解。希望这篇文章能帮助你理解和实现...
4. **皮肤应用过程**:在VC + MFC项目中,开发者需要集成皮肤引擎库,然后在初始化时加载皮肤资源,设置引擎为应用程序的默认绘图机制。在处理窗口消息时,通过皮肤引擎提供的API来绘制控件。 5. **自定义皮肤**:...
在这个类中,我们需要覆盖 ` OnInitDialog()` 函数,以便在对话框初始化时加载和设置背景图片。 2. **加载背景图片**:使用 `CBitmap` 类加载 `dlg_bk.bmp` 文件,然后将其保存到对话框类的一个成员变量中。 3. **...
以下是一个简单的例子,X轴和Y轴的BMP图片重叠时,由于X轴图片的背景未设为透明,所以被Y轴图片遮挡,造成左下角的X轴图片部分不可见。 为了实现透明效果,我们需要使用`TransparentBlt()`函数。这是一个Windows ...
在MFC中,可以在窗口上添加背景图片,通常是通过在窗口类中重载`OnEraseBkgnd`消息处理函数,然后在其中绘制图片。可以使用GDI+或者CImage类来加载和显示位图资源。 **3. 单文档多视图结构** MFC中的单文档(Single...
例如,Qt中的`QLabel`或`QWidget`类都有设置背景图片的方法。 6. **性能优化**: 注意,直接在`OnPaint`中加载大图可能会造成性能问题。可以考虑将图片预先加载到内存中,或者使用位图缓存技术,只在第一次显示时...
在MFC中,我们可以通过扩展标准的CButton类来实现这一目标,这里我们将使用CButtonST(Style Button)类,它是一个增强版的按钮类,提供了更多自定义选项。 CButtonST类由第三方开发者提供,它在标准的CButton基础...
这种方法适用于大多数对话框背景图片的设置,但需要注意的是,图片的尺寸和比例应与对话框相适应,以确保最佳显示效果。同时,为了保证兼容性和性能,位图应该是在资源文件中预加载的,而不是在运行时动态加载。
在VC++编程环境中,工具栏(Toolbar)和窗口背景图片的设置是提升用户界面美观性和易用性的重要方面。本文将深入探讨如何在VC++中实现工具栏与窗口背景图片的功能,并提供相应的代码示例。 首先,让我们了解工具栏...
在初始化或设置背景图片时,你需要加载图片资源: ```cpp HBITMAP hBitmap = (HBITMAP)LoadImage(AfxGetResourceHandle(), _T("RESOURCE_ID"), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION); if (hBitmap) { m_bitmap...
2. **自绘静态文本(Static)**:MFC中的CStatic类通常用于显示简单的文本,但通过重载`OnPaint()`函数和使用`CDC`对象进行绘图,开发者可以实现自定义的文本样式、边框或背景效果,甚至嵌入图片。 3. **自绘编辑框...