• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

做个仅有对话框的应用,但想把它放到托盘,

liuzzz 2001-07-19 10:50:46
不显示出对话框,在哪改不显示对话框合适(仅是不显示而已)?
...全文
103 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liuzzz 2001-08-05
此问题我已自行解决,请帮助过的朋友再回复一次(好象这样才能给分?)
回复
liuzzz 2001-07-21
烦请Suddy先mail给我完整内容(liuzhiyong#21cn.com),虽然我知道应该如何去做这部份。
另,那个隐藏还是麻烦讲清楚一些,我学VC仅几个月,不会是叫我改CDialog::OnInitDialog()里面的吧?
回复
liuzzz 2001-07-21
烦请Suddy把整个内容mail给我(liuzhiyong#21cn.com),虽然我知道托盘那部份怎么做。
另,ShowWindow(SW_HIDE)写在哪?麻烦说清楚点好么?我学这东西仅3月。
回复
Suddy 2001-07-21
另外重载虚函数

void CAlertserverDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
TRACE1("%d\n",nType);
if(nType==1) this->ShowWindow (SW_HIDE);
else this->ShowWindow (SW_SHOWNORMAL);
// TODO: Add your message handler code here

}
增加增加菜单消息处理
void CAlertserverDlg::OnMenuitem32772()
{
// TODO: Add your command handler code here
//this for show
this->ShowWindow(SW_SHOWNORMAL);

}

void CAlertserverDlg::OnMenuitem32773()
{
// TODO: Add your command handler code here
// this for hide;

this->ShowWindow(SW_HIDE);

}

怎么样,很全吧


回复
Suddy 2001-07-21

#include "SystemTray.h"
//你没有这个文件我发给你

定义:

1、 CSystemTray m_TrayIcon;


2、创建
if (!m_TrayIcon.Create(this, WM_ICON_NOTIFY, "", AfxGetApp()->LoadIcon(IDI_ICON1), IDR_MENU1)){

return -1;

}

编辑相应的资源IDI_ICON1,IDR_MENU1
并且增加消息:WM_ICON_NOTIFY


#define WM_ICON_NOTIFY WM_USER+10



BEGIN_MESSAGE_MAP(CAlertserverDlg, CDialog)
//{{AFX_MSG_MAP(CAlertserverDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, OnSend)
ON_BN_CLICKED(IDC_BUTTON2, OnStart)
ON_WM_CLOSE()
ON_WM_TIMER()
ON_WM_CREATE()
ON_COMMAND(ID_MENUITEM32771, OnMenuitem32771)
ON_COMMAND(ID_MENUITEM32772, OnMenuitem32772)
ON_COMMAND(ID_MENUITEM32773, OnMenuitem32773)
ON_WM_SHOWWINDOW()
ON_MESSAGE(WM_ICON_NOTIFY, OnTrayNotification)
ON_WM_SIZE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()





3、定义处理函数:


.h中

public:
LRESULT OnTrayNotification(WPARAM wParam, LPARAM lParam);





.c中


LRESULT CAlertserverDlg::OnTrayNotification(WPARAM wParam, LPARAM lParam)
{

return m_TrayIcon.OnTrayNotification(wParam, lParam);


}
回复
wjyasd 2001-07-21
showwindow(sw_hide)

是自己加到函数体中去的……
回复
liuzzz 2001-07-21
这是我用向导生成的:

/////////////////////////////////////////////////////////////////////////////
// CTimerDlg message handlers

BOOL CTimerDlg::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

return TRUE; // return TRUE unless you set the focus to a control
}
里面可没有showwindow(sw_hide)

另,分多少不是理由吧,一回生二回熟,下回多来点不就行了?
回复
dgcat_6 2001-07-19
程序一运行、隐藏窗体!并处理tray!即设置托盘!
回复
ttzzgg_80713 2001-07-19
如果 你的分多点,可以给你一个例子
回复
111222 2001-07-19
OnInitDialog里面ShowWindow(SW_HIDE);
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-07-19 10:50
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……