对话框美化教程
- 格式:doc
- 大小:138.50 KB
- 文档页数:33
qq聊天对话框底色怎么设置
qq 聊天对话框底色怎么设置?如何让你的好友跟你聊天的时候所在窗口展示你是设定好的皮肤呢?店铺为你整理了设置QQ聊天背景的方法,欢迎阅读。
设置QQ聊天背景的方法
首先打开个好友聊天窗口,在聊天窗口上找到“窗口设置”在关闭的旁边!如图所示。
2点击后选择选择“皮肤管理”,当然也可以直接在qq主面板上直接选择“皮肤管理”,只是这样方便看聊天窗口的设置的背景!
3想要聊天窗口显示背景,必须先设置“皮肤管理”里的“全透明皮肤”设置,“全透明皮肤”在右下角。
如图所示。
4点击“全透明皮肤”设置,出现一条滑动条,如果没都动过基本都是在下面,稍微往中间拉试试,然后看聊天窗口!如图。
5滑动条越往上聊天窗口越显示背景,看自己的需要调节全透明皮肤”设置。
当然这样设置qq界面上也会显示背景。
如图。
6如果想要自定义聊天窗口背景,只要在“皮肤管理”里面“自定义”皮肤,上次一张图片就好里!。
VC++更改对话框背景色和字体颜色方法一:设置所有窗口的颜色MFC程序修改对话框的背景和文字颜色最简单的方法就是调用SetDialogBkColor函数,SetDialogBkColor是CWinApp类的成员函数,以下是该函数的原型:void CWinApp::SetDialogBkColor(COLORREF clrCtlBk, COLORREF clrCtlText);请注意,SetDialogBkColor函数并不是对Windows的某个API 的封装,他是MFC框架的一部分,所以不使用MFC的程序也就不能享受这种方便。
这个函数的使用很简单,在程序的CWinApp派生类的InitInstance函数中,添加一行代码就行了,写在domodal()的上一句:SetDialogBkColor(RGB(188,197,230),RGB(13,125,188));注:前一个为背景色,后一个为字体颜色。
方法二:设置当前窗口改变对话框的背景颜色的原理很简单,就是响应WM_ERASEBKGND消息,用自定义的颜色填充对话框的客户区背景,代替对话框窗口默认的背景填充动作。
改变控件和字体的颜色同理,是响应WM_CTLCOLOR这一消息。
具体操作,方法如下:首先://消息映射BEGIN_MESSAGE_MAP(CHelloDlg, CDialog)//{{AFX_MSG_MAP(CHelloDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_CTLCOLOR() //字体颜色ON_WM_ERASEBKGND() //背景色ON_WM_QUERYDRAGICON()//}}AFX_MSG_MAPEND_MESSAGE_MAP()其次:定义两个函数afx_msg BOOL OnEraseBkgnd(CDC* pDC);afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);第三:重载OnEraseBkgnd和OnCtlColor其中预先定义:protected:CBrush m_brBkgnd;//设置对话框背景色方法一:可以实现(但有点问题)BOOL CHelloDlg::OnEraseBkgnd(CDC* pDC){CRect rect;GetClientRect(&rect);m_brBkgnd.CreateSolidBrush(RGB(183,213,213)); //背景色pDC->FillRect(&rect,&m_brBkgnd);return TRUE;}方法二:可行BOOL CClientDlg::OnEraseBkgnd(CDC* pDC){CBrush back(RGB(220,215,254));CBrush* pold=pDC->SelectObject(&back);CRect rect;pDC->GetClipBox (&rect);pDC->PatBlt(rect.left,rect.top,rect.Width(),rect.Height(),PATCOPY);pDC->SelectObject(pold);return TRUE;方法三:也可行BOOL CHelloDlg::OnEraseBkgnd(CDC* pDC){CBrush MyBrush;MyBrush.CreateSolidBrush(RGB(0,255,0));CBrush *pOldBrush=pDC->SelectObject(&MyBrush);CRect Rect;GetClientRect(&Rect);pDC->Rectangle(&Rect);pDC->SelectObject(pOldBrush);return TRUE;}//设置对话框中控件的字体颜色HBRUSH CHelloDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);if(pWnd->GetDlgCtrlID() == IDC_EDIT_MULLINE) //多行edit 控件{pDC->SetT extColor(RGB(13,125,188)); //设置字体颜色return hbr;}else{pDC->SetBkMode(TRANSPARENT);pDC->SetT extColor(RGB(255,125,188));return (HBRUSH)m_brBkgnd; //因为CBrush类实现了HBRUSH 类型转换操作符}。
批量更改边框美化边框边框是我们在设计和编辑文档、图片等内容时经常使用的元素之一。
通过更改边框的样式、颜色和宽度等属性,我们可以为内容增添美观和个性化的效果。
然而,如果需要对大量的边框进行更改,手动一个一个修改将会十分繁琐和耗时。
在本文中,我们将探讨如何通过批量更改边框的方式,实现边框的美化。
一、批量更改边框的方法在进行批量更改边框之前,我们需要先了解一些常用的软件或工具,以及它们提供的批量操作功能。
以下是几种常用的批量更改边框的方法:1. 使用图像处理软件许多图像处理软件都提供了批处理功能,可以通过设置边框样式来同时更改多个图片的边框。
例如,Adobe Photoshop和GIMP等软件都具备这种功能。
在这些软件中,你可以选择要修改的图片,然后通过批处理功能设置边框的样式、颜色和宽度等属性,从而实现批量更改边框的效果。
2. 使用CSS样式如果你需要批量更改HTML文档中的边框样式,可以通过CSS样式来实现。
首先,你需要为HTML元素或类选择器创建一个CSS样式,其中包括边框的样式、颜色和宽度等属性。
然后,你可以在HTML文档中应用该CSS样式,从而实现多个元素的边框批量更改。
通过这种方法,你可以轻松地对网页中的边框进行美化和修改。
3. 使用批处理脚本对于需要批量更改边框的其他类型文档,例如Word文档或PDF文件,你可以通过编写批处理脚本来实现。
批处理脚本可以自动化执行一系列命令或操作,从而实现对边框的批量更改。
你可以使用脚本编程语言,例如Python或VBScript,来编写相应的脚本,并运行它们以实现边框的美化。
二、边框的美化效果通过批量更改边框,我们可以实现各种美化效果,使内容展现更加吸引人和专业。
以下是几种常见的边框美化效果:1. 圆角边框圆角边框给内容增添了一种柔和和现代感。
通过将边框的圆角半径调整为适当的大小,你可以让内容的边框形状变得更加圆润和优雅。
2. 渐变边框渐变边框可以为内容增添一种流畅和动态的感觉。
前端设计中的边框样式优化技巧在网页设计中,边框样式是一个重要的设计元素,它可以使页面更加美观、清晰,并提供更好的用户体验。
通过优化边框样式,我们可以使页面更具吸引力和可读性。
本文将介绍一些前端设计中的边框样式优化技巧,帮助你打造出更出色的设计。
一、边框颜色的选择在选择边框颜色时,我们应该根据页面的整体风格和元素的需求进行判断。
一般来说,选择与页面主色调或元素背景色相协调的边框颜色是一个不错的选择。
对于需要突出显示的元素,可以选择与主色调对比较大的边框颜色,以增加视觉吸引力。
同时,要确保边框颜色与文字颜色有足够的对比,以确保内容易于阅读。
二、边框线型的使用边框线型也是边框样式中的一个重要要素,它可以为页面增加层次感和纹理,使设计更加丰富。
常见的边框线型包括实线、虚线、双线、点线等,不同的线型可用于不同的设计需求。
例如,实线可以用于突出显示元素的边界,虚线可以用于突出显示特定的分隔线,双线可以用于突出显示重要的信息区域。
同时,要注意边框线型的粗细和长度的选择,以确保与页面风格和元素需求相协调。
三、边框圆角的运用边框圆角是一种让边框看起来更加柔和和友好的技巧。
通过为边框添加圆角属性,我们可以消除页面上尖锐的边角,使设计更加舒适和美观。
一般来说,边框圆角的半径越大,边框越柔和,半径越小,边框越尖锐。
在运用边框圆角时,要考虑元素的大小和形状,并根据页面整体风格进行选择。
四、边框阴影的添加边框阴影是一种使边框看起来更加立体和有深度的技巧。
通过为边框添加阴影效果,我们可以使边框脱离背景,具有浮起的感觉。
边框阴影可以为页面增添层次感,使设计更具立体感。
在添加边框阴影时,需要考虑阴影的颜色、透明度和位置,以确保与页面整体风格相协调,并增加元素的视觉吸引力。
五、边框动画的运用边框动画可以为页面增加生动感和交互性,吸引用户的注意力。
通过为边框添加动画效果,我们可以使设计更加有趣和有活力。
一些常见的边框动画效果包括边框渐变、边框闪烁、边框缩放等。
系统美化实战之:修改系统属性对话框这是一个系列的教程。
由于时间和精力毕竟有限,所以难免存在疏漏和错误,还请大家多包涵。
从win9x开始,我就开始了对windows系统的主题修改,在那个年代,win9x自带一个简陋的themes系统,针对主题的修改在那时候还只是个概念,后来是win200 0,在这个系统里,microsoft 摒弃了本不成熟的theme系统,以致于在这样一个系统环境下,改变系统的默认风格变得十分困难。
直到现在,终于出现了一个可以良好支持theme的系统——winxp,不过,不知道出于什么原因,microsoft并没有放开这个主题标准,使得在未经过修改的系统上不能使用来自第三方的桌面主题!而这个限制来自于uxtheme.dll和“系统文件保护”功能这两个方面,幸好有国外高手破*了uxtheme.dll文件,使得无限制地使用第三方的主题成为了可能,在接下来的一系列教程里,我会逐一教大家如何打造一个符合自己个性的桌面主题!做个“好色”的电脑——实战篇之一——系统属性对话框的修改其实修改系统属性对话框跟主题的修改并没有太大的联系,当朋友们遇到非常喜欢的主题,又追求完美的时候,修改系统对话框可以使这一位置的显示更配合主题,不过,把这个放在最前面介绍主要是为了让大家看看——其实修改系统文件并不是想像的那么困难。
首先我们来看看修改后的效果图。
图中一共有8个部分,修改不同部分涉及到不同的方法,不同的工具,下面我一一讲解:对于第1部分,我们需要用到在工具篇中提到的ResHacker(下载地址/html_2/1/59/id=842&pn= 0.html)这个工具,在你准备好工具以后,在自己的硬盘上建立一个临时的目录,从你的系统c:\windows\system32中复制文件sysdm .cpl到这个临时目录,用ResHacker 打开,看到如下图画面:对于2、3、4、6部分和第7部分的按钮上中文部分在这里修改,如下图:对于第7部分CPU频率和内存大小的修改(这个修改只是个自欺欺人的修改,完全属于教学意义!),请看下图:到这里,需要Reshacker修改的地方就完成了,最后记得保存,回到刚才建立的临时文件夹中,你会发现两个文件,一个是sysdm.cpl,另一个是sysdm_original.cpl,复制前者到c:\ windows\system32里替换掉原文件,而后者是Reshacker自动生成的备份。
今天的练习稿是两个可爱的小对话框今天的练习稿是两个可爱的小对话框
制作过程非常的简单,只做一点自己只做一点自己
的心得.
合并形状合并形状
步骤:绘制形状绘制形状
1 圆形圆形
(椭圆工具绘制)
2 钢笔绘制的三角形钢笔绘制的三角形
3 开始合并形状开始合并形状
回原形状1 按ctrl+c 复制复制 然后移动形状2 上面按ctrl+v 粘贴粘贴
4 使用路径选择工具==== 点击组合即可点击组合即可
这样对话框就绘制完成这样对话框就绘制完成
再根据自己的需求去添加效果就可以了再根据自己的需求去添加效果就可以了
总结要点:非常简单记住非常简单记住 ctrl+c ctrl+v 形状随意组合形状随意组合。
第五讲对话框及其设计对话框是用户界面中常用的一种控件,用于与用户进行交互。
它可以用来显示消息、接收用户的输入、展示进度等。
在图形用户界面中广泛应用,对于提升用户体验和交互效率非常重要。
本文将介绍对话框的常见类型、设计原则以及一些设计技巧。
一、对话框的常见类型1.提示框:用于显示一条简短的消息给用户,通常只有一个确定按钮,常见的有警告框、错误框、成功框等。
2.询问框:用于询问用户是否同意一些操作,一般有确定和取消两个按钮。
常见的有确认框、删除确认框等。
3.输入框:用于接收用户的输入,可以是文本输入框、密码输入框、选择框等。
4.进度框:用于展示操作的进度,常见的有加载框、上传框等。
5.设置框:用于显示和设置各种选项的对话框,常见的有设置窗口、首选项对话框等。
二、对话框的设计原则1.简洁明了:对话框的内容要简洁明了,只包含必要的信息和操作按钮,不要过度冗长。
2.一致性:对话框的样式和交互方式要与系统和应用的整体风格保持一致,避免造成用户困惑。
3.易理解:对话框中的文字提示要清晰易懂,避免使用专业术语或难懂的词汇,以免引起用户的困惑。
4.操作明确:对话框的按钮文案要明确表示该按钮的操作,避免使用模棱两可的词语。
5.合理布局:对话框的布局要合理,将内容逻辑分组,遵循从上到下、从左到右的阅读习惯。
6.友好提示:对话框中可以适当添加一些友好的提示,例如加载动画、进度条等,以提升用户体验。
三、对话框的设计技巧1.突出重点:对话框中的重点信息可以使用不同的颜色、字体大小或图标进行突出展示,吸引用户注意。
2.拆分内容:对长篇幅的内容,可以进行拆分或分组展示,以减少用户的信息压力。
3.默认选项:对于一些常用的操作,可以设置一个默认选项,让用户在不需要更改的情况下直接点击确定按钮。
4.快捷键:可以为对话框中的操作按钮设置快捷键,方便用户通过键盘进行操作,提高效率。
5.动态交互:对话框中可以增加一些动态交互,例如输入框中实时显示输入内容的合法性提示,增加用户的操作反馈。
el-dialog是ElementUI框架中的一个重要组件,用于实现弹出对话框的功能。
在实际项目开发中,我们经常会遇到需要使用弹出对话框来进行信息确认、编辑操作等情况。
而el-dialog作为ElementUI框架中的核心组件之一,其样式设计和使用方法对于页面的美观与功能性具有重要的影响。
1. el-dialog样式的设计与调整在使用el-dialog组件时,我们经常会需要对其样式进行个性化的设计和调整。
在实际项目中,常常会遇到需要调整弹出框的宽度、高度、边框样式、背景颜色等情况。
针对这些需求,我们可以通过以下几种方式来实现样式的个性化设计和调整:1.1 使用内联样式调整el-dialog组件支持直接在标签内部使用style属性来进行样式的调整,比如设置宽度、高度、边框样式等。
这种方式简单直接,适用于一些简单的样式调整需求。
1.2 使用自定义class类调整除了直接使用内联样式调整外,我们也可以通过在页面中定义自定义的class类来对el-dialog的样式进行调整。
这样做的好处是可以将样式的调整与页面的结构和设计相分离,使得页面的代码更加清晰和易于维护。
1.3 使用全局样式调整除了在页面中对el-dialog组件进行样式调整外,我们还可以通过修改ElementUI框架的全局样式来对el-dialog进行全局的样式调整。
这种方式适用于需要对多个页面中的el-dialog进行统一样式调整的情况。
2. el-dialog样式的调整技巧在进行el-dialog样式调整时,我们需要注意一些技巧和注意事项,以确保样式的调整能够达到预期的效果。
以下是一些常用的技巧和注意事项:2.1 注意样式的优先级在进行el-dialog样式调整时,我们需要注意样式的优先级。
比如通过内联样式、自定义class类和全局样式对同一个属性进行设置时,需要注意各种样式的优先级,以确保最终的样式能够达到预期的效果。
2.2 熟悉CSS样式属性在进行el-dialog样式调整时,我们需要熟悉常用的CSS样式属性,比如width、height、border、background-color等,以便能够准确地对el-dialog的样式进行调整。
电脑对话框怎么设置自定义效果
电脑的窗口对话框颜色样式都比较死板,怎么设置自己喜欢的样式呢?下面由店铺为你整理了电脑对话框怎么设置自定义效果的相关方法,希望对你有帮助!
电脑设置对话框自定义效果方法步骤如下
右键点击“计算机”在弹出窗口点击“属性”,弹出如下窗口,在如上窗口点击“高级系统设置”,弹出系统设置窗口
在“系统设置”窗口的“性能”栏点击“设置”,弹出性能选项窗口
在“视觉效果”栏下选择“自定义”,然后在下面选择喜欢的视觉设置
比如点选窗口的淡入淡出,则最小化最大化窗口时,窗口会有相应的特殊效果,设置后确定。
打开一个窗口,比如“库”,尝试应用最大化,最小化试试。
还可以定义窗口的透明及颜色效果,在桌面点击鼠标右键,选择“个性化”
点击“窗口颜色”,在弹出的窗口选择“启用透明效果”与设置透明度,还有选择相应的颜色。
最后“保存修改”,即可见证效果。
wps文字怎么将表格美化
很多人在制作wps表格的时,基本上都是只输入数据进去排好版就可以了,但其实我们可以美化一下wps制作的表格,让整个表格看起来更加丰富,但是新手不会,上网找怕麻烦,而且教程太乱没有统一的答案怎么办,哪里有更好的方法?下面店铺马上就告诉大家wps文字美化表格的方法。
wps文字美化表格教程
打开wps,点击【插入】——【表格】。
可以任意选择行数和列数,此处插入的是3行7列。
点击【表格工具】——【表格属性】。
弹出表格属性的对话框,可对行和列的高和宽进行设置。
点击【表格】——【边框和底纹】,可对表格进行美化。
选择【底纹】,对表格的填充色进行选择,可以看到此处是【没有颜色】。
点击下拉键,选择喜欢的颜色。
表格已经修改成我们想要的样式了。
wps文字如何美化表格图文教程。
1.无标题栏和边框的对话框Border 属性改为NoneTitle bar属性改为False2.对话框添加OnInitDialog函数OnInitDialog 在vs2010中实现为虚函数,所以在“项目”-> “类向导”-> “虚函数”->找到对应虚函数添加即可,就这么简单。
3.移动无标题栏的对话框拖动无标题窗口时,欺骗WINDOW在鼠标点下是像WINDOW发送一个鼠标选中WINDOW标题栏的消息!添加鼠标左键消息。
void CMyPlayerDlg::OnLButtonDown(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call default//使窗口可以拖动PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM (point.x, point.y));CDialog::OnLButtonDown(nFlags, point);}在OnLButtonDown的鼠标响应消息添加红色部分代码!WM_NCLBUTTONDOWN 鼠标选中非客户区域(标题栏)HTCAPTION 鼠标选中了标题栏MAKELPARAM (point.x, point.y)) 返回一个LPARAM的值PostMessage函数功能:该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。
消息队列里的消息通过调用GetMessage和PeekMessage取得。
原型与参数如下:函数原型:BOOL PostMessage(UINT Msg,WPARAM wParam,LPARAM lParam);参数说明:Msg:指定被寄送的消息。
wParam:指定附加的消息特定的信息。
IParam:指定附加的消息特定的信息。
如何在Word中使用文本框和形状的样式和效果Microsoft Word是一款功能强大的文字处理软件,它提供了丰富的文本框和形状样式和效果,使得我们能够更好地排版和美化文档。
本文将介绍如何在Word中使用文本框和形状的样式和效果,帮助读者更好地运用这些功能。
一、添加文本框和形状在Word中,我们可以通过以下方法来添加文本框和形状:1. 在“插入”选项卡中,点击“文本框”按钮,可以选择插入预设文本框或者绘制自定义文本框。
2. 在“插入”选项卡中,点击“形状”按钮,可以选择插入预设形状或者绘制自定义形状。
二、设置文本框和形状样式添加好文本框和形状后,我们可以通过以下方法来设置它们的样式:1. 双击文本框或形状,进入编辑模式。
在顶部的工具栏中,可以选择字体、字号、加粗、倾斜等文字样式,也可以对文本进行对齐、缩进、行距等格式设置。
2. 在“格式”选项卡中,点击“形状样式”按钮,可以选择不同的样式预设,如直角、圆角、带边框、无边框等。
也可以通过点击“形状填充”按钮来为文本框或形状添加背景颜色或图片。
3. 如果需要更加精细的样式设置,可以右键点击文本框或形状,选择“格式形状”或“格式文本框”,在弹出的设置窗口中,可以自定义边框、光线效果、阴影效果等。
三、应用形状效果在Word中,我们还可以为文本框和形状应用各种效果,以增加文档的可读性和美观度。
以下是一些常用的形状效果:1. 3D效果:选中文本框或形状,点击“格式”选项卡中的“3D效果”按钮,可以为其添加立体感,如投影、浮雕、旋转等。
2. 光线效果:选中文本框或形状,点击“格式”选项卡中的“光线效果”按钮,可以为其添加光线、反射、投影等效果。
3. 阴影效果:选中文本框或形状,点击“格式”选项卡中的“阴影效果”按钮,可以为其添加不同类型的阴影效果,如内阴影、外阴影、浮雕阴影等。
4. 调整大小和旋转:通过鼠标拖拽以及调整框中的调整柄,可以随意改变文本框和形状的大小和形状,也可以旋转其角度。
一,对话框背景为一幅位图1.插入位图打开VC6.0MFC程序,右击“Dialog”,打开“引入”,选择图片就可以引入一个位图了。
2.打开“ClassView”,再打开“CAbouttDlg()”函数,找到void CTuxingDlg::OnPaint()函数,粘贴上CPaintDC dc(this);CRect rect;GetClientRect(&rect);CDC dcMem;dcMem.CreateCompatibleDC(&dc);CBitmap bmpBackground;bmpBackground.LoadBitmap(IDB_BITMAP1);//IDB_BITMAP1是你自己的图对应的IDBITMAP 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);二.在对话框上显示一幅位图法一:把图片引入工程,其句柄名为IDB_BITMAP2;然后放一个静态控件或者图片控件到对话框上,将其句柄名设为IDC_SHOWBMP; 具体代码为在需要使用的地方(如按钮函数或OnInitDialog()或OnPaint()里等等)加入如下代码:CStatic *p =(CStatic *)GetDlgItem(IDC_SHOWBMP);HBITMAP hBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_BITMAP2));p->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);p->SetBitmap(hBitmap);详解:CStatic *p =(CStatic *)GetDlgItem(IDC_SHOWBMP); //获得指向IDC_SHOWBMP的指针,并将其强制转换为CStatic*类型,并赋值给pHBITMAP hBitmap=::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_BITMAP2));//从工程资源处获得IDB_BITMAP2的位图句柄,并将其赋值给hBitmap变量p->Modifystyle(0xF,SS_BITMAP|SS_CENTERIMAGE);//设置该静态控件(p指向的静态控件),使其用于显示位图,并且是在控件中央显示//(若无此步无法显示,因为没有说明静态对话框要显示的类型是什么)p->SetBitmap(hBitmap);//将需要显示的位图设置为bBitmap,即资源IDB_BITMAP1的句柄法二:通过位图所在路径显示位图(此方法无需事先将位图文件添加为该工程的资源) 在对话框上放一个静态控件(一定是静态控件,若图片控件则无法显示) 将其重命名为IDC_BMP(不重命名的话无法添加变量),然后再为该控件添加一个变量,命名为m_image.在需要使用的地方(如按钮函数或OnInitDialog()或OnPaint()里等等)加入如下代码: this->m_image.ModifyStyle(0,SS_BITMAP |SS_CENTERIMAGE);HBITMAP hBmp = (HBITMAP)::LoadImage(0, "path\\1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);this->m_image.SetBitmap(hBmp);详解:this->m_image.ModifyStyle(0,SS_BITMAP |SS_CENTERIMAGE);//和上面的作用一样,将该静态控件设置为是用来显示位图的,只不过这里是通过该静态对话框的变量来进行/ /modifystyle操作的HBITMAP hBmp = (HBITMAP)::LoadImage(0, "path\\1.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); //从bmp文件所在的路径直接读取该bmp图象的句柄,并将其转换为HBITMAP类型//注:其中的"path\\1.bmp"是相对路径,即在和可执行文件的同一目录下有一个名为path的文件夹,里面有一个名为1.bmp的位图文件.this->m_image.SetBitmap(hBmp); //通过变量m_image来设置该静态框所显示的位图文件.三.列表控件的背景在BOOL CTuxingDlg::OnInitDialog()函数中添加以下代码m_List.SetBkColor(RGB(444, 233, 255)); //三个参数可以任意改变,下同m_List.SetTextBkColor(RGB(444, 233, 255));四.设置列表控件属性带有表格线在BOOL CTuxingDlg::OnInitDialog()函数中添加以下代码DWORD NewStyle = m_List.GetExtendedStyle();NewStyle |= LVS_EX_GRIDLINES; m_List.SetExtendedStyle(NewStyle);五.改变全部界面的背景颜色点击“Globals”,再打开“theApp”,在Bool CPersonalFinancialManagementSystemApp::InitInstance()函数中添加SetDialogBkColor(RGB(444, 233, 255), RGB(0, 0, 0));。
excel表格美化技巧有哪些我们在制作Excel工作表时,呆板的横竖显示的工作表可能没有多大的说服力。
下面让店铺为你带来excel表格美化的技巧。
excel表格美化技巧:1、设置图表标题① 选中图表标题,界面切换到“开始”选项卡—“字体”命令组中,单击图中的下拉三角形,选择你所需要的字体样式、字体大小和字体颜色,这里以“华文云彩”的20号红色字体举例。
② 选中标题文本框,切换到“布局”选项卡,单击“当前所选内容”组中的“设置所选内容格式”命令。
③ 在弹出的“设置图标标题格式”对话框中,切换到“填充”选项卡,选择一种你所需要的填充方式,这里以“纯色填充”举例,然后单击“颜色”右侧的下拉列表,在弹出的“主题颜色”对话框中选择一种你所需要的填充颜色,这里以“淡橙色”举例。
④ 设置完成后直接单击“关闭”按钮即可完成对图表标题的设置。
2、设置图表区① 鼠标选中图表区,界面切换到“布局”选项卡,单击“当前所选内容”组中的“设置所选内容格式”命令。
② 在弹出的“设置图标区格式”对话框中,切换到“填充”选项卡,选择一种你所需要的填充方式,这里以选择“图片或文理填充”中的图片填充来举例,然后单击“剪贴画”命令按钮。
③ 在弹出的“选择图片”对话框中,选择一种你所需要插入的剪贴画文件,如果没有你想要的,也可以使用上方的搜索功能进行关键词搜索。
④ 单击“确定”,关闭“设置图标区格式”对话框,即可看到完成后的效果3、设置绘图区① 选中绘图区,界面切换到“布局”选项卡,单击“当前所选内容”组中的“设置所选内容格式”命令。
(注意:你选中什么“设置所选内容格式”命令上方就会出现你选的区域,可以检查避免选错)。
② 在弹出的“设置图标区格式”对话框中,切换到“填充”选项卡,选择一种你所需要的填充方式,这里选择“渐变填充”,然后在“预设颜色”的下拉列表中选择“羊皮纸”项。
③ 单击“确定”,关闭“设置图标区格式”对话框,即可看到完成后的效果,如图所示。
23日更新了全透明文件夹,需要配合FolderEnhancer 1.5.1-1 【支持5.0】教程和附件下面找!IOS5手动屏蔽锁屏时间和日期教程详细看三楼!如果看不到效果仔细检查下步骤,再去通用--多语言环境——区域格式看看,更改下设置!注意,锁屏日期是由区域格式决定的!可以去重新设置下,改成英文-英国,然后再改回来,中国肯定可以的!去三楼的同时您的鼠标可能会无意经过本层底部,记得顺道加分!关于 ios5.0 信号和wifi图标的更新!解包封包图文教程见二楼!方法:可根据二楼教程进行操作,需要注意的东西我在这里跟大家讲一下首先是信号图标的文件名与4.X时代有了不同,而且文件也比原来多了!下面详细阐述:信号图标文件名:@用艾特代替啦!在程序界面信号:【就是深色的】大小是38*40ColorOnGrayShadow_0_Bars艾特2x.pngColorOnGrayShadow_1_Bars艾特2x.pngColorOnGrayShadow_2_Bars艾特2x.pngColorOnGrayShadow_3_Bars艾特2x.pngColorOnGrayShadow_4_Bars艾特2x.pngColorOnGrayShadow_5_Bars艾特2x.png在主屏幕和程序界面信号图标:【一般是透明色的或者浅色的】大小是 42*40WhiteOnBlackShadow_0_Bars艾特2x.pngWhiteOnBlackShadow_1_Bars艾特2x.pngWhiteOnBlackShadow_2_Bars艾特2x.pngWhiteOnBlackShadow_3_Bars艾特2x.pngWhiteOnBlackShadow_4_Bars艾特2x.pngWhiteOnBlackShadow_5_Bars艾特2x.png在通知中心界面信号图标:【一般与在主屏幕中一样的】大小是38*40WhiteOnBlackEtch_0_Bars艾特2x.pngWhiteOnBlackEtch_1_Bars艾特2x.pngWhiteOnBlackEtch_2_Bars艾特2x.pngWhiteOnBlackEtch_3_Bars艾特2x.pngWhiteOnBlackEtch_4_Bars艾特2x.pngWhiteOnBlackEtch_5_Bars艾特2x.pngWIFI图标程序中:40*40ColorOnGrayShadow_0_WifiBars艾特2x.pngColorOnGrayShadow_1_WifiBars艾特2x.pngColorOnGrayShadow_2_WifiBars艾特2x.pngColorOnGrayShadow_3_WifiBars艾特2x.png主屏幕和锁屏:44*40WhiteOnBlackShadow_0_WifiBars艾特2x.pngWhiteOnBlackShadow_1_WifiBars艾特2x.pngWhiteOnBlackShadow_2_WifiBars艾特2x.pngWhiteOnBlackShadow_3_WifiBars艾特2x.png通知中心界面:40*40WhiteOnBlackEtch_0_WifiBars艾特2x.pngWhiteOnBlackEtch_1_WifiBars艾特2x.pngWhiteOnBlackEtch_2_WifiBars艾特2x.pngWhiteOnBlackEtch_3_WifiBars艾特2x.png大家一定注意图片的名字和大小!我这里做了简单的介绍,希望大家都完美!我就测试了一个天使信号图标的,因为没WIFI 所以现在是个独臂天使,肯定是完美的!又修改啦!完美啦!修正后天使信号透明状态栏对话框封包.rar (3126 K) 下载次数:2866效果图将下载的压缩包解压得到的文件夹背景透明教程1、找到路径 system/library/CoreServices/SpringBoard.app 将透明替换文件放进去并删除该目录的WallpaperIconShadow@2x~iphone.png2、删除:private/var/mobile/Library/Caches/com.apple.springboard.sharedimagecache/Persistent 目录下“FolderIconBG.cpbitmap”“WallpaperIconShadow.cpbitmap”3、删除:private/var/mobile/Library/Caches目录下,“com.apple.SpringBoard.folderSwitcherLinen0”“com.apple.SpringBoard.folderSwitcherLinen1”“com.apple.SpringBoard.folderSwitcherLinen2”"com.a pple.SpringBoard.folderSwitcherLinen3”注销下,文件夹背景更换成功!提供两款素材下载:一个玻璃文件夹,一个纯透明文件夹自己新换了这个,感觉配合壁纸很不错!壁纸.rar (242 K) 下载次数:1080透明文件夹及背景.rar (9 K) 下载次数:3347玻璃文件夹.rar (1175 K) 下载次数:2005FolderEnhancer.deb (90 K) 下载次数:1275 FolderEnhancer 新版更换全透明文件夹的注意啦,需要配合软件FolderEnhancer才能完美,因为前几天该软件一直不支持IOS5,所以一直无法解决黑背景的问题,今天该软件更新,第一时间更新了帖子!步骤,先安装好该软件FolderEnhancer 【x源h7v源等等都有】然后下载上面的透明文件夹按照上面的步骤操作就可以!iOS5去除时间背景以及滑块 iOS5去除时间背景以及滑块.rar (18 K) 下载次数:24171IFUNBOX最新版 ifunbox_sc.zip (3037 K) 下载次数:14525锁屏字体英文字体:2310。
WPS表格的美化教程WPS2012表格的美化实用教程学如逆水行舟,不进则退。
以下是店铺为大家搜索整理的WPS2012表格的美化实用教程,希望能给大家带来帮助!对齐单元格中的内容有的靠左,有的靠右,看着有些不太美观,下面我们自己来调整一下这些文字的对齐方式。
选中要操作内容区域,即A1:D3,然后点击菜单格式--->单元格,打开单元格格式对话框,单元格格式对话框有6页选项卡,选择其中的“对齐”选项卡在对齐页中,点击水平对齐的下拉按钮,从中选择居中然后按确定按钮。
完成后,我们所选中的区域中的文字将居中对齐这是居中对齐,我们还可以仿着此方进行其它方式的对齐另外,还有多种对齐方式,这里不再一一介绍。
表格的合并与拆分对于第1行,一般情况下我们希望A1到D1变成1个单元格,另一方面,希望它居中显示,用句属语叫做合并单元格。
选中A1:D1区域,点击菜单格式--->单元格,从弹出的单元格格式对话框中,选择对齐页,选中合并单元格前面,然后按确定那么选中区域的单元格将合并成1个单元格。
合并后的单元格的名称为左上角的单元格的名称。
如A1:D1这些单元格合并后,名称为A1 。
单元格合并后,再选中A1单元格,然后居中对齐就OK了。
对于其它的合并操作,与此大同小异,进行了多种合并,具体方法不再赘述。
既然有单元格的合并,那就得有单元格的拆分了。
选中要拆分的单元格,然后点击菜单格式--->单元格,从弹出的单元格格式对话框中,选择对齐页,去掉合并单元格前面的“√”,然后按确定即可完成。
设置文字的字体字号颜色字体字号颜色是文字操作中的最基础的操作,相信很多人都会,此处仅简单的介绍一点点。
选中要设置字体的单元格,然后点击菜单格式―>单元格―>字体,弹出字体设置对话框,如图3-3-1所示,在此对话框中,我们可以设置字体字号颜色等。
设置了字体字号颜色下划线等,另外,我们还可以设置其它的很多内容,这里不再一一赘述。
1.设置对话框背景图片插入资源中--插入--Bitmap--引入要设置成背景的图片(本例引入两个ID分别为IDB_BITMAP1,IDB_BITMAP2)拉入图像设置成位图--然后选择属性(M)中选择位图的ID2.设置对话框背景颜色在.cpp中BOOL CMyApp::InitInstance(){AfxEnableControlContainer();// Standard initialization// If you are not using these features and wish to reduce the size //of your final executable, you should remove from the following//the specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls();// Call this when using MFC in a sharedDLL#elseEnable3dControlsStatic();// Call this when linking to MFC statically#endifCMyDlg dlg;m_pMainWnd = &dlg;SetDialogBkColor(RGB(255,255,255),RGB(0,0,0));//这里设置对话框背景颜色为白色,文本//颜色为黑色int nResponse = dlg.DoModal();if (nResponse == IDOK){// TODO: Place code here to handle when the dialog is//dismissed with OK}else if (nResponse == IDCANCEL){// TODO: Place code here to handle when the dialog is//dismissed with Cancel}// Since the dialog has been closed, return FALSE so that we exit the//application, rather than start the application's message pump.return FALSE;}3.设置按钮位图插入Bitmap (ID分别为IDB_BITMAP3,IDB_BITMAP4)在对话框头文件中定义CBitmap;protected:CBitmap bitmap1,bitmap2;然后在对话框Dlg.cpp文件中的OnIniDialog()中加入以下代码bitmap1.LoadBitmap(IDB_BITMAP3);CButton *m_pButton1, *m_pButton2;m_pButton1=(CButton*)GetDlgItem(IDOK);m_pButton1->SetBitmap(HBITMAP(bitmap1));bitmap2.LoadBitmap(IDB_BITMAP4);m_pButton2=(CButton*)GetDlgItem(IDC_HAHA);m_pButton2->SetBitmap(HBITMAP(bitmap2));// TODO: Add extra initialization here然后编译运行看下效果[顶]在VC中让对话框显示背景图[点评:用图片控件,好像图片最多色彩数不超过256色,也就是8位,但是用代码在里面写的方法就可以解决这个问题了.]让一个对话框显示背景通常有两种做法:使用图片控件、在WM_PAINT消息中画图。
用图片控件非常简单,但功能功能不强大,不能对图片拉申等。
在WM_PAINT中画图,相对复杂,但可以做很多特殊处理(如对图片拉申、图片取反等等)。
那么下面就对两种方法略述。
1、用图片控件在对话框中加入Picture控件,属性页中General->Type设为Bitmap, Image中选中相关联的图片资源号。
这样就编译运行,你就会发现它己经可以了。
耶,不对,图片复盖了其它控件!怎么办?哈哈,这是由于你的Picture控件是后面放上去的。
这样它会显示在最上层,所以有些控件看不到了。
有两种方法可以解决:(1)、选中所有控件Ctrl+A, 然后取消对图片控件的选择,将其它控件剪切Ctrl+X,再粘帖Ctrl+C,编译运行或Ctrl+T看看,是不是可以了?(2)、在.rc文件中找到此对话框的定义,此处以例子中的一对话框为例。
IDD_DLG_USE_STATIC DIALOGEX 0, 0, 266, 201STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENUEXSTYLE WS_EX_APPWINDOWCAPTION "DlgUseStatic"FONT 9, "宋体"BEGINCONTROL129,IDC_STATIC,"Static",SS_BITMAP,0,0,266,20 1PUSHBUTTON"取消",IDCANCEL,210,23,50,14DEFPUSHBUTTON "确定",IDOK,210,7,50,14LTEXT"这是个通过图片控件来实现Dialog背景的",IDC_STATIC,13,106,156,8PUSHBUTTON"方法二>>",IDC_BUTTON1,215,104,50,14END在BEGIN至END中便是各个控件的定义和先后顺序,你可以随意调整它们的顺序,这样最先的,它将会显示在最底层(即可能被其它控件覆盖)。
2、在WM_PAINT中画图这是显示图片最常用的方法,各类窗体、控件要加上背景都基本上是在OnPaint中将图片画上。
具体做法如下://从资源中载入图片CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP1);//得到图片信息BITMAP bmpInfo;bmp.GetBitmap(&bmpInfo);//在内存中创建一个位图兼容设备CDC dcMemory;dcMemory.CreateCompatibleDC(&dc);//将图片选入兼容设备CBitmap *pOldBmp=dcMemory.SelectObject(&bmp);//将兼容设备的内容copy到屏幕设备中,实现真正的Paintdc.BitBlt(0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight,&dcMemory, 0, 0, SRCCOPY);//将设备还原dcMemory.SelectObject(pOldBmp);这样图片便显示在主对话框上。
特殊处理:是不是经常有人提到某些加快图形显示、减少闪烁?处理什么WM_ERASEBKGND消息?确实是这样,应为每个窗体重画时,它先会发WM_ERASEBKGND消息,让窗体用设置好的刷子将窗体需要重画的区域刷一次,然后才会发送WM_PAINT消息,将需要的再画上去。
这样就可以保证不会有残留的图形。
但这样就会在短暂的时间内出现灰色背景,如果执行比较慢,就会让人感觉到。
因此如果你确定不需要清除原有的背景,那么你就可以在OnEraseBkgnd中直接返回TRUE,或者直接在这里面绘图。
但一定要注意,不擦除背景时弄不好会带来上些麻烦事,源码中有此演示(由于一开始设置为不擦除背景,所以窗体创建时,没有画图的部分将显示为原来屏幕上的图象)。
同时源码中演示了对图片的拉申,实质上通过CDC我们可以对图象进行众多的处理,请参见有观资料或MSDN。
我们使用过很多的软件,给我们留下印象很深的是那些界面漂亮且迷人的软件,国外的软件象QuickTime,国产的象金山词霸等,它们的软件界面设计风格都有独特之处。
本人跟据自已的经验和大家探讨一下软件的漂亮界面实现的原理并提供DEMO程序。
本人经验不多,经常从吸取知识,共同学习,如有不足之处,请指正!也欢迎和我联系。
下面就开始吧!一、漂亮界面实现的原理用图象元素自绘窗口标题样栏,边框,系统按钮(最大化、最小化、关闭按钮)还有按窗口中的控件。
图象当然是美工画的,但要你教美工怎么去画,是不是不能理解? ,呆会我会告诉你你如何去教美工画.请先仔细看下图。
明白了吧,被红线包括的部分都是要画的图象。
画得好不好会直接影响你的软件界面。
二、原理说玩了,来说一下实现的基本知识1、VC软件绘图技术:CBitmap* pBitmap = new CBitmap;BITMAP BmpInfo;CBitmap* pOldBitmap;CDC* pDisplayMemDC=new CDC;pDisplayMemDC->CreateCompatibleDC(pDC);pBitmap->LoadBitmap(IDB_TITLE_LEFT);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);pBitmap->GetBitmap(&BmpInfo);// x,y为绘图位置,必要时此语句要有For(..;..;..)控制pDC->BitBlt(x,y, BmpInfo.bmWidth, BmpInfo.bmHeight, pDisplayMemDC, 0, 0, SRCCOPY);pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();ReleaseDC(pDisplayMemDC);//记得执行以下的语句delete pDisplayMemDC;delete pBitmap; 2、坐标的概念:点、窗口坐标和屏幕坐标及转换,很重要!如不清楚请先复习相关知识。
下图是我写在一个界面,就是基于上述原理实现的:下面介绍软件如何实现的:①、重载对话框的消息函数:void OnNcLButtonDown(UINT nHitTest, CPoint point);//单击标题栏时是响应void OnNcMouseMove(UINT nHitTest, CPoint point);//Mous 在标题移动时响应LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)②、添加关键成员函数为:BOOL DrawTitleBar(CDC *pDC)③、添加完消息涵数后,在.cpp中实现它们的代码:void CTitleBarDlg::OnNcMouseMove(UINT nHitTest, CPoint point) {CDC* pDC = GetWindowDC();CDC* pDisplayMemDC=new CDC;pDisplayMemDC->CreateCompatibleDC(pDC);CBitmap* pBitmap = new CBitmap;CBitmap* pOldBitmap;CRect rtWnd, rtButton;if (pDC){CString StrTemp = "";GetWindowRect(&rtWnd);//mouse坐标转化为本窗口坐标重要point.x = point.x - rtWnd.left;point.y = point.y - rtWnd.top;//判断mouse是否移到系统按钮上if (m_rtButtExit.PtInRect(point)){pBitmap->LoadBitmap(IDB_EXIT_FOCUS);StrTemp = _T("关闭");}else{if(m_rtButtMin.PtInRect(point)){pBitmap->LoadBitmap(IDB_MIN_FOCUS);StrTemp = _T("最小化窗口");}elseif(m_rtButtMax.PtInRect(point)){pBitmap->LoadBitmap(IDB_MAX_FOCUS);if(IsZoomed()){StrTemp = _T("还原窗口");}else{StrTemp = _T("最化大窗口");}}else{pBitmap->LoadBitmap(IDB_NORMAL);}}rtButton = m_rtButtMin;BITMAP BmpInfo;pBitmap->GetBitmap(&BmpInfo);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);pDC->BitBlt(rtButton.left-6,rtButton.top-2,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();CRect ShowTipRec;ShowTipRec = m_rtButtMin;if(!StrTemp.IsEmpty()){//ScreenToClient(&ShowTipRec);//m_ToolTip.AddToolTip(IDD_TITLEBAR_DIALOG,&ShowTipRec,St rTemp);//m_ToolTip.SetDelayTime(200);}}ReleaseDC(pDisplayMemDC);ReleaseDC(pDC);delete pDisplayMemDC;delete pBitmap;CDialog::OnNcMouseMove(nHitTest, point);}//此为关键函数void CTitleBarDlg:rawTitleBar(CDC *pDC){if (m_hWnd){CBrush Brush(RGB(0,100,255));CBrush* pOldBrush = pDC->SelectObject(&Brush);CRect rtWnd, rtTitle, rtButtons;GetWindowRect(&rtWnd);//取得标题栏的位置rtTitle.left = GetSystemMetrics(SM_CXFRAME);rtTitle.top = GetSystemMetrics(SM_CYFRAME);rtTitle.right = rtWnd.right - rtWnd.left - GetSystemMetrics(SM_CXFRAME);rtTitle.bottom = rtTitle.top + GetSystemMetrics(SM_CYSIZE);//计算最小化按钮的位置,位图大小为15X15rtButtons.left = rtTitle.right-60;rtButtons.top= rtTitle.top+2;rtButtons.right = rtTitle.right-42;rtButtons.bottom = rtTitle.top+20;m_rtButtMin = rtButtons;//计算最大化按钮的位置,位图大小为15X15m_rtButtMax.left = m_rtButtMin.left + 18;m_rtButtMax.top = m_rtButtMin.top;m_rtButtMax.right = m_rtButtMin.right + 16;m_rtButtMax.bottom = m_rtButtMin.bottom;m_rtButtExit.left = m_rtButtMax.left + 18;m_rtButtExit.top = m_rtButtMax.top;m_rtButtExit.right = m_rtButtMax.right + 16;m_rtButtExit.bottom = m_rtButtMax.bottom;//准备CBitmap* pBitmap = new CBitmap;BITMAP BmpInfo;CBitmap* pOldBitmap;CDC* pDisplayMemDC=new CDC; pDisplayMemDC->CreateCompatibleDC(pDC);//重画CaptionPOINT DrawPonit;DrawPonit.x = rtTitle.left-4; DrawPonit.y = rtTitle.top-4;pBitmap->LoadBitmap(IDB_TITLE_LEFT);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);pBitmap->GetBitmap(&BmpInfo);pDC->BitBlt(rtTitle.left-4,rtTitle.top-4,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);DrawPonit.x = DrawPonit.x + BmpInfo.bmWidth;pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();pBitmap->LoadBitmap(IDB_TOP);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);pBitmap->GetBitmap(&BmpInfo);while(DrawPonit.x<= m_rtButtMin.left-66){pDC->BitBlt(DrawPonit.x,DrawPonit.y,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);DrawPonit.x = DrawPonit.x + BmpInfo.bmWidth;}pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();pBitmap->LoadBitmap(IDB_TITLE_RIGHT);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);pBitmap->GetBitmap(&BmpInfo);pDC->BitBlt(DrawPonit.x,DrawPonit.y,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();//重画最小化buttonrtButtons = m_rtButtMin;pBitmap->LoadBitmap(IDB_NORMAL);pBitmap->GetBitmap(&BmpInfo);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);pDC->BitBlt(rtButtons.left-6,rtButtons.top-2,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();int nOldMode = pDC->SetBkMode(TRANSPARENT);COLORREF clOldText=pDC->GetTextColor();CFont titleFont;titleFont.CreateFont( 12, // nHeight8, // nWidth0, // nEscapement文本行逆时针旋转角度0, // nOrientation字体角度FW_BOLD, // nWeight字体粗细程度FALSE, // bItalicFALSE, // bUnderline0, // cStrikeOut 删除线ANSI_CHARSET, // nCharSetOUT_DEFAULT_PRECIS, // nOutPrecisionCLIP_DEFAULT_PRECIS, // nClipPrecisionDEFAULT_QUALITY, // nQualityDEFAULT_PITCH | FF_SWISS, // nPitchAndFamily_T("隶书"));// lpszFac pDC->SelectStockObject(SYSTEM_FIXED_FONT);CFont *OldFont;OldFont = pDC->SelectObject(&titleFont);CString m_StrTitle;GetWindowText(m_StrTitle);pDC->SetTextColor(RGB(80,255,25));if(m_ShowTitle){pDC->TextOut(65,10,m_StrTitle);}else{m_StrTitle = m_StrTitle.Left(6);m_StrTitle += "...";pDC->TextOut(30,10,m_StrTitle);}pDC->SetBkMode(nOldMode);pDC->SetTextColor(clOldText);pDC->SelectObject(OldFont);//pDC->TextOut(60,60,m_StrTitle);//重画左边框pBitmap->LoadBitmap(IDB_LEFTDOWN);pBitmap->GetBitmap(&BmpInfo);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);int i ;for (i= 20;i<=rtWnd.bottom;i=i+BmpInfo.bmHeight-3){pDC->BitBlt(0, rtButtons.top+i,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);}pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();//重画右边框pBitmap->LoadBitmap(IDB_RIGHTDOWN);pBitmap->GetBitmap(&BmpInfo);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);GetClientRect(&rtWnd);for (i= 25;i<=rtWnd.bottom+27;i=i+BmpInfo.bmHeight-3){pDC->BitBlt(rtWnd.right, i,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);}pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();//重画底边框pBitmap->LoadBitmap(IDB_DOWN);pBitmap->GetBitmap(&BmpInfo);pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);GetClientRect(&rtWnd);for (i= 9; i<=rtWnd.right; i=i+2){GetClientRect(&rtWnd);pDC->BitBlt(i,rtWnd.bottom+26,BmpInfo.bmWidth,BmpInfo.bmHeight,pDisplayMemDC,0,0,SRCCOPY);}pDisplayMemDC->SelectObject(pOldBitmap);pBitmap->DeleteObject();ReleaseDC(pDisplayMemDC);delete pDisplayMemDC;delete pBitmap;}}void CTitleBarDlg::OnNcLButtonDown(UINT nHitTest, CPoint point){CRect rtWnd;GetWindowRect(&rtWnd);//mouse坐标转化为本窗口坐标重要point.x = point.x - rtWnd.left;point.y = point.y - rtWnd.top;//检测各按钮是否按到if (m_rtIcon.PtInRect(point))AfxMessageBox("界面软件设计者:朱一松EMail:Song_0962@");else{if (m_rtButtHelp.PtInRect(point)){SendMessage(WM_HELP);}else{if (m_rtButtExit.PtInRect(point)){SendMessage(WM_CLOSE);}else{if(m_rtButtMin.PtInRect(point)){m_ShowTitle = FALSE;SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,MAKELPARAM(point.x, point.y));}else{if(m_rtButtMax.PtInRect(point)){m_ShowTitle = TRUE;if (IsZoomed())SendMessage(WM_SYSCOMMAND,SC_RESTORE,MAKELPARAM(point.x, point.y));else{SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,MAKELPARAM(point.x, point.y));Invalidate();}}else{if(!IsZoomed()){Default();}}}}}}}//******************************************************LRESULT CTitleBarDlg:efWindowProc(UINT message, WPARAM wParam, LPARAM lParam){LRESULT lrst=CDialog:efWindowProc(message, wParam, lParam);if (!::IsWindow(m_hWnd))return lrst;if (message==WM_MOVE||message==WM_PAINT||message==WM_NCPAINT||message==WM_NCACTIVATE||message == WM_NOTIFY){CDC* pWinDC = GetWindowDC();if (pWinDC)DrawTitleBar(pWinDC);ReleaseDC(pWinDC);}return lrst;}好了运行你的程序,即可出现漂亮的界面。