⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setwindlg.cpp

📁 一个类似卡巴斯基界面的设计!其按钮和别的一些控件都是封装了各种优秀的自绘类!
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// SetWinDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SetWin.h"
#include "SetWinDlg.h"
#include "BtnST.h"
#include "common.h"
//#include "AboutDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define IDS_WEBADDR		_T("http://www.zhyu.com.cn/")
#define IDS_MAILADDR	_T("http://www.TrustMore.com.cn/")//("mailto:tech@zhyu.com.cn")


/////////////////////////////////////////////////////////////////////////////
// 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(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetWinDlg dialog

CSetWinDlg::CSetWinDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSetWinDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSetWinDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	m_hColorIcon = (HICON)::LoadImage(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME), IMAGE_ICON, 0, 0, 0);

}

void CSetWinDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSetWinDlg)
//////////////////变量与控件的关联////////////////
	DDX_Control(pDX,IDC_com1,m_com1);//
    DDX_Control(pDX,IDC_com2,m_com2);//管理按钮
	DDX_Control(pDX,IDC_USBKEY1,m_USBKEY1);//USBKEY密码修改
	DDX_Control(pDX,IDC_GROUP1,m_group1);//顶端组框
	DDX_Control(pDX,IDC_Group2,m_group2);//右组框

//	DDX_Control(pDX,IDCANCEL,m_Close);//关闭

	DDX_Control(pDX,IDC_SETING,m_Seting);//设置(文本框)
    DDX_Control(pDX,IDC_Container,m_Container);//容器(组框)存放个文本框按钮的功能
	DDX_Control(pDX,IDC_Test,m_Test);//右组框
	DDX_Control(pDX,IDC_Title1,m_Title1);//右组框

	DDX_Control(pDX,IDC_Btn1,m_Btn1);//常规管理按钮
	DDX_Control(pDX,IDC_Btn2,m_Btn2);//管理按钮
	DDX_Control(pDX,IDC_Btn3,m_Btn3);//usb管理按钮

	DDX_Control(pDX,IDC_OK,m_OK);//usb管理按钮
	DDX_Control(pDX,IDCANCEL,m_Cancel);//usb管理按钮
	DDX_Control(pDX,IDC_Application,m_Application);//
	
	DDX_Control(pDX,IDC_Hylink3,m_hylink3);
	DDX_Control(pDX,IDC_Hylink4,m_hylink4);

		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSetWinDlg, CDialog)
	//{{AFX_MSG_MAP(CSetWinDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_SETING, OnSeting)
	ON_BN_CLICKED(IDC_Btn3, OnBtn3)
	ON_BN_CLICKED(IDC_Btn1, OnBtn1)
	ON_BN_CLICKED(IDC_com1, Oncom1)
	ON_BN_CLICKED(IDC_com2, Oncom2)
	ON_WM_CTLCOLOR()
	ON_COMMAND(IDC_Destroy, OnDestroy)
	ON_BN_CLICKED(IDC_Btn2, OnBtn2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetWinDlg message handlers

BOOL CSetWinDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon


	// TODO: Add extra initialization here

/////////////////窗口大小/////////////////////
	MoveWindow(200,100,638,480);
/////////////////颜色设置/////////////////////////
	COLORREF	crBtnColor;
	crBtnColor = ::GetSysColor(COLOR_BTNFACE)+ RGB(30, 30, 30);
///////////////////////////////////////////////////////////
	CFont m_Tabfont,m_TabFont;
	m_Tabfont.CreateFont(10,   0,   0,   0,   FW_NORMAL,   0,   0,   TRUE,   
  DEFAULT_CHARSET,   OUT_DEFAULT_PRECIS,   CLIP_DEFAULT_PRECIS,   PROOF_QUALITY,   
  VARIABLE_PITCH   |   0x04   |   FF_DONTCARE,   
                  "宋体 ");
   	m_font.CreateFont(12,   0,   0,   0,   FW_BOLD,   0,   0,   0,   
  DEFAULT_CHARSET,   OUT_DEFAULT_PRECIS,   CLIP_DEFAULT_PRECIS,   PROOF_QUALITY,   
  VARIABLE_PITCH   |   0x04   |   FF_DONTCARE,   
                  "宋体 ");
//	SendMessageToDescendants(WM_SETFONT,(WPARAM)HFONT(m_font),MAKELPARAM(TRUE,0 ));	 
/*	CFont *m_tab;
	m_tab=GetFont();
	LOGFONT lf;	  
	m_tab->GetLogFont(&lf);	   
	m_TabFont.CreateFontIndirect(&lf);
//	lf.lfWidth=20;
	lf.lfWeight=FW_BOLD;  
	lf.lfItalic=TRUE;*/
	
	//////////////////定义系统托盘///////////////////////////
	m_tnid.cbSize=sizeof(NOTIFYICONDATA);//设置结构大小//
	m_tnid.hWnd=this->m_hWnd;//设置图标对应的窗口
    m_tnid.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;//图标属性
    m_tnid.uCallbackMessage=MYWM_NOTIFYICON;//应用程序定义的回调消息ID
////////////设置NOTIFYICONDATA结构///////////
	CString szToolTip;
    szToolTip=_T("设置");
    _tcscpy(m_tnid.szTip, szToolTip);//帮助信息
    m_tnid.uID=IDR_MAINFRAME;//应用程序图标
    HICON hIcon;
    hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    m_tnid.hIcon=hIcon;//图标句柄
    m_ptnid=&m_tnid;
	::Shell_NotifyIcon(NIM_ADD,m_ptnid);//增加图标到系统托盘
    if(hIcon)::DestroyIcon(hIcon);
////////////////////////////////////////////////////////////



////////////////////界面分框的初始化////////////////////////////////////
//	
//	Ccommon *com;
	com=new Ccommon;//常规管理DLG初始化显示
    com->Create(IDD_Protect,NULL);
    com->ShowWindow(SW_SHOW);
 	com->MoveWindow(250,70,372,340);

	man=new Manage;//保险箱管理DLG初始化隐藏
    man->Create(IDD_Manage,NULL);
    man->ShowWindow(SW_HIDE);
 	man->MoveWindow(250,70,372,340);

	usb=new CUsbkey;//USBKEY管理DLG初始化隐藏
    usb->Create(IDD_USBKEY,NULL);                      //
    usb->ShowWindow(SW_HIDE);                           //
 	usb->MoveWindow(250,70,372,340);                   //
/////////////////////////////////////////////////////////



	
	m_group1.SetBkColor(::GetSysColor(4));//顶端组框的设置背景色为白色COLOR_INFOBK
	m_group1.SetRoundRectRgn(10, 10);//设置圆边
	m_group1.SetBorder(::GetSysColor(10));//边界线颜色
	m_group1.MoveWindow(10,10,612,50);

	m_group2.SetBkColor(::GetSysColor(4));//右组框的设置
	m_group2.SetRoundRectRgn(10, 10);
	m_group2.SetBorder(::GetSysColor(10));
	m_group2.MoveWindow(200,70,422,330);


	m_com1.SetHyperlink("常规管理","");//常规管理文本按钮
	m_com1.SetBkColor(::GetSysColor(4));
	m_com1.SetFont(&m_Tabfont);
	m_com1.MoveWindow(60,110,60,15);

	m_com2.SetHyperlink("保险箱管理","");
	m_com2.SetBkColor(::GetSysColor(4));//保险箱管理文本的设置
	m_com2.SetFont(&m_Tabfont);//设置字体为宋体
	m_com2.MoveWindow(60,135,70,15);

	m_USBKEY1.SetHyperlink("修改PIN密码","");
	m_USBKEY1.SetBkColor(::GetSysColor(4));//USBKEY管理文本的设置
	m_USBKEY1.SetFont(&m_Tabfont);
	m_USBKEY1.MoveWindow(100,250,70,15);



    m_Test.SetBkColor(::GetSysColor(4));//测试group文本
	m_Test.SetRoundRectRgn(10,10);
	m_Test.SetBorder(::GetSysColor(10));

	m_Title1.SetHyperlink("帮助","");//帮助按钮
	m_Title1.SetBkColor(::GetSysColor(4));
	m_Title1.SetFont(&m_Tabfont);

	m_Seting.SetTextColor(::GetSysColor(25));
	m_Seting.SetHyperlink("设置","");//设置文本的超链接
    m_Seting.SetBkColor(::GetSysColor(4));
	m_Seting.SetFont(&m_Tabfont);
//	m_Seting.SetBitmap(IDB_Bitm1,RGB(255,0,0));

    m_Container.SetBkColor(::GetSysColor(4));//第一个容器的设置
	m_Container.SetRoundRectRgn(10,10);
	//m_Container.SetMargins(0, 0);//
//	m_Container.SetBitmap(IDB_BITMAP4,RGB(255,0,0));
	m_Container.SetBorder(::GetSysColor(10));
	m_Container.MoveWindow(10,70,224,120);

 // m_Close.SetThemeHelper(&m_Theme);
//	m_Close.SetIcon(IDI_ICON2, IDI_ICON2);//(IDB_Comadmin,RGB(0, 255, 0));
//	m_Close.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor);
//	m_Close.SetTooltipText(_T("Close the application"));
//	m_Close.MoveWindow(10,70,180,30);
 

//	m_Btn1.SetThemeHelper(&m_Theme);//信任管理按钮的设置
	m_Btn1.SetIcon(IDI_ICON6, IDI_ICON5);//(IDB_Comadmin,RGB(0, 255, 0));
//	m_Btn1.OffsetColor(CButtonST::BTNST_COLOR_BK_OUT,crBtnColor );//
	m_Btn1.SetTooltipText(_T("信任管理设置"));
	m_Btn1.SetRounded(TRUE);
///	m_Btn1.SetFont(&m_font);
	m_Btn1.MoveWindow(7,70,227,25);

//	m_Btn2.SetThemeHelper(&m_Theme);
	m_Btn2.SetIcon(IDI_ICON6, IDI_ICON5);//(IDB_Comadmin,RGB(0, 255, 0));
//	m_Btn2.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor);
	m_Btn2.SetTooltipText(_T("Close the application"));
//	m_Btn2.SetFont(&m_TabFont);
	m_Btn2.SetRounded(TRUE);
	m_Btn2.MoveWindow(7,195,227,25);

//	m_Btn3.SetThemeHelper(&m_Theme);
	m_Btn3.SetIcon(IDI_ICON6, IDI_ICON5);//(IDB_Comadmin,RGB(0, 255, 0));
//	m_Btn3.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor);
	m_Btn3.SetTooltipText(_T("USBKEY管理"));
//	m_Btn3.SetFont(&m_TabFont);
	m_Btn2.SetRounded(TRUE);
	m_Btn3.MoveWindow(7,225,227,25);

	m_hylink3.SetURL(IDS_MAILADDR);//网站超链接
//	m_hylink3.SetFont(&m_TabFont);
	m_hylink3.SetUnderline(CHyperLink::ulAlways);
	m_hylink3.SetWindowText("trustmore.com.cn");
	m_hylink3.MoveWindow(20, 430,130,15);	

	m_hylink4.SetURL(IDS_WEBADDR);//同一网址
	m_hylink4.SetUnderline(CHyperLink::ulAlways);
	m_hylink4.SetWindowText("zhyu.com.cn");
	m_hylink4.MoveWindow(145, 430,80,15);

	m_OK.SetThemeHelper(&m_Theme);//绘制按钮的背景立体感
//	m_Btn3.SetIcon(IDI_ICON1, IDI_ICON1);//(IDB_Comadmin,RGB(0, 255, 0));
	m_OK.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor);
	m_OK.SetTooltipText(_T("确定"));//设置鼠标经过时显示的文字
	m_OK.MoveWindow(389,420,70,25);

	m_Cancel.SetThemeHelper(&m_Theme);
//	m_Btn3.SetIcon(IDI_ICON1, IDI_ICON1);//(IDB_Comadmin,RGB(0, 255, 0));
	m_Cancel.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor);
	m_Cancel.SetTooltipText(_T("取消设置"));
	m_Cancel.MoveWindow(469,420,70,25);

	m_Application.SetThemeHelper(&m_Theme);
	m_Application.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor);
	m_Application.SetTooltipText(_T("应用新的设置"));
	m_Application.MoveWindow(549,420,70,25);

////////////////////设置菜单////////////////////////////////
	FILE *fp=fopen(_T("BCMenu.startup"),"r");
	if(fp){
		int newstyle;
		if(fscanf(fp,"%d",&newstyle)==1){
			BCMenu::SetMenuDrawMode(newstyle);//菜单风格
		}
		fclose(fp);
	}

//	m_menu.LoadMenu(IDR_MENU1);
//	m_menu.LoadToolbar(IDR_MAINFRAME);
//	m_menu.LoadToolbar(IDI_ICON3);
//	m_menu.ModifyODMenuA(NULL,IDC_Display,IDB_BITMAP2);
//	m_menu.ModifyODMenuA(NULL,ID_FILE_OPEN,IDB_FILE_OPEN);
//	m_menu.ModifyODMenuA(NULL,ID_FILE_SAVE,IDB_FILE_SAVE);
//	m_menu.ModifyODMenuA(NULL,ID_FILE_PRINT,IDB_FILE_PRINT);

//	SetMenu(&m_menu);//设置框菜单

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -