
mfc 如何将程序最小化到托盘
展开全部
1、创建mfc工程(对话框)
2、在myApp.cpp中InitInstance()中修改如下:
CDialog* pd = new CDialog;
HICON hIcon = LoadIcon(IDR_MAINFRAME);
pd->Create(IDD_TEMP_DIALOG); //IDD_TEMP_DIALOG是一个不显示的对话框资源ID
pd->SetWindowText("QQ_Loginer");
pd->SetIcon(hIcon, TRUE);
CQQ_LoginerDlg dlg(pd);
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
3、在myAppDlg.h中加入初始化变量和函数:
public:
void InitialNotifyIcon();
BOOL wndst;
NOTIFYICONDATA NotifyIcon;
protected:
afx_msg void OnNotifyIcon(WPARAM wParam,LPARAM IParam);
4、在myAppDlg.cpp中的OnInitDialog()加入如下代码:
wndst = FALSE;
InitialNotifyIcon();
加入函数:
void CmyAppDlg::OnNotifyIcon(WPARAM wParam, LPARAM IParam)
{
if (IParam == WM_LBUTTONUP)
{
if (wndst)
{
ShowWindow(SW_SHOW);
}
else
{
ShowWindow(SW_HIDE);
}
wndst = !wndst;
}
}
2、在myApp.cpp中InitInstance()中修改如下:
CDialog* pd = new CDialog;
HICON hIcon = LoadIcon(IDR_MAINFRAME);
pd->Create(IDD_TEMP_DIALOG); //IDD_TEMP_DIALOG是一个不显示的对话框资源ID
pd->SetWindowText("QQ_Loginer");
pd->SetIcon(hIcon, TRUE);
CQQ_LoginerDlg dlg(pd);
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
3、在myAppDlg.h中加入初始化变量和函数:
public:
void InitialNotifyIcon();
BOOL wndst;
NOTIFYICONDATA NotifyIcon;
protected:
afx_msg void OnNotifyIcon(WPARAM wParam,LPARAM IParam);
4、在myAppDlg.cpp中的OnInitDialog()加入如下代码:
wndst = FALSE;
InitialNotifyIcon();
加入函数:
void CmyAppDlg::OnNotifyIcon(WPARAM wParam, LPARAM IParam)
{
if (IParam == WM_LBUTTONUP)
{
if (wndst)
{
ShowWindow(SW_SHOW);
}
else
{
ShowWindow(SW_HIDE);
}
wndst = !wndst;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询