• CMFCDesktopAlertWnd实现桌面弹出消息框


    1.创建一个CMFCDesktopAlertWnd指针

    CMFCDesktopAlertWnd* pPopup = new CMFCDesktopAlertWnd;

    2.设置参数

        pPopup->SetAnimationType((CMFCPopupMenu::ANIMATION_TYPE) 2);
        pPopup->SetAnimationSpeed(100);
        pPopup->SetTransparency((BYTE)128);
        pPopup->SetSmallCaption(TRUE); 
        pPopup->SetAutoCloseTime(TRUE ? 3 * 1000 : 0);

    3.调用Create函数显示消息框。

      方法3.1用CMFCDesktopAlertWndInfo类实现

        HICON hIcon = (HICON) ::LoadImage(::AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME), IMAGE_ICON, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON), 0);
        CMFCDesktopAlertWndInfo params;
        params.m_hIcon = hIcon;
        params.m_strText = L"消息文本";
        params.m_strURL = L"一个链接";
        params.m_nURLCmdID = 101;
        pPopup->Create(this, params, NULL, CPoint(-1, -1));

       方法3.2另外一个是用自定义的对话框实现。

    pPopup->Create(this, IDD_DIALOG1, NULL, CPoint(-1, -1), RUNTIME_CLASS(CMyTestDlg));

    其中自定义对话框步骤如下:

      3.2.1 新建一个对话框,ID为IDD_DIALOG1,Style选Child、Border选None;

      3.2.2 双击对话框,添加对话框类,类名CMyTestDlg,其中基类选择CDialogEx;

      3.2.3 在CMyTestDlg.h中

        修改DECLARE_DYNAMIC改成DECLARE_DYNCREATE

        所有CDialogEx改成CMFCDesktopAlertDialog

      3.2.4 在CMyTestDlg.cpp中

        修改IMPLEMENT_DYNAMIC改成IMPLEMENT_DYNCREATE

        所有CDialogEx改成CMFCDesktopAlertDialog

    自定义对话框其他地方和普通对话框一样处理即可,可以添加控件、消息等。

  • 相关阅读:
    浅谈CLR CTS CLS。。。
    "每日一道面试题".net托管堆是否会存在内存泄漏的情况
    “每日一道面试题”.Net中GC的运行机制
    “每日一道面试题”.Net中所有类的基类是以及包含的方法
    c# 逆波兰式实现计算器
    c#控制台实现post网站登录
    c#读取xml文件
    .net md5
    ado.net知识整理
    第八章:Python高级编程-迭代器和生成器
  • 原文地址:https://www.cnblogs.com/sinceret/p/13160626.html
Copyright © 2020-2023  润新知