VS2012使对话框透明和改变对话框背景颜色或图片背景

在Dlg头文件中public加入:

CBrush m_bkBrush;

afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

// 在OnInitDialog()中

创建一把黄色的背景刷子

m_bkBrush.CreateSolidBrush(RGB(255,180,100));

设置对话框透明度

::SetWindowLong( m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);

::SetLayeredWindowAttributes( m_hWnd, 0, 200, LWA_ALPHA); // 120是透明度,范围是0~255

编辑OnCtlColor函数

HBRUSH C改变对话框背景色、透明度Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

if(nCtlColor == CTLCOLOR_DLG)   // 判断是否是对话框

{

return   m_bkBrush; // 返回刚才创建的背景刷子

}

// TODO:  如果默认的不是所需画笔,则返回另一个画笔

return hbr;

}

若要添加背景,在onpaint函数中的else中

添加位图的方法在上篇博文中有提到

//CDialogEx::OnPaint();//添加背景时注释掉

//////////////////添加背景

CPaintDC   dc(this);

CRect   rect;

GetClientRect(&rect);

CDC   dcMem;

dcMem.CreateCompatibleDC(&dc);

CBitmap   bmpBackground;

bmpBackground.LoadBitmap(IDB_BITMAP1);

// IDB_BITMAP1是你自己的图对应的ID

BITMAP   bitmap;

bmpBackground.GetBitmap(&bitmap);

CBitmap   *pbmpOld=dcMem.SelectObject(&bmpBackground);

dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,

bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);

时间: 2024-12-08 16:52:10

VS2012使对话框透明和改变对话框背景颜色或图片背景的相关文章

div css鼠标悬停锚文本超链接文字背景颜色或图片变化

div css鼠标悬停锚文本超链接文字背景颜色或图片变化(体感音乐) css鼠标悬停超链接文字上时背景改变,鼠标经过文字链接时(悬停),文字的背景图片发生改变(出现背景图片或背景颜色). 鼠标经过悬停在超链接文字上时背景颜色或背景图片出现或改变教程篇.(体感音乐) 此DIV CSS布局技巧其实是对a标签做鼠标经过CSS样式.利用以下代码: a{...} 原始超链接默认样式设置a:hover{...}鼠标悬停经过时超链接锚文本CSS样式(扩展阅读:ie6 hover)一.链接文字无背景鼠标经过悬停

css设置背景颜色和处理背景图片样式

<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <title>css设置背景颜色和处理背景图片样式</title> <style> div{ width:1000px; height:500px;/*没有宽高不能加背景图片*/ border:1px solid #000000; /*background-co

解决浏览器窗口变小后右侧出现空白背景颜色或者图片不能全屏填充的方法

在做全屏网页的时候会出现这样的情况: 窗口最大化显示时正常,当缩小窗口时,出现了滚动条,将滚动条拖动到右侧就会出现空白,背景颜色都不显示但是元素还在例如下图: 全屏显示正常的,然后把窗口缩小 就会出现这样的效果,解决办法就是给body加一个最小高度,至于数值大小取决于网页的基本宽度,或者就是你导航元素占据的宽度(不是背景),就以此网页为例,网页主体1200px那么就在css中添加最小高度 body{ min-height:1200px; } 然后问题就解决了

第11章 对话框_11.1 模态对话框

对话框管理器——Windows内置的对话框代码 ①负责创建对话框窗口及其上面的子窗口控件:在创建对话框函数的内部,Windows使用用户自定义的对话框模板,并且使用Windows内部定义的窗口类(一般类名是“#32770”)来创建对话框. ②提供内置的窗口过程来处理对话框消息(包括所有鼠标和键盘输入) ③内置的窗口过程会将消息传递给我们自定义的“对话框过程”(也叫“对话过程”). ④对话框中,Windows负责处理在多个控件中转移输入焦点的相关逻辑. 11.1 模态对话框 11.1.1 对话框及

Eclipse修改字体、颜色、编译器背景颜色等操作方法

1.eclipse 背景色设置:Window->Preferences->General->Editors->Text Editors->Backgroud colors取消System default 设置成:RGB(204,232,207). 2.字体大小设置:java 字体:菜单windows>Prefenrence>General Appearance>Colors and Fonts 在右边的菜单中选Java> Java Editor Tex

Eclipse修改背景颜色(豆沙绿)

操作界面默认颜色为白色.对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些.设置方法如下: 1.打开window->Preference,弹出Preference面板 2.展开General标签,选中Editors选项,展开. 3.选中 Test Editors,右边出现Test Editors面板. 面板中有这样一个选项:Appearance color options: 其中是各种板块颜色的设置,其中有一项是background

Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())

在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等. 但是各种方法都有其注意事项,如果不注意则很容易陷入麻烦中. 1:setStyleSheet() 这个函数我一直很喜欢使用,因为只要写一句就可以实现效果,比其他方法都简单,但是其却有一个很值得注意的地方,也就是这个地方让我大吃苦头. 亦即:①:该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背景颜色或图  

swift – 具有圆角和背景颜色的NSButton

http://www.voidcn.com/article/p-srkqadwc-btx.html 我想要一个简单的按钮(带圆角的按钮),并添加背景. 我已经尝试过两件事情: 1 – 使用圆形按钮图像:这是很好的,直到我需要缩放按钮,这导致圆形部分看起来丑陋. 2 – 扩展按钮并添加颜色 – 但是当我点击按钮时,我有麻烦 – 我希望"推"状态与"常规"状态处于相同的颜色,但情况并非如此. 这是我用来扩展按钮的代码: override func drawRect(di

设置 tableview 的背景 颜色 和清空

表示图中Cell默认是不透明的,那么在设置表示图的背景颜色和图片时通常是看不到的 1.给tableView设置背景view UIImageView *backImageView=[[UIImageViewalloc]initWithFrame:self.view.bounds]; [backImageView setImage:[UIImage imageNamed:@"liaotianbeijing"]]; self.tableView.backgroundView=backImag