📄 setwindlg.cpp
字号:
// 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 + -