3476|5

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

菜鸟请教EVC下,如何编写主窗口的最小化和还原啊? [复制链接]

各位大虾高手,请帮忙指点一下啊.........

最新回复

最小化终于搞定了也,是我的代码问题...谢谢楼上两位!  详情 回复 发表于 2007-9-4 21:04
点赞 关注

回复
举报

72

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
你可以做成最小化为托盘程序,其代码和VC语言的一样
你可以在网上找一下,多的是.我也是刚做完最小化成托盘程序.就一个函数就搞定了
Shell_NotifyIcon(NIM_DELETE,   &tnid);不懂就查这个函数.或不懂再联系,
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
把程序结构改一下,使用MFC的View/Document形式,MFC会帮你把最小化、最大化、还原都做好的。
如果你使用的是Dialog,可以调用ShowWindow(SW_HIDE)函数,隐藏窗口,然后双击右下方图标,就可以还原了。
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

4
 
谢谢高手指点!
感觉独孤先生的指导比较浅显易懂.402说得拖盘什么的程序,很深奥哦!
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

5
 
测试了一下,还是不行啊!
用托盘程序可以添加窗口程序(应该是对话框窗口)到任务栏上.但是,调用ShowWindow(SW_HIDE)函数以后,窗口和任务栏一起隐藏了.怎么点也搞不出任务栏和开始菜单.不知道怎么回事.
偶在BOOL CHomeScreenDlg::OnInitDialog()函数中放了:
        NOTIFYICONDATA   tnid;   
                tnid.cbSize   =   sizeof(NOTIFYICONDATA);   
                tnid.hIcon   =   m_hIcon;   
                  tnid.hWnd   =   hWnd;   
                  tnid.uFlags   =   NIF_MESSAGE|NIF_ICON|NIF_TIP;   
                  tnid.uCallbackMessage   =   WM_MY_NOTIFY;   
                  tnid.uID   =   IDR_MAINFRAME;   
                 _tcscpy(tnid.szTip,   TEXT("Click Here!"));
                 Shell_NotifyIcon(NIM_ADD,&tnid);
在最小化按钮函数中:
      void CHomeScreenDlg::OnOK()
{
        // TODO: Add extra validation here
        if(MessageBox(_T("Are you sure to exit?\r\n 确定要退出吗?"),
                _T("警告"), MB_YESNO) == IDNO)
        {
                ShowWindow(SW_HIDE);

                        return;
        }
        Cleanup();
        CDialog::OnOK();
}
回调的消息函数是:
void CHomeScreenDlg::OnCLickHereMessage(WPARAM wParam,LPARAM lParam)
{
        UINT uID;
        INT uMouseMsg;
        POINT pt;
        uID=(UINT)wParam;
        uMouseMsg=(UINT)lParam;
        if(uMouseMsg == WM_RBUTTONDOWN || uMouseMsg == WM_LBUTTONDOWN)
        {
                switch(uID)
                {
                        case IDR_MAINFRAME:
                                GetCursorPos(&pt);
                                ShowWindow(SW_SHOW);
                                break;
                        default:
                                break;
                }
        }
        return;
}
请高手指点,怎么可以实现最小化,而且又能使任务栏可见?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 
最小化终于搞定了也,是我的代码问题...谢谢楼上两位!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表