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

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

?? plaintextview.h

?? 一款最完整的工業組態軟源代碼
?? H
字號:
// PlainTextView.h : interface of the CPlainTextView class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_PlainTextView_H__053AD676_0AE2_11D6_8BF1_00500477589F__INCLUDED_)
#define AFX_PlainTextView_H__053AD676_0AE2_11D6_8BF1_00500477589F__INCLUDED_

#pragma once

typedef CWinTraits<WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL, WS_EX_CLIENTEDGE> CPlainTextViewWinTraits;

class CPlainTextView:
	public CWindowImpl<CPlainTextView, CEdit, CPlainTextViewWinTraits>,
	public CEditCommands<CPlainTextView>
{
protected:
	typedef CPlainTextView thisClass;
	typedef CWindowImpl<CPlainTextView, CEdit, CPlainTextViewWinTraits> baseClass;

protected:
	HACCEL m_hAccel;
	WTL::CFont m_font;

public:
	CPlainTextView() : 
		m_hAccel(NULL)
	{
	}

public:
	DECLARE_WND_SUPERCLASS(NULL, CEdit::GetWndClassName())

	BOOL PreTranslateMessage(MSG* pMsg)
	{
		if(pMsg)
		{
			if((pMsg->hwnd == m_hWnd) || ::IsChild(m_hWnd, pMsg->hwnd))
			{
				// We'll have the Accelerator send the WM_COMMAND to our view
				if(m_hAccel != NULL && ::TranslateAccelerator(m_hWnd, m_hAccel, pMsg))
				{
					return TRUE;
				}
			}
		}
		return FALSE;
	}

	BEGIN_MSG_MAP(thisClass)
		MESSAGE_HANDLER(WM_CREATE, OnCreate)
		MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
		if(uMsg == WM_FORWARDMSG)
			if(PreTranslateMessage((LPMSG)lParam)) return TRUE;
		CHAIN_MSG_MAP_ALT(CEditCommands<CPlainTextView>, 1)

		DEFAULT_REFLECTION_HANDLER()
	END_MSG_MAP()

	LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
	{
		// "base::OnCreate()"
		LRESULT lRet = DefWindowProc(uMsg, wParam, lParam);
		bHandled = TRUE;

		// "OnInitialUpdate"
		this->InitializeFont();
		this->CreateAccelerators();

		return lRet;
	}

	LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
	{
		this->DestroyAccelerators();

		bHandled = FALSE;
		return 0;
	}

// Helpers
protected:

	void InitializeFont(void)
	{
		CClientDC dc(m_hWnd);

		// Set the font
		LOGFONT lf = {0};
		::ZeroMemory(&lf, sizeof(LOGFONT));
		const int PointSize = 8;
		lf.lfHeight = -MulDiv(PointSize, GetDeviceCaps(dc, LOGPIXELSY), 72);
		::lstrcpy(lf.lfFaceName, _T("Courier New"));
		m_font.Attach( ::CreateFontIndirect(&lf) );

		// Set the font of the edit control.
		this->SetFont(m_font);


		// Set the tab stops to 4 characters

		CFontHandle hOldFont = dc.SelectFont(m_font);

		// Retreive text metrics for that font and return the previously
		// selected font.
		TEXTMETRIC tm = {0};
		dc.GetTextMetrics(&tm);
		dc.SelectFont(hOldFont);

		// Tab stops are in dialog units. We'll use a 4 character tab stop
		int nDialogUnitsX = ::MulDiv(4, tm.tmAveCharWidth, LOWORD(GetDialogBaseUnits()));
		int nTabStops = 4*nDialogUnitsX;
		this->SetTabStops(nTabStops);
	}


	void CreateAccelerators(void)
	{
		const int cAccel = 12;
		ACCEL AccelTable[cAccel] = {
			{FVIRTKEY | FCONTROL | FNOINVERT,  'A',        ID_EDIT_SELECT_ALL},
			{FVIRTKEY | FCONTROL | FNOINVERT,  'X',        ID_EDIT_CUT},
			{FVIRTKEY | FCONTROL | FNOINVERT,  'C',        ID_EDIT_COPY},
			{FVIRTKEY | FCONTROL | FNOINVERT,  'V',        ID_EDIT_PASTE},
			{FVIRTKEY | FCONTROL | FNOINVERT,  'F',        ID_EDIT_FIND},
			{FVIRTKEY | FNOINVERT,             VK_F3,      ID_EDIT_REPEAT},
			{FVIRTKEY | FCONTROL | FNOINVERT,  'H',        ID_EDIT_REPLACE},
			{FVIRTKEY | FCONTROL | FNOINVERT,  'Z',        ID_EDIT_UNDO},
			{FVIRTKEY | FCONTROL | FNOINVERT,  'Y',        ID_EDIT_REDO},
			// Don't do this one, DEL doesn't work right if its in here,
			// and the delete key works fine without it
			//{FVIRTKEY | FNOINVERT,             VK_DELETE,  ID_EDIT_CLEAR},
			{FVIRTKEY | FSHIFT | FNOINVERT,    VK_DELETE,  ID_EDIT_CUT},
			{FVIRTKEY | FCONTROL | FNOINVERT,  VK_INSERT,  ID_EDIT_COPY},
			{FVIRTKEY | FSHIFT | FNOINVERT,    VK_INSERT,  ID_EDIT_PASTE}
		};

		m_hAccel = ::CreateAcceleratorTable(AccelTable, cAccel);
	}

	void DestroyAccelerators(void)
	{
		if(m_hAccel)
		{
			::DestroyAcceleratorTable(m_hAccel);
			m_hAccel = NULL;
		}
	}

};


/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_PlainTextView_H__053AD676_0AE2_11D6_8BF1_00500477589F__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜久久久久久久久电影院 | 久久色中文字幕| 婷婷综合五月天| 欧美日韩一区二区三区四区| 日韩av不卡一区二区| 欧美成人r级一区二区三区| 国内不卡的二区三区中文字幕 | 国产91对白在线观看九色| 欧美激情一区二区在线| 91一区一区三区| 亚洲第一二三四区| 精品女同一区二区| 成人免费精品视频| 亚洲一级二级在线| 精品国产一区二区精华| a美女胸又www黄视频久久| 亚洲午夜免费电影| 精品美女一区二区| 色婷婷激情一区二区三区| 日本色综合中文字幕| 国产精品视频你懂的| 欧美日韩一级二级三级| 国产一区二区三区视频在线播放| 成人免费小视频| 国产日产亚洲精品系列| 欧美制服丝袜第一页| 午夜视黄欧洲亚洲| 国产日产欧美精品一区二区三区| 欧美色综合网站| 国产传媒一区在线| 亚洲1区2区3区视频| 久久久蜜桃精品| 欧美亚洲综合另类| 国产成人午夜精品5599| 亚洲成人在线观看视频| 中文字幕精品一区二区精品绿巨人| 欧美放荡的少妇| 成人免费黄色大片| 久久99久久久欧美国产| 亚洲一区二区三区四区的| 国产日韩av一区| 91精品国产一区二区三区香蕉| eeuss鲁片一区二区三区在线看| 秋霞成人午夜伦在线观看| 亚洲黄色av一区| 国产精品每日更新在线播放网址| 日韩视频一区二区| 欧美日韩久久不卡| 欧美人与性动xxxx| 不卡的av电影| 久88久久88久久久| 偷拍一区二区三区| 亚洲愉拍自拍另类高清精品| 国产精品家庭影院| 国产欧美久久久精品影院| 欧美v国产在线一区二区三区| 欧美在线不卡视频| 色婷婷综合久久久中文一区二区| 国产成人啪免费观看软件 | 精品乱人伦一区二区三区| 欧美日韩在线播放三区| 日本道精品一区二区三区| 99免费精品视频| 成人激情文学综合网| 久草中文综合在线| 激情五月激情综合网| 视频一区二区三区在线| 亚洲成人7777| 天天亚洲美女在线视频| 丝袜美腿一区二区三区| 国产精品区一区二区三| 欧美精品1区2区3区| 欧美视频一区二区| 一本到不卡免费一区二区| 色综合久久久网| 欧美日韩成人激情| 欧美日韩国产高清一区二区| 91久久精品一区二区二区| 一本大道久久a久久精品综合| www.成人在线| 91久久久免费一区二区| 欧美猛男超大videosgay| 欧美日韩成人一区| 欧美电视剧在线看免费| 欧美精品一区二区三区四区 | 欧美色图12p| 欧美日韩一级片在线观看| 91麻豆精品久久久久蜜臀| 91精品国产乱码久久蜜臀| 91精品国产综合久久久蜜臀粉嫩| 日韩一区二区在线观看视频| 精品乱码亚洲一区二区不卡| 国产日韩欧美在线一区| 中文字幕亚洲综合久久菠萝蜜| 国产精品久久久久久久久免费樱桃 | 亚洲女性喷水在线观看一区| 亚洲免费成人av| 五月婷婷欧美视频| 久久精品国产亚洲aⅴ | 美女网站色91| 成人精品国产免费网站| 色呦呦一区二区三区| 欧美一区二区三区思思人| 日韩欧美123| 亚洲婷婷在线视频| 蜜桃一区二区三区在线| 欧美日韩一卡二卡| 国产肉丝袜一区二区| 亚洲综合无码一区二区| 久久66热偷产精品| 色综合婷婷久久| 精品国产乱码久久久久久闺蜜| 国产一区欧美日韩| 国产成+人+日韩+欧美+亚洲| eeuss鲁一区二区三区| 欧美日韩在线直播| 国产亚洲短视频| 亚洲综合偷拍欧美一区色| 韩国成人福利片在线播放| 色婷婷久久综合| 日韩免费视频一区二区| 亚洲视频你懂的| 久久99精品久久久久久| 一本高清dvd不卡在线观看| 日韩午夜精品电影| 亚洲色图清纯唯美| 另类小说欧美激情| 99在线视频精品| 日韩美女天天操| 亚洲一区二区精品视频| 国产精品99久久久久久久女警| 欧美三级电影在线观看| 国产精品久久久久一区二区三区共| 秋霞电影网一区二区| 色老汉一区二区三区| 久久精品日产第一区二区三区高清版| 亚洲国产另类精品专区| 91美女精品福利| 国产夜色精品一区二区av| 日本免费在线视频不卡一不卡二| 972aa.com艺术欧美| 国产午夜久久久久| 另类小说图片综合网| 欧美人妖巨大在线| 亚洲欧美aⅴ...| 成人高清视频在线观看| 久久嫩草精品久久久精品一| 免费高清视频精品| 欧美日韩视频在线观看一区二区三区| 最新久久zyz资源站| 懂色av噜噜一区二区三区av| 欧美精品乱码久久久久久| 亚洲国产另类精品专区| 91久久免费观看| 亚洲色图欧洲色图| 国产一区二区伦理片| 日韩一区二区麻豆国产| 亚洲第一电影网| 欧美色欧美亚洲另类二区| 亚洲精品成人少妇| 99re66热这里只有精品3直播| 亚洲大型综合色站| 在线观看国产日韩| 亚洲男同1069视频| 色域天天综合网| 亚洲精品高清在线| 欧美日韩你懂得| 午夜av一区二区三区| 欧美精品色一区二区三区| 视频一区欧美精品| 日韩欧美精品在线| 国产九九视频一区二区三区| 久久亚洲精品国产精品紫薇| 国产综合久久久久影院| 久久九九99视频| 白白色亚洲国产精品| 亚洲天堂网中文字| 欧美视频中文一区二区三区在线观看 | 美国毛片一区二区三区| 日韩欧美高清一区| 国产在线精品一区在线观看麻豆| 久久综合国产精品| zzijzzij亚洲日本少妇熟睡| 夜夜精品视频一区二区| 91精品国产全国免费观看| 久久成人免费网站| 国产人成一区二区三区影院| 99久久久免费精品国产一区二区 | 欧美本精品男人aⅴ天堂| 国产精品一区二区久激情瑜伽| 国产精品乱码妇女bbbb| 91精品办公室少妇高潮对白| 日韩一区精品字幕| 国产人伦精品一区二区| 91成人免费在线| 狠狠狠色丁香婷婷综合久久五月| 国产精品久久久一区麻豆最新章节| 欧美日韩一区二区不卡| 国产一区二区h| 一级做a爱片久久|