📄 statusbarmsgwnd.h
字号:
/*******************************************************************************
File: StatusBarMsgWnd.h
Description: This file contains the module for creating a status bar message
window like MSN messenger
Created: Oct 13, 2001
Author: Prateek Kaul
e-mail: kaulpr@yahoo.com
Compiler with version number : Visual C++ 6.0
********************************************************************************/
#ifndef _STATUSBARMSGWND_H
#define _STATUSBARMSGWND_H
#include "afxwin.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/*---------------------------------------------------------------------------
class CStatusBarMsgWnd
Created: Oct 13, 2001
Author: Prateek Kaul
e-mail: kaulpr@yahoo.com
Abstract : For creating a status bar message window like MSN messenger
Revisions :none.
----------------------------------------------------------------------------*/
const int IDT_POP_WINDOW_TIMER = 100;
const int IDT_COLLAPSE_WINDOW_TIMER = 101;
const int IDT_SHOW_WINDOW_TIMER = 102;
const int STP_BOTTOM = 200;
const int STP_TOP = 201;
const int STP_RIGHT = 202;
const int STP_LEFT = 203;
class CStatusBarMsgWnd : public CFrameWnd
{
DECLARE_MESSAGE_MAP()
public:
// CStatusBarMsgWnd(); // No default constructor, sorry!!, use CreateObject then only
// use this class
// Create the message box using this function, as we want to force heap creation
// Don't use delete to destroy the window, OnTimer() does it automatically.
static CStatusBarMsgWnd* CreateObject(CString strMsg,
unsigned int nWndWidth,
unsigned int nWndHeight,
unsigned int nMsgTimeOut,
unsigned int nMsgWndCreationDelay,
CRect rectMsgRect,
CWnd* pWndParent = NULL);
void PopMsg(); // Interface for actually poping up the message window
protected:
void OnSize(unsigned int nType, int cx, int cy);
int OnCreate(LPCREATESTRUCT lpCreateStruct);
void OnMouseMove(UINT nFlags, CPoint point);
void OnTimer(UINT nIDEvent);
LRESULT OnMouseHover(WPARAM w, LPARAM l);
LRESULT OnMouseLeave(WPARAM w, LPARAM l);
BOOL OnSetCursor(CWnd* pWnd , UINT nHitTest , UINT message);
void OnDestroy();
void OnPaint(void);
void OnLButtonDown(UINT nFlags, CPoint point);
private:
/* Constructor and destructor private, we want to force heap creation,
so use CreateObject */
CStatusBarMsgWnd(
CString strMsg,
unsigned int nWndWidth,
unsigned int nWndHeight,
unsigned int MsgTimeOut,
unsigned int MsgWndCreationDelay,
CRect rectMsgRect,
CWnd* pWndParent = NULL
);
~CStatusBarMsgWnd(); // self destruction in OnTimer, no one should call this function
BOOL CheckIfStatusBarBottom(); // Is Status bar at bottom ?
BOOL CheckIfStatusBarTop(); // Is Status bar on top ?
BOOL CheckIfStatusBarRight(); // Is Status bar at right side?
BOOL CheckIfStatusBarLeft(); // Is Status bar at left side?
void PopWndForBottomStatusBar(); // Pop window when status bar is at bottom
void PopWndForTopStatusBar(); // Pop window when status bar on top
void PopWndForRightStatusBar(); // Pop window when status bar is at right side
void PopWndForLeftStatusBar(); // Pop window when status bar is at left side
unsigned int m_nWndWidth; // Message window width
unsigned int m_nWndHeight; // Mesaage window height
unsigned int m_nMsgTimeOut; // Seconds the window remains stationary
unsigned int m_nMsgWndCreationDelay; // Seconds in which the window gets shown
unsigned int m_nWndLeft; // Message window left corner screen coordinates
unsigned int m_nWndTop; // Message window top corner screen coordinates
unsigned int m_nWndRight; // Message window right corner screen coordinates
unsigned int m_nWndBottom; // Message window bottom corner screen coordinates
unsigned int m_nWndSize; // Temp variable for storing window size for animation
unsigned int m_nStatusBarPos; // const about where the status bar.
CString m_strMsg; // Message to be shown
CWnd* m_pWndParent; // Parent of this message window
CRect m_rectMsgRect; // Rect in which the message will be formatted
CFont m_fontMessageUnderline; // Font of the message with underline
CFont m_fontMessageNoUnderline; // Font of the message without underline
BOOL m_bMouseOverWnd; // Is Mouse over window ?
HCURSOR m_hCursor; // Cursor when mouse is on window, Hand cursor
};
#endif // _STATUSBARMSGWND_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -