findedit.h

来自「微软手机短信订购软件」· C头文件 代码 · 共 70 行

H
70
字号
// FindEdit.h: interface for the CFindEdit class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FINDEDIT_H__6AB388B4_B15A_42DE_8A04_804D83DFD6C4__INCLUDED_)
#define AFX_FINDEDIT_H__6AB388B4_B15A_42DE_8A04_804D83DFD6C4__INCLUDED_
#include <winuserm.h>
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define WM_MYFINDITEM WM_USER + 133
class CFindEdit : 
	public CWindowImpl< CFindEdit, CEdit, CControlWinTraits >
{
public:
	void SetEnableInput(BOOL bEnableInput);
	BOOL IsInput();  //是否正在输入字符查找
	HWND m_hWndListCtrl; //将输入的key发送给ListCtrl窗口,用于比如翻页等
	BOOL m_bEnableInput; //是否可以再输入字符,(如果没查找到匹配的就不能输入了)
	void EnableInput(BOOL bEnableInput);
	BOOL m_bInput;

	DECLARE_WND_CLASS(CEdit::GetWndClassName());  

	BEGIN_MSG_MAP(CFindEdit)
		MESSAGE_HANDLER(WM_CREATE, OnCreate)
		MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown)
		MESSAGE_HANDLER(WM_TIMER, OnTimer)
		MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus)
		MESSAGE_HANDLER(WM_CHAR, OnChar)
		MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
	END_MSG_MAP()

	BOOL SubclassWindow(HWND hWnd);
	
	
private:
	
	
	DWORD m_dwExtStyle;
	void _Init();	
//	void EnableInput(BOOL bEnableInput);

	UINT m_nInputIdleCount; //不按键计数
	UINT m_nTimerID;  
	// Message Handlers
	LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
	LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	
	LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
	{
		// TODO : Add Code for message handler. Call DefWindowProc if necessary.
		if(IsInput())
			SetFocus();
		return DefWindowProc(uMsg,wParam,lParam);
		//return 0;
	}
	LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

	LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
	{
		// TODO : Add Code for message handler. Call DefWindowProc if necessary.
		SendMessage(EM_SETINPUTMODE,0,EIM_SPELL );
		return DefWindowProc(uMsg,wParam,lParam);
	}
};

#endif // !defined(AFX_FINDEDIT_H__6AB388B4_B15A_42DE_8A04_804D83DFD6C4__INCLUDED_)

⌨️ 快捷键说明

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