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

📄 myedit.cpp

📁 在Visual C++中使用MSFlexGrid控件的几点改进
💻 CPP
字号:
// MyEdit.cpp : implementation file
//

#include "stdafx.h"
#include "T_FlexGrid.h"
#include "MyEdit.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyEdit

CMyEdit::CMyEdit()
{
	
}

CMyEdit::~CMyEdit()
{
}


BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
	//{{AFX_MSG_MAP(CMyEdit)
	ON_WM_KILLFOCUS()
	ON_WM_SETFOCUS()
	ON_WM_CTLCOLOR_REFLECT()
	ON_WM_LBUTTONDBLCLK()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyEdit message handlers

void CMyEdit::OnKillFocus(CWnd* pNewWnd) 
{
	CEdit::OnKillFocus(pNewWnd);
	//向对话框发送网格数据改变的消息
	(GetParent()->GetParent())->SendMessage(CELL_DATA_CHANGED);
}

void CMyEdit::OnSetFocus(CWnd* pOldWnd) 
{
	CEdit::OnSetFocus(pOldWnd);
	//LOGFONT lf;
	//g_font.GetLogFont(&lf);
	//MessageBox(lf.lfFaceName);
    //(GetParent()->GetParent())->SendMessage(WM_CTLCOLOR);	
	//MessageBox("ok");
}
/*
void CMyEdit::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
    CRect rect;
	GetClientRect(&rect);
	rect.right-=2;
	dc.SetTextColor(RGB(255,0,0));	
	dc.SelectObject(&g_font);
	dc.DrawText(CellStr,-1,&rect,DT_RIGHT);
	g_font.DeleteObject();

	// Do not call CEdit::OnPaint() for painting messages
}
*/
HBRUSH CMyEdit::CtlColor(CDC* pDC, UINT nCtlColor) 
{  
	HBRUSH c = CreateSolidBrush(RGB(202, 202, 202)); 
	if(nCtlColor==CTLCOLOR_EDIT)
	{	
		pDC->SetBkMode(TRANSPARENT);
		pDC->SetTextColor(RGB(255,0,0));	
	}
	return (HBRUSH) c;
}

/*
void CMyEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	if (nChar==VK_F2)
		MessageBox("ok");
	if (nChar==VK_RETURN)
		MessageBox("ok");
	CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
}
*/

BOOL CMyEdit::PreTranslateMessage(MSG* pMsg) 
{
	if (pMsg->message==WM_KEYDOWN)
	{
		if (pMsg->wParam==13)	// Enter键
			pMsg->message=WM_KILLFOCUS;
		if (pMsg->wParam==27)	//ESC键
			pMsg->message=WM_KILLFOCUS;
	}
	return CEdit::PreTranslateMessage(pMsg);
}

void CMyEdit::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	//向对话框发送编辑框网格被双击的消息
	(GetParent()->GetParent())->SendMessage(CELL_DB_CLICKED);
	//屏蔽掉CEdit默认的双击
	//CEdit::OnLButtonDblClk(nFlags, point)
}

⌨️ 快捷键说明

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