WTL设置对话框背影色
MainDlg.h
- // MainDlg.h : interface of the CMainDlg class
- //
- /////////////////////////////////////////////////////////////////////////////
- #pragma once
- class CMainDlg : public CDialogImpl<CMainDlg>
- {
- public:
- enum { IDD = IDD_MAINDLG };
- BEGIN_MSG_MAP(CMainDlg)
- MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
- MESSAGE_HANDLER(WM_PAINT, OnPaint)
- COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
- END_MSG_MAP()
- // Handler prototypes (uncomment arguments if needed):
- // LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
- // LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
- // LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)
- LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
- LRESULT OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
- LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
- };
MainDlg.cpp
- // MainDlg.cpp : implementation of the CMainDlg class
- //
- /////////////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "resource.h"
- #include "MainDlg.h"
- #include <atlimage.h>
- #include <time.h>
- LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
- {
- // center the dialog on the screen
- CenterWindow();
- // set icons
- HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON));
- SetIcon(hIcon, TRUE);
- HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON));
- SetIcon(hIconSmall, FALSE);
- return TRUE;
- }
- LRESULT CMainDlg::OnCancel(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
- {
- EndDialog(wID);
- return 0;
- }
- LRESULT CMainDlg::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
- {
- srand((unsigned)time(NULL));
- CPaintDC dc(this->m_hWnd);
- CBrush brush;
- CRect rect;
- GetClientRect(&rect);
- InvalidateRect(&rect, FALSE);
- brush.CreateSolidBrush(RGB(rand() % 255, rand() % 255, rand() % 255));
- dc.FillRect(&rect, brush);
- return TRUE;
- }
无限次刷新客户区,实现重绘。
- class CPaintDC : public CDC
- {
- public:
- // Data members
- HWND m_hWnd;
- PAINTSTRUCT m_ps;
- // Constructor/destructor
- CPaintDC(HWND hWnd)
- {
- ATLASSERT(::IsWindow(hWnd));
- m_hWnd = hWnd;
- m_hDC = ::BeginPaint(hWnd, &m_ps);
- }
- ~CPaintDC()
- {
- ATLASSERT(m_hDC != NULL);
- ATLASSERT(::IsWindow(m_hWnd));
- ::EndPaint(m_hWnd, &m_ps);
- Detach();
- }
- };
可见,CPaintDC封装了只能在WM_PAINT消息下处理的BeginPaint、EndPaint函数。
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
EndPaint(hwnd, &ps);
return 0;
WTL设置对话框背影色的更多相关文章
- CFileDialog(文件夹对话框类)和CFontDialog(字体设置对话框类)的使用学习
CFileDialog(文件夹对话框类) 主要用于文件的保存,另存,打开,关闭等功能 功能“另存为”的实现: void CTXTDlg::OnFileSaveas() { LPCTSTR szFilt ...
- MFC设置对话框大小
设置对话框大小不可改变 1.在类的头文件中加入函数申明 (.h文件) afx_msg void OnGetMinMaxInfo(MINMAXINFO *lpMMI); 2.在消息映射中添加 (.cpp ...
- 一行代码设置TForm颜色的前世今生(属性赋值引起函数调用,然后发消息实现改变显示效果),TForm的初始颜色在dfm中设置了clBtnFace色
来自万一的帖子:http://www.cnblogs.com/del/archive/2008/04/27/1173658.html的确做到了一行代码设置TForm控件的颜色(一点感想:Delphi程 ...
- VC编程中如何设置对话框的背景颜色和静态文本颜色
晚上编一个小程序,涉及到如何设置对话框的背景颜色和静态文本颜色.这在VC6.0中本来是一句话就搞定的事.在应用程序类中的InitInstance()函数添加: //设置对话框背景和文本颜色 SetDi ...
- VS2010/MFC设置对话框控件的Tab顺序
设置对话框控件的Tab顺序 前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为“计算”按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法 ...
- GUI颜色、字体设置对话框
%颜色设置对话框 uisetcolor %c 红色 c=uisetcolor %默认规定颜色 c=uisetcolor([ ]); %设置曲线颜色 h = plot([:]); c = uisetco ...
- Android Studio中如何设置颜色拾色器工具
Android Studio如何设置颜色拾色器工具Color Picker? 你可能下载过一些获取颜色值的一些小工具, 这种方式获取颜色,需要先切换窗口转跳到桌面,然后打开拾色器小工具程序,然后去拾取 ...
- WTL改变对话框大小
1.让对话框从CdialogResize类继承过来: class CMainDlg : public CDialogImpl<CMainDlg>, public CDoubleBuffer ...
- MFC编程入门之十(对话框:设置对话框控件的Tab顺序)
前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为"计算"按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但 ...
随机推荐
- 2020你还不会Java8新特性?方法引用详解及Stream 流介绍和操作方式详解(三)
方法引用详解 方法引用: method reference 方法引用实际上是Lambda表达式的一种语法糖 我们可以将方法引用看作是一个「函数指针」,function pointer 方法引用共分为4 ...
- 1035 插入与归并 (25 分)C语言
根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列.每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置.如此迭代直到全部元素有序. 归并排序进行如下迭 ...
- Spring事务失效的 8 大原因,这次可以吊打面试官了!
今天再来一篇<吊打面试官>系列,这次真的要吊打了,哈哈!(看往期吊打系列请在后台回复:吊打,我会陆续更新--) 前几天栈长不是发了一篇文章,里面有一个关于事务失效的问题: 用 Spring ...
- MinGW-W64下载与安装
安装方案 1 下载安装包,MinGW-w64 - for 32 and 64 bit Windows,然后直接以管理员安装即可,但是这个方案在部分电脑可能不行,会提示 cannot download ...
- POJ 2456 Aggressive cows (二分)
题目传送门 POJ 2456 Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) s ...
- 快速掌握—HTML快速实现自定义Input开关
HTML <input id="customSwitch" type="checkbox" /> <label for="custo ...
- C# 阿里云查询、删除文件
class Program { static string regionId = "cn-shanghai"; static string accessKeyId = " ...
- UGUI ScrollView中显示模型和特效
游戏开发中有时候会遇到在UI上显示模型和特效的需求,这次需要在ScrollView上显示.我们使用UGUI的Screen Space - Camera模式,修改模型和特效的layer使之显示在UI上面 ...
- es6中的面向对象写法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- vue 移动端在div上绑定click事件 失效
在.vue的文件中使用了better-scroll,在div标签上绑定click事件后,无效. 原因:使用了better-scroll,默认它会阻止touch事件.所以在配置中需要加上click: t ...