亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? inplaceedit.cpp

?? 功能主要是串口通信和網絡通信方面的
?? CPP
字號:
/*******************************************************************************
	Author						: Aravindan Premkumar
	Unregistered Copyright 2003	: Aravindan Premkumar
	All Rights Reserved
	
	This piece of code does not have any registered copyright and is free to be 
	used as necessary. The user is free to modify as per the requirements. As a
	fellow developer, all that I expect and request for is to be given the 
	credit for intially developing this reusable code by not removing my name as 
	the author.
*******************************************************************************/

#include "stdafx.h"
#include "InPlaceEdit.h"

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

#define CTRL_C	0x3
#define CTRL_V	0x16
#define CTRL_X	0x18

/////////////////////////////////////////////////////////////////////////////
// CInPlaceEdit

CInPlaceEdit* CInPlaceEdit::m_pInPlaceEdit = NULL;  

CInPlaceEdit::CInPlaceEdit()
{
	m_iRowIndex= -1;
	m_iColumnIndex = -1;
	m_bESC = FALSE;
	m_strValidChars.Empty();
}

CInPlaceEdit::~CInPlaceEdit()
{
}

BEGIN_MESSAGE_MAP(CInPlaceEdit, CEdit)
	//{{AFX_MSG_MAP(CInPlaceEdit)
	ON_WM_KILLFOCUS()
	ON_WM_CHAR()	
	ON_WM_CREATE()
	//}}AFX_MSG_MAP
//	ON_MESSAGE(WM_PASTE, OnPaste)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CInPlaceEdit message handlers
/*
void CInPlaceEdit::OnPaste(WPARAM , LPARAM )
{
	if (m_strValidChars.IsEmpty())
	{
		return;	
	}

    CString strFromClipboard;

	// get the text from clipboard
	if(OpenClipboard()) {
		HANDLE l_hData = GetClipboardData(CF_TEXT);
		if(NULL == l_hData) {
			return;
		}
		
		char *l_pBuffer = (char*)GlobalLock(l_hData);
		if(NULL != l_pBuffer) {
			strFromClipboard = l_pBuffer;
		}

		GlobalUnlock(l_hData);
		CloseClipboard();
	}

	// Validate the characters before pasting 
	for(int iCounter_ = 0; iCounter_ < strFromClipboard.GetLength(); iCounter_++)
	{
		if (-1 == m_strValidChars.Find(strFromClipboard.GetAt(iCounter_)))
		{
			return;
		}
	}
		
	//let the individual control handle other processing
	CEdit::Default();	
}
*/

void CInPlaceEdit::OnKillFocus(CWnd* pNewWnd) 
{
	CEdit::OnKillFocus(pNewWnd);
	
	// TODO: Add your message handler code here

	// Get the text in the edit ctrl
	CString strEdit;
	GetWindowText(strEdit);

	// Send Notification to parent of edit ctrl
	LV_DISPINFO dispinfo;
	dispinfo.hdr.hwndFrom = GetParent()->m_hWnd;
	dispinfo.hdr.idFrom = GetDlgCtrlID();
	dispinfo.hdr.code = LVN_ENDLABELEDIT;

	dispinfo.item.mask = LVIF_TEXT;
	dispinfo.item.iItem = m_iRowIndex;
	dispinfo.item.iSubItem = m_iColumnIndex;
	dispinfo.item.pszText = m_bESC ? LPTSTR((LPCTSTR)m_strWindowText) : LPTSTR((LPCTSTR)strEdit);
	dispinfo.item.cchTextMax = m_bESC ? m_strWindowText.GetLength() : strEdit.GetLength();
	
	GetParent()->SendMessage(WM_NOTIFY, GetParent()->GetDlgCtrlID(), (LPARAM)&dispinfo);

	PostMessage(WM_CLOSE);
}

void CInPlaceEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	// TODO: Add your message handler code here and/or call default

 	if ((m_strValidChars.IsEmpty()) || ((-1 != m_strValidChars.Find(static_cast<TCHAR> (nChar))) || 
		(nChar == VK_BACK) || (nChar == CTRL_C) || (nChar == CTRL_V) || (nChar == CTRL_X)))
	{
		CEdit::OnChar(nChar, nRepCnt, nFlags);
	}
	else
	{
		MessageBeep(MB_ICONEXCLAMATION);
		return;
	}
}

BOOL CInPlaceEdit::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
	if (WM_KEYDOWN == pMsg->message && (VK_ESCAPE == pMsg->wParam || VK_RETURN == pMsg->wParam))
	{
		if (VK_ESCAPE == pMsg->wParam)
		{
			m_bESC = TRUE;
		}

		GetParent()->SetFocus();
		return TRUE;
	}

	return CEdit::PreTranslateMessage(pMsg);
}

int CInPlaceEdit::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CEdit::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	// Set the proper font
	CFont* pFont = GetParent()->GetFont();
	SetFont(pFont);

	ShowWindow(SW_SHOW);
	SetWindowText(m_strWindowText);
	SetSel(0, -1);
	SetFocus();
	
	  
	return 0;
}

CInPlaceEdit* CInPlaceEdit::GetInstance()
{
	if(m_pInPlaceEdit == NULL)
	{
		m_pInPlaceEdit = new CInPlaceEdit;
	}
	return m_pInPlaceEdit;
}

void CInPlaceEdit::DeleteInstance()
{
	delete m_pInPlaceEdit;
	m_pInPlaceEdit = NULL;
}

BOOL CInPlaceEdit::ShowEditCtrl(DWORD dwStyle, const RECT &rCellRect, CWnd* pParentWnd, 
								UINT uiResourceID, int iRowIndex, int iColumnIndex,
								CString& strValidChars, CString& rstrCurSelection)
{
	m_iRowIndex = iRowIndex;
	m_iColumnIndex = iColumnIndex;
	m_strValidChars = strValidChars;
	m_strWindowText = rstrCurSelection;
	m_bESC = FALSE;

	if (NULL == m_pInPlaceEdit->m_hWnd) 
	{
		return m_pInPlaceEdit->Create(dwStyle, rCellRect, pParentWnd, uiResourceID); 
	}	

	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
婷婷夜色潮精品综合在线| 一级精品视频在线观看宜春院| 色偷偷88欧美精品久久久| 国产99精品视频| 国产精品性做久久久久久| 国产精品自产自拍| 国产不卡高清在线观看视频| 国产高清精品网站| 不卡av在线免费观看| 色老汉一区二区三区| 欧美日韩一级视频| 欧美一级久久久| 久久久一区二区三区| 国产精品女上位| 亚洲精品福利视频网站| 丝袜诱惑亚洲看片| 久久丁香综合五月国产三级网站| 国产在线精品一区二区三区不卡| 国产成人一区在线| 色婷婷综合五月| 日韩三级精品电影久久久| 久久香蕉国产线看观看99| 国产日韩欧美精品综合| 一区二区在线免费观看| 免费一区二区视频| 东方aⅴ免费观看久久av| 91麻豆福利精品推荐| 欧美美女黄视频| 久久九九久久九九| 亚洲精品日韩综合观看成人91| 午夜天堂影视香蕉久久| 国产剧情一区二区| 色婷婷久久久亚洲一区二区三区| 欧美高清激情brazzers| 国产日韩精品一区二区三区| 亚洲图片有声小说| 成人午夜激情视频| 色偷偷成人一区二区三区91| 欧美一区二区成人6969| 亚洲欧洲无码一区二区三区| 日日欢夜夜爽一区| 成人国产精品免费观看视频| 91精品久久久久久久99蜜桃| 国产精品久久国产精麻豆99网站| 日本怡春院一区二区| 99久久777色| 久久久精品tv| 日韩电影在线一区| 色噜噜狠狠色综合欧洲selulu| 精品日韩99亚洲| 亚洲国产wwwccc36天堂| 成人理论电影网| 精品久久久三级丝袜| 亚洲成a人v欧美综合天堂下载| 成人看片黄a免费看在线| 日韩欧美高清dvd碟片| 亚洲综合在线第一页| 成人h版在线观看| 国产日韩欧美亚洲| 国内精品国产成人国产三级粉色| 欧美乱妇一区二区三区不卡视频| 椎名由奈av一区二区三区| 国产成人一区在线| 久久一区二区三区国产精品| 久久av资源网| 日韩欧美一区二区视频| 人人超碰91尤物精品国产| 欧美日韩中文精品| 亚洲电影视频在线| 在线中文字幕一区二区| 亚洲精品国产成人久久av盗摄| 99久久国产综合精品麻豆| 亚洲国产精品成人综合色在线婷婷| 日本aⅴ免费视频一区二区三区| 欧美最猛黑人xxxxx猛交| 亚洲免费色视频| 色999日韩国产欧美一区二区| 国产精品久久久久桃色tv| 国产精品1区二区.| 亚洲国产精品精华液ab| 丁香一区二区三区| 日韩va欧美va亚洲va久久| 欧美一区二区三区在| 日本三级亚洲精品| 精品播放一区二区| 粉嫩欧美一区二区三区高清影视 | 日韩欧美中文字幕公布| 久久国产日韩欧美精品| 久久久久国产成人精品亚洲午夜| 国产一区二区0| 亚洲视频在线一区二区| 91久久一区二区| 亚洲成va人在线观看| 欧美一区二区久久| 国产精品资源网| 亚洲欧洲日本在线| 欧美日韩国产一级| 狠狠色狠狠色合久久伊人| 久久夜色精品国产噜噜av| 成人国产视频在线观看| 亚洲综合视频在线观看| 日韩丝袜美女视频| 成人免费高清在线观看| 有码一区二区三区| 日韩一区和二区| 成人动漫视频在线| 天天综合网 天天综合色| 2欧美一区二区三区在线观看视频| 成人sese在线| 日韩专区中文字幕一区二区| 久久久久久久久岛国免费| 91婷婷韩国欧美一区二区| 奇米精品一区二区三区在线观看 | 国产三级久久久| 色综合一个色综合| 美女任你摸久久| 亚洲精品免费在线播放| 日韩精品一区二区三区老鸭窝 | 欧美日韩和欧美的一区二区| 国产一区二区三区在线看麻豆| 亚洲日本护士毛茸茸| 日韩美女天天操| 欧美体内she精高潮| 国产成人亚洲综合a∨猫咪| 亚洲国产精品久久久久婷婷884 | 精品国产1区二区| 欧美性感一类影片在线播放| 国产成人高清视频| 美国av一区二区| 亚洲国产日韩一区二区| 国产欧美一区二区精品性| 91精品国产高清一区二区三区 | 91视频xxxx| 国产激情偷乱视频一区二区三区| 日本aⅴ免费视频一区二区三区| 亚洲色图都市小说| 天天色图综合网| 亚洲蜜臀av乱码久久精品| 国产精品丝袜91| 久久综合给合久久狠狠狠97色69| 91精品在线免费观看| 色美美综合视频| 色综合久久久久综合体| 99视频精品免费视频| 国产91色综合久久免费分享| 激情文学综合网| 无码av免费一区二区三区试看| 亚洲免费成人av| 一区二区三区 在线观看视频| 日韩美女视频19| 专区另类欧美日韩| 亚洲三级久久久| 亚洲最新在线观看| 亚洲成人av在线电影| 亚洲制服丝袜av| 一区二区三区免费| 亚洲国产欧美一区二区三区丁香婷| 亚洲柠檬福利资源导航| 亚洲女人的天堂| 午夜精品123| 男男成人高潮片免费网站| 日韩中文字幕区一区有砖一区| 亚洲成av人片在www色猫咪| 亚洲一级二级在线| 日韩av中文字幕一区二区三区| 欧美a级理论片| 国产精品白丝av| 99久久伊人网影院| 一本在线高清不卡dvd| 欧美性大战久久久久久久 | 久久99精品国产.久久久久久| 精一区二区三区| 国产91在线|亚洲| 色狠狠综合天天综合综合| 欧美美女直播网站| 26uuu亚洲综合色欧美| 国产精品国产三级国产a| 一区二区三区在线影院| 美女在线视频一区| 成人app软件下载大全免费| 欧美午夜一区二区三区免费大片| 欧美日产在线观看| 久久久综合视频| 亚洲一级二级在线| 国产真实乱对白精彩久久| 成人激情免费视频| 欧美一卡二卡三卡四卡| 日本一区二区免费在线| 亚洲最大的成人av| 国产福利不卡视频| 欧美日韩免费视频| 国产三级三级三级精品8ⅰ区| 亚洲一区免费观看| 成人一区二区三区| 日韩一区二区影院| 亚洲男人的天堂av| 国产风韵犹存在线视精品| 欧美无乱码久久久免费午夜一区 | 欧美一区二区三区日韩视频| 中日韩av电影|