1.在c++中const char类型的实参与uint类型的形参不兼容
2.
BOOL CvpnDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 将“关于...”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
//ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
//ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(false);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);//设置断言
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
//pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, true); // 设置大图标
SetIcon(m_hIcon, false); // 设置小图标
//加载界面皮肤
SkinH_Attach();
return true; // 除非将焦点设置到控件,否则返回 TRUE
}
void CvpnDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
/*if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}*/
if (nID == SC_MINIMIZE)
{
m_TrayIcon.Create(this.WM_ICON_NOTIFY,"VPNClient仍在运行,双击此图标显示主界面 ...", m_hIcon, IDR_MAINFRAME, true);
m_TrayIcon.SetTooltipText("Running ....");
ShowWindow(SW_HIDE);
}
else if (nID==SC_CLOSE)
{
if (MessageBox("确定退出吗?","退出",MB_YESNO)==IDYES)
{
//结束程序
SetEvent(g_hDisconnect[0]);
CloseHandle(g_hDisconnect[0]);
exit(-1);
}
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
3.错误提示
const char*
并不会隐式转换成UINT
。解决这种问题,可以用强制转换或者修改参数类型。