【VC】滚动对话框背景图刷新问题。

shen_wei shen_wei 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


图片中红色矩形框是 子对话框 添加的滚动条,根据滚动条来调整界面显示。

问题1:
对话框背景图没有刷新。。

问题2:
背景的更新还会刷新到子对话框外的界面??APPLY按钮

m_nScrollCur 是滚动条的值。。 分别使用一下两个函数分别绘图,结果都是如图一样。


OnEraseBkgnd(CDC* pDC)
{
CDC MemoryDC;
HINSTANCE hInstResource = NULL;

hInstResource = AfxFindResourceHandle(MAKEINTRESOURCE(IDB_BITMAP_LED_C),RT_BITMAP);
m_hBitmap = (HBITMAP)::LoadImage(hInstResource,MAKEINTRESOURCE(IDB_BITMAP_LED_C),IMAGE_BITMAP,0,0,0);

MemoryDC.CreateCompatibleDC(pDC);
MemoryDC.SelectObject(m_hBitmap);

pDC->StretchBlt(0,0,LED_C_WIDTH,LED_C_HEIGHT,&MemoryDC,0,m_nScrollCur,LED_C_WIDTH,LED_C_HEIGHT,SRCCOPY);

return TRUE;
}


OnPaint()
{
CPaintDC dc(this);

CDC MemoryDC;
HINSTANCE hInstResource = NULL;

hInstResource = AfxFindResourceHandle(MAKEINTRESOURCE(IDB_BITMAP_LED_C),RT_BITMAP);
m_hBitmap = (HBITMAP)::LoadImage(hInstResource,MAKEINTRESOURCE(IDB_BITMAP_LED_C),IMAGE_BITMAP,0,0,0);

MemoryDC.CreateCompatibleDC(&dc);
MemoryDC.SelectObject(m_hBitmap);

dc.StretchBlt(0,0,LED_C_WIDTH,LED_C_HEIGHT,&MemoryDC,0,m_nScrollCur,LED_C_WIDTH,LED_C_HEIGHT,SRCCOPY);

}


望各位大侠不吝赐教!!!对话框更新滚动条界面。。
...全文

相关推荐

ListBox 贴背景图 VC

- 考虑到性能,避免在ListBox频繁滚动时绘制背景图。通过以上步骤,你可以在VC++的ListBox控件中成功地贴上背景图,实现控件的美化。

tthappybetter

用DirectUI让VC6.0老界面脱胎换骨:自绘框架实战指南

DirectUI是一种将传统Win32“句柄森林”简化为单窗口自绘的界面架构,所有控件均通过GDI/GDI+绘制并依靠命中测试分发事件,解决了标准控件外观固定、创建开销大的痛点。其自绘与命中分离的思想,与双缓冲、控件树管理等技术一起,构成了现代UI引擎的基石。对于仍被VC6.0束缚的老项目,基于纯Win32 SDK实现的DirectUI开源库提供了一条低风险升级路径:不更换编译器,不重写业务逻辑,仅用XML描述布局和少数核心类,就能让灰色对话框蜕变为扁平化监控面板。本文完整记录该库的编译配置、绘制/命中机制

灰色小熊

位图背景 滚动字幕 vc 源码

**VC++源码实现**:实现位图背景滚动字幕,首先需要加载位图资源,可以使用CBitmap类。然后,创建一个窗口或对话框,将位图设置为背景。

onezeros

VC 自定义时间轴控件

在这个案例中,我们关注的是一个特定的自定义控件——"VC 自定义时间轴控件"。

long211415

MFC对话框换肤程序

- 确保换肤后控件的功能不受影响,如按钮点击、滚动条滑动等仍能正常工作。- 处理好不同分辨率和屏幕尺寸下的适配问题,保证界面在不同设备上的展示效果。

Mario2024
评论 28
收藏 已收藏
分享
返回顶部
shen_wei
界面 15,976 成员 115,866 内容