winhidden.h

来自「类似QQ,MSN表情的richedit调用控件,实现gif的显示.」· C头文件 代码 · 共 95 行

H
95
字号
// WinHidden.h : CCWinHidden 的声明

#pragma once

#include "resource.h"       // 主符号

#include <atlhost.h>

// CCWinHidden
class CImageShow;
class CCWinHidden : 
	public CAxDialogImpl<CCWinHidden>
{
public:
	CCWinHidden()
	:m_nTimer(0), m_pImageShow(NULL)
	{
	}

	~CCWinHidden()
	{
		if (m_nTimer != 0)
		{
			KillTimer(m_nTimer);
			m_nTimer = 0;
		}
	}

	void AttachCtl(CImageShow* pImageShow)
	{
		m_pImageShow = pImageShow;
	}

	BOOL SetThisTimer(UINT nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc )
	{
		if ( m_hWnd == NULL )
		{
			RECT rt = {0, 0, 0, 0};
			Create(NULL, rt);
		}
		m_nTimer = ::SetTimer(m_hWnd, nIDEvent, uElapse, lpTimerFunc);
		return m_nTimer == 0;
	}

	void KillThisTimer()
	{	
		if (m_nTimer != 0)
		{
			KillTimer(m_nTimer);
			m_nTimer = 0;
		}
	}

	LRESULT OnTimer(UINT, WPARAM, LPARAM, BOOL&);

	enum { IDD = IDD_CWINHIDDEN };

BEGIN_MSG_MAP(CCWinHidden)
	MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
	COMMAND_HANDLER(IDOK, BN_CLICKED, OnClickedOK)
	MESSAGE_HANDLER(WM_TIMER, OnTimer)
	COMMAND_HANDLER(IDCANCEL, BN_CLICKED, OnClickedCancel)
	CHAIN_MSG_MAP(CAxDialogImpl<CCWinHidden>)
END_MSG_MAP()

// 处理程序原型:
//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

	LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
	{
		CAxDialogImpl<CCWinHidden>::OnInitDialog(uMsg, wParam, lParam, bHandled);
		bHandled = TRUE;
		return 1;  // 使系统设置焦点
	}

	LRESULT OnClickedOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		EndDialog(wID);
		return 0;
	}

	LRESULT OnClickedCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
	{
		EndDialog(wID);
		return 0;
	}
private:
	CImageShow*   m_pImageShow;
	UINT          m_nTimer;
};


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?