1、 MFC 课程设计说明书 设计题目:设计题目:综合调色板 所属系部:所属系部: 计算机工程系 专专 业:业: 软件工程 学学 号:号: 姓姓 名:名: 设计日期:设计日期: 1. 设计描述 通过综合这学期的知识,最终做了个调色板。首先,此调色板可以通过控制 红,绿,蓝三个滑块控件来使列表框的颜色随之变化;也可以通过点击颜色板来 自己选取想要显示的颜色。其次,当关闭调色板时有对话框提示,既可以最小化 到托盘,也可以直接退出程序,同时可以通过操作注册表来操作。最后,此调色 板应用了皮肤设置,使之看起来更美化! 2设计分析 主要函数及声明: void WriteRegistry(); void Re
2、adRegistry(); void Inquiry(); BOOL ModifyTray(HWND hwnd,UINT uID); BOOL RemoveTray(HWND hwnd); BOOL AddTray(HWND hWnd,LPSTR lpszTip); void OnTimer(UINT nIDEvent); void OnRegistry(); CColorDlg(CWnd* pParent = NULL); CRect ListBoxRect;/列表框区域 Int ExitInstance() protected 成员变量: HINSTANCE hInstance; HICO
3、N m_hIcon; int nRadio,nCheck; CString str; 其他新添加的函数消息: void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); void OnAbout(); void OnExit(); void OnOpen(); void OnClose(); void OnDestroy(); 其中,有一个函数比较特殊,需手动添加,在 ColorDlg.h中添加 void OnTrayNotify(WPARAM wParam, LPARAM lParam); 在 ColorDlg.cpp 中
4、 AFX_MSG_MAP(CColorDlg)与 AFX_MSG_MAP 之间添加 ON_MESSAGE(WM_ICON_NOTIFY, OnTrayNotify),最后在 ColorDlg.cpp 中手 动添加函数: void CColorDlg:OnTrayNotify(WPARAM wParam, LPARAM lParam) 在资源视图中需要做的工作有:引入两个对话框,分别添加相应的控件,并 定义其成员变量。红绿蓝控件 ID 分别命名为 IDC_SCROLLBAR_RED, IDC_SLIDER_GREEN,IDC_SLIDER_BLUE,编辑框命名为 IDC_LIST_BOX, 清除
5、注册信息命名为 IDC_REGISTRY。 对话框成员变量: CScrollBar m_scrollRed; CSliderCtrl m_sliderGreen; CSliderCtrl m_sliderBlue; int m_nRedValue; int m_nBlue; int m_nGreen; 在资源视图中引入一个菜单资源和几个 ICON 资源 3.运行界面 启动界面 蓝色 调色对话框 退出提示 托盘图标菜单 托盘图标变化 关于 4.源代码 / ColorDlg.cpp : implementation file / #include “stdafx.h“ #include “Colo
6、r.h“ #include “ColorDlg.h“ #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_; #endif / / CAboutDlg dialog used for App About class CAboutDlg : public CDialog public: CAboutDlg(); / Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAboutD