⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kbutton.inl

📁 vc编写的
💻 INL
字号:
/*
 Copyright (c) 1999, kSet Lab 
 Author: Konstantin Bukreev 
 E-mail: konstantin@mail.primorye.ru 

 Created: 21.10.99 12:12:16
 Version: 1.0.0

*/

#ifndef _kButton_d0c87122_87af_11d3_9285_0080adb811c5
#define _kButton_d0c87122_87af_11d3_9285_0080adb811c5

#if _MSC_VER > 1000 
#pragma once
#endif // _MSC_VER > 1000

#include "kButton.h"
inline HRESULT _kButton::OnDrawAdvanced(ATL_DRAWINFO& di)
{
	RECT& rc = (RECT&)*di.prcBounds;

	HDC hDCMem = CreateCompatibleDC(di.hdcDraw);
	
	if (!m_hCacheBitmap)
	{
		m_hCacheBitmap = CreateCompatibleBitmap(di.hdcDraw, rc.right - rc.left, rc.bottom - rc.top);
	}

	HBITMAP hOldBitmap = (HBITMAP)SelectObject(hDCMem, m_hCacheBitmap);		
	
	DrawIt(hDCMem, m_Status, rc);		
	BitBlt(di.hdcDraw, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, hDCMem, 0, 0, SRCCOPY);
			
	SelectObject(hDCMem, hOldBitmap);
	DeleteDC(hDCMem);		

	return S_OK;
}
inline void _kButton::FireClick()
{
	CProxy_IkButtonEvents< _kButton >::Fire_Click(); 
	CProxyIkButtonEvents< _kButton >::Fire_Click();
}
inline LRESULT _kButton::OnEraseBkgnd(UINT, WPARAM, LPARAM, BOOL&)
{
	return 0;
}
inline LRESULT _kButton::OnMouseMove(UINT, WPARAM wParam, LPARAM, BOOL&)
{
	if (m_Status == stDisabled) return 0;
	if (!m_bHoverEnabled) return 0;
	if (wParam & MK_LBUTTON) return 0;
	if (m_Status == stStatic)
	{
		m_Status = stHover;
		FireViewChange();
		TrackMouse();
	}
	return 0;
}
inline LRESULT _kButton::OnMouseLeave(UINT, WPARAM, LPARAM, BOOL&)
{
	if (m_Status == stDisabled) return 0;
	m_Status = stStatic;		
	FireViewChange();
	return 0;
}
inline void _kButton::TrackMouse()
{
	if (m_pfTrackMouseEvent)
	{
		TRACKMOUSEEVENT trackmouseevent;
		trackmouseevent.cbSize = sizeof(trackmouseevent);
		trackmouseevent.dwFlags = TME_LEAVE;
		trackmouseevent.hwndTrack = m_hWndCD;
		trackmouseevent.dwHoverTime = HOVER_DEFAULT;
		m_pfTrackMouseEvent(&trackmouseevent);	
	}
	else
	{
		CComQIPtr<_IMouseMove> pI(GetControllingUnknown());
		pI->_StartThread(100);
	}
}

#endif //_kButton_d0c87122_87af_11d3_9285_0080adb811c5


⌨️ 快捷键说明

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