类似QQ与360软件,消息提示有两种。上下浮动、渐入渐出。
1、上下浮动提示框实现
机制,定时器响应上下浮动消息。
主要API:MoveWindow。
源码如下UpDownTipDlg.h、UpDownTipDlg.cpp。
UpDownTipDlg.h
/*
*@brief 上下浮动提示框
*@date 2012-8-9
*/
#pragma once
// CUpDownTipDlg dialog
class CUpDownTipDlg : public CDialog
{
DECLARE_DYNAMIC(CUpDownTipDlg)
public:
CUpDownTipDlg(CWnd* pParent = NULL); // standard constructor
virtual ~CUpDownTipDlg();
// Dialog Data
enum { IDD = IDD_MCMSG_DLG };
void ShowMsgWindow(CWnd* pParent, const CString& strTipInfo);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
//响应关闭消息,删除对象
virtual void OnCancel();
virtual void PostNcDestroy();
afx_msg void OnTimer(UINT_PTR nIDEvent);
afx_msg void OnBnClickedOk();
afx_msg void OnBnClickedCancel();
DECLARE_MESSAGE_MAP()
private:
void InitDlgPosition();
private:
CString m_strTipInfo;
};
UpDownTipDlg.cpp
// MCMsgTipDlg.cpp : implementation file
//
#include "stdafx.h"
#include "mcmsgtip_demo.h"
#include "UpDownTipDlg.h"
const UINT_PTR POP_WINDOW = 1;
const UINT_PTR DISPLAY_DELAY = 2;
const UINT_PTR CLOSE_WINDOW = 3;
const UINT POP_ELAPSE = 1;
const UINT DELAY_ELAPSE = 5000;
const UINT CLOSE_ELAPSE = 1;
//上下浮动跨度
const UINT FLOAT_SPAN = 2;
// CUpDownTipDlg dialog
IMPLEMENT_DYNAMIC(CUpDownTipDlg, CDialog)
CUpDownTipDlg::CUpDownTipDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUpDownTipDlg::IDD, pParent)
, m_strTipInfo(_T(""))
{
}
CUpDownTipDlg::~CUpDownTipDlg()
{
}
void CU