• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

对话框能不能自定义背景颜色,或者贴上背景图片?怎么做?谢谢!

happydeer 南京大学 2001-07-12 12:06:34
...全文
242 点赞 收藏 16
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xiaoyuer 2001-07-13
小弟先把丑:
如果要贴上图片,重载WM_ERASEBKGND消息.
BOOL CXXXDlg::OnEraseBkgnd(CDC* pDC)
{
//显示你的图片
return FALSE;
}
当然,如果要改变对话框的背景色.可以使用
SetDialogBkColor(COLORREF clrCtlBk,COLORREF clrCtlText)
回复
happydeer 2001-07-13
加分辣
回复
xxxbird 2001-07-12

see http://www.csdn.net/expert/topic/178/178367.shtm

回复
nichang 2001-07-12
可以,Setdialogbkcolor可以自定背景色彩,若要帖图片,
就要重载消息WM_ERA(后面几个字母忘了,不过很好找的)
回复
wjyasd 2001-07-12
可以的!
回复
happydeer 2001-07-12
a
回复
Hover 2001-07-12
在对话框中加入图片最简单的办法是在资源编辑器中加入。
回复
xlfrd 2001-07-12
把位图转为Brush,响应WM_CTRLCOLORDLG,返回这个Brush
回复
wzwind 2001-07-12
何必这么麻烦,用位图刷子不就搞定了~~~~~~
回复
glb 2001-07-12
把WM_ERASEBKGND重载
在里面写上pDC->Bitblt(...)
画你的背景图,在OnPaint()中画也可以,你想用什么色就用什么了:)
回复
uk 2001-07-12
将你要用的对话框的WM_PAINT消息中加上处理就行
回复
widewave 2001-07-12
响应WM_ONPAINT
先得到你的客户区CRect;GetClientRect()
然后再填充。
不是太好,见笑见笑。
回复
happydeer 2001-07-12
Setdialogbkcolor是改变了应用程序中所有对话框的背景。但是我只想改变某个特定的对话框的背景,我该怎么办?
回复
Robert2001 2001-07-12
sdk 没有类似 SetDialogBkColor 这样的函数呢!!
回复
prog_st 2001-07-12
BOOL CMyApp::InitInstance()
{
// Standard initialization

SetDialogBkColor(); // Set dialog background color to gray
LoadStdProfileSettings(); // Load standard INI file options (including MRU)

// ...
}

添加图片则比较麻烦,请给EMail我给例程
回复
FinalKiller 2001-07-12
处理WM_ERASEBKGND就可以了
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-07-12 12:06
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……