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

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

?? frame.h

?? Compulsary Library for Visual C++ 6.0, Visual C++ 2005, Visual Studio.net
?? H
字號:
// [!output WTL_FRAME_FILE].h : interface of the [!output WTL_FRAME_CLASS] class
//
/////////////////////////////////////////////////////////////////////////////

#pragma once

class [!output WTL_FRAME_CLASS] : public [!output WTL_FRAME_BASE_CLASS]<[!output WTL_FRAME_CLASS]>, public CUpdateUI<[!output WTL_FRAME_CLASS]>,
		public CMessageFilter, public CIdleHandler
{
public:
	DECLARE_FRAME_WND_CLASS(NULL, IDR_MAINFRAME)

[!if WTL_APPTYPE_SDI || WTL_APPTYPE_MTSDI]
[!if WTL_USE_VIEW]
	[!output WTL_VIEW_CLASS] m_view;

[!endif]
[!endif]
[!if WTL_USE_CPP_FILES]
	virtual BOOL PreTranslateMessage(MSG* pMsg);
[!else]
	virtual BOOL PreTranslateMessage(MSG* pMsg)
	{
[!if WTL_USE_VIEW]
		if([!output WTL_FRAME_BASE_CLASS]<[!output WTL_FRAME_CLASS]>::PreTranslateMessage(pMsg))
			return TRUE;

		return m_view.PreTranslateMessage(pMsg);
[!else]
		return [!output WTL_FRAME_BASE_CLASS]<[!output WTL_FRAME_CLASS]>::PreTranslateMessage(pMsg);
[!endif]
	}

[!endif]
[!if WTL_USE_CPP_FILES]
	virtual BOOL OnIdle();
[!else]
	virtual BOOL OnIdle()
	{
[!if WTL_USE_TOOLBAR]
		UIUpdateToolBar();
[!endif]
		return FALSE;
	}
[!endif]

	BEGIN_UPDATE_UI_MAP([!output WTL_FRAME_CLASS])
[!if WTL_USE_TOOLBAR && !WTL_USE_AYGSHELL]
		UPDATE_ELEMENT(ID_VIEW_TOOLBAR, UPDUI_MENUPOPUP)
[!endif]
[!if WTL_USE_STATUSBAR]
		UPDATE_ELEMENT(ID_VIEW_STATUS_BAR, UPDUI_MENUPOPUP)
[!endif]
	END_UPDATE_UI_MAP()

	BEGIN_MSG_MAP([!output WTL_FRAME_CLASS])
		MESSAGE_HANDLER(WM_CREATE, OnCreate)
[!if WTL_COM_SERVER]
		MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
[!endif]
[!if WTL_USE_SP03_COMPAT_MENUS]
		COMMAND_ID_HANDLER(ID_ACTION, OnAction)
[!endif]
		COMMAND_ID_HANDLER(ID_APP_EXIT, OnFileExit)
		COMMAND_ID_HANDLER(ID_FILE_NEW, OnFileNew)
[!if WTL_APPTYPE_MTSDI]
		COMMAND_ID_HANDLER(ID_FILE_NEW_WINDOW, OnFileNewWindow)
[!endif]
[!if WTL_USE_TOOLBAR && !WTL_USE_AYGSHELL]
		COMMAND_ID_HANDLER(ID_VIEW_TOOLBAR, OnViewToolBar)
[!endif]
[!if WTL_USE_STATUSBAR]
		COMMAND_ID_HANDLER(ID_VIEW_STATUS_BAR, OnViewStatusBar)
[!endif]
		COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
		CHAIN_MSG_MAP(CUpdateUI<[!output WTL_FRAME_CLASS]>)
		CHAIN_MSG_MAP([!output WTL_FRAME_BASE_CLASS]<[!output WTL_FRAME_CLASS]>)
	END_MSG_MAP()

// Handler prototypes (uncomment arguments if needed):
//	LRESULT MessageHandler(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
//	LRESULT CommandHandler(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
//	LRESULT NotifyHandler(int /*idCtrl*/, LPNMHDR /*pnmh*/, BOOL& /*bHandled*/)

[!if WTL_USE_CPP_FILES]
	LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
	{
[!if WTL_USE_AYGSHELL]
[!if !WTL_USE_SP03_COMPAT_MENUS]
		CreateSimpleCEMenuBar(IDR_MAINFRAME);
[!else]
		CreateSimpleCEMenuBar();
[!endif]
[!else]
		CreateSimpleCECommandBar(MAKEINTRESOURCE(IDR_MAINFRAME));
[!endif]
[!if WTL_USE_TOOLBAR]
		CreateSimpleToolBar();
[!endif]
[!if WTL_USE_STATUSBAR]
		CreateSimpleStatusBar();
[!endif]
[!if WTL_APPTYPE_SDI || WTL_APPTYPE_MTSDI]
[!if WTL_USE_VIEW]
[!if WTL_VIEWTYPE_FORM]

		m_hWndClient = m_view.Create(m_hWnd);
[!else]
[!if WTL_VIEWTYPE_HTML]

		//TODO: Replace with a URL of your choice
		m_hWndClient = m_view.Create(m_hWnd, rcDefault, _T("http://www.microsoft.com"), [!output WTL_VIEW_STYLES]);
[!else]

		m_hWndClient = m_view.Create(m_hWnd, rcDefault, NULL, [!output WTL_VIEW_STYLES]);
[!endif]
[!endif]
[!endif]
[!endif]
[!if WTL_USE_TOOLBAR]

		UIAddToolBar(m_hWndToolBar);
[!if !WTL_USE_AYGSHELL]
		UISetCheck(ID_VIEW_TOOLBAR, 1);
[!endif]
[!endif]
[!if WTL_USE_STATUSBAR]
		UISetCheck(ID_VIEW_STATUS_BAR, 1);
[!endif]

		// register object for message filtering and idle updates
		CMessageLoop* pLoop = _Module.GetMessageLoop();
		ATLASSERT(pLoop != NULL);
		pLoop->AddMessageFilter(this);
		pLoop->AddIdleHandler(this);

		return 0;
	}

[!endif]
[!if WTL_COM_SERVER]
[!if WTL_USE_CPP_FILES]
	LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
	{
		// unregister message filtering and idle updates
		CMessageLoop* pLoop = _Module.GetMessageLoop();
		ATLASSERT(pLoop != NULL);
		pLoop->RemoveMessageFilter(this);
		pLoop->RemoveIdleHandler(this);
		// if UI is the last thread, no need to wait
		if(_Module.GetLockCount() == 1)
		{
			_Module.m_dwTimeOut = 0L;
			_Module.m_dwPause = 0L;
		}
		_Module.Unlock();
[!if WTL_APPTYPE_MTSDI]
		::PostQuitMessage(1);
[!endif]
		return 0;
	}

[!endif]
[!endif]
[!if WTL_USE_SP03_COMPAT_MENUS]
[!if WTL_USE_CPP_FILES]
	LRESULT OnAction(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnAction(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		// TODO: add code

		return 0;
	}

[!endif]
[!endif]
[!if WTL_USE_CPP_FILES]
	LRESULT OnFileExit(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnFileExit(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		PostMessage(WM_CLOSE);
		return 0;
	}

[!endif]
[!if WTL_USE_CPP_FILES]
	LRESULT OnFileNew(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnFileNew(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		// TODO: add code to initialize document

		return 0;
	}

[!endif]
[!if WTL_APPTYPE_MTSDI]
[!if WTL_USE_CPP_FILES]
	LRESULT OnFileNewWindow(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnFileNewWindow(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		::PostThreadMessage(_Module.m_dwMainThreadID, WM_USER, 0, 0L);
		return 0;
	}

[!endif]
[!endif]
[!if WTL_USE_TOOLBAR && !WTL_USE_AYGSHELL]
[!if WTL_USE_CPP_FILES]
	LRESULT OnViewToolBar(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnViewToolBar(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		BOOL bVisible = !::IsWindowVisible(m_hWndToolBar);
		::ShowWindow(m_hWndToolBar, bVisible ? SW_SHOWNOACTIVATE : SW_HIDE);
		UISetCheck(ID_VIEW_TOOLBAR, bVisible);
		UpdateLayout();
		return 0;
	}

[!endif]
[!endif]
[!if WTL_USE_STATUSBAR]
[!if WTL_USE_CPP_FILES]
	LRESULT OnViewStatusBar(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnViewStatusBar(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		BOOL bVisible = !::IsWindowVisible(m_hWndStatusBar);
		::ShowWindow(m_hWndStatusBar, bVisible ? SW_SHOWNOACTIVATE : SW_HIDE);
		UISetCheck(ID_VIEW_STATUS_BAR, bVisible);
		UpdateLayout();
		return 0;
	}

[!endif]
[!endif]
[!if WTL_USE_CPP_FILES]
	LRESULT OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
[!else]
	LRESULT OnAppAbout(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
	{
		CAboutDlg dlg;
		dlg.DoModal();
		return 0;
	}
[!endif]
[!if WTL_USE_SINGLE_APP_INSTANCE]

[!if WTL_USE_CPP_FILES]
	static HRESULT ActivatePreviousInstance(HINSTANCE hInstance);
[!else]
	static HRESULT ActivatePreviousInstance(HINSTANCE hInstance)
	{
		CFrameWndClassInfo& classInfo = [!output WTL_FRAME_CLASS]::GetWndClassInfo();
		ATLVERIFY(::LoadString(hInstance, IDR_MAINFRAME, classInfo.m_szAutoName, sizeof(classInfo.m_szAutoName)/sizeof(classInfo.m_szAutoName[0])));
		classInfo.m_wc.lpszClassName = classInfo.m_szAutoName;
		const TCHAR* pszClass = classInfo.m_wc.lpszClassName;
		if(pszClass == NULL || *pszClass == _T('\0'))
		{
			return E_FAIL;
		}

		// Orginally 500ms in SmartPhone 2003 App Wizard generated code
		// A lower value will result in a more responsive start-up of 
		// the existing instance or termination of this instance.
		const DWORD dRetryInterval = 100; 

		// Orginally 5 in SmartPhone 2003 App Wizard generated code
		// Multiplied by 5, since wait time was divided by 5.
		const int iMaxRetries = 25;

		for(int i = 0; i < iMaxRetries; ++i)
		{
			// Don't need ownership of the mutex
			HANDLE hMutex = CreateMutex(NULL, FALSE, pszClass);

			DWORD dw = GetLastError();

			if(hMutex == NULL)
			{
				// ERROR_INVALID_HANDLE - A non-mutex object with this name already exists.
				HRESULT hr = (dw == ERROR_INVALID_HANDLE) ? E_INVALIDARG : E_FAIL;
				return hr;
			}

			// If the mutex already exists, then there should be another instance running
			if(dw == ERROR_ALREADY_EXISTS)
			{
				// Just needed the error result, in this case, so close the handle.
				CloseHandle(hMutex);

				// Try to find the other instance, don't need to close HWND's.
				// Don't check title in case it is changed by app after init.
				HWND hwnd = FindWindow(pszClass, NULL);

				if(hwnd == NULL)
				{
					// It's possible that the other istance is in the process of starting up or shutting down.
					// So wait a bit and try again.
					Sleep(dRetryInterval);
					continue;
				}
				else
				{
					// Set the previous instance as the foreground window

					// The "| 0x1" in the code below activates the correct owned window 
					// of the previous instance's main window according to the SmartPhone 2003
					// wizard generated code.
					if(SetForegroundWindow(reinterpret_cast<HWND>(reinterpret_cast<ULONG>(hwnd) | 0x1)) != 0)
					{
						// S_FALSE indicates that another instance was activated, so this instance should terminate.
						return S_FALSE;
					}
				}
			}
			else
			{
				// This is the first istance, so return S_OK.
				// Don't close the mutext handle here.
				// Do it on app shutdown instead.
				return S_OK;
			}
		}

		// The mutex was created by another instance, but it's window couldn't be brought
		// to the foreground, so ssume  it's not a invalid instance (not this app, hung, etc.)
		// and let this one start.
		return S_OK;
	}
[!endif]
[!endif]
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区免费| 亚洲综合免费观看高清完整版| 天天免费综合色| 精品视频一区三区九区| 亚洲国产aⅴ成人精品无吗| 欧美三级在线视频| 欧美另类videos死尸| 日韩欧美电影在线| 一区二区三区在线观看国产| 国产精品一二三四五| 日韩一区二区免费在线电影| 亚洲午夜视频在线观看| 91玉足脚交白嫩脚丫在线播放| 亚洲精品在线免费播放| 亚洲小少妇裸体bbw| 91一区二区在线| 国产网站一区二区| 亚洲欧美日韩中文字幕一区二区三区| 国产精品白丝av| 亚洲精品va在线观看| 在线观看91精品国产麻豆| 久久国产精品无码网站| 国产精品国产三级国产aⅴ入口| 91麻豆自制传媒国产之光| 亚洲成人午夜电影| 久久久精品中文字幕麻豆发布| 91浏览器打开| 麻豆国产欧美日韩综合精品二区 | 亚洲三级在线看| 精品视频1区2区| 国产成人av电影在线| 亚洲欧美一区二区三区极速播放| 91麻豆精品国产91久久久使用方法| 久久国产夜色精品鲁鲁99| 亚洲三级在线播放| 欧美videos中文字幕| 91福利小视频| 国产最新精品免费| 亚洲一级片在线观看| 国产一区美女在线| 日韩欧美一区二区视频| 久久9热精品视频| 久久综合久久综合久久综合| 国产乱码精品一品二品| 国产精品麻豆视频| 色综合婷婷久久| 亚洲丰满少妇videoshd| 在线综合+亚洲+欧美中文字幕| 蜜桃视频一区二区| 精品精品国产高清a毛片牛牛 | 免费的国产精品| 日韩欧美在线网站| 国产在线精品一区二区不卡了| 99久久99久久精品免费观看| 国产在线视频精品一区| 三级在线观看一区二区| 在线视频你懂得一区| 国产精品久久久久久久久免费樱桃| 色综合天天做天天爱| 日本免费在线视频不卡一不卡二| 2024国产精品| 色女孩综合影院| 久久精品久久综合| 国产精品麻豆网站| 91精品欧美久久久久久动漫 | 91麻豆精品秘密| 午夜精品久久一牛影视| 精品国产伦一区二区三区观看方式| 国产精品123| 亚洲国产aⅴ天堂久久| 久久亚区不卡日本| 色老汉av一区二区三区| 久久99国产精品麻豆| 亚洲免费观看高清完整版在线观看| 欧美日韩成人一区二区| 国产91精品一区二区麻豆网站| 亚洲一区二区在线免费看| 久久久久99精品一区| 欧美日韩一区二区三区高清| 国产99久久久国产精品潘金网站| 亚洲一线二线三线视频| 国产日韩v精品一区二区| 欧美三级乱人伦电影| 成人在线一区二区三区| 蜜臀av在线播放一区二区三区| 中文字幕佐山爱一区二区免费| 日韩精品中文字幕在线一区| 在线精品视频一区二区| 国产成人自拍高清视频在线免费播放| 亚洲成人一二三| 亚洲欧美日韩中文播放 | 国产精选一区二区三区| 五月综合激情婷婷六月色窝| 欧美激情在线看| 日韩精品最新网址| 在线不卡a资源高清| 91在线无精精品入口| 国产成人精品免费| 另类小说一区二区三区| 亚洲va在线va天堂| 亚洲综合一区在线| 亚洲男女毛片无遮挡| 国产精品三级在线观看| 久久影院电视剧免费观看| 欧美日韩国产一级| 欧美丝袜丝交足nylons图片| 91同城在线观看| 99精品在线观看视频| av一区二区三区在线| 丁香五精品蜜臀久久久久99网站 | 日日夜夜精品视频天天综合网| 亚洲激情综合网| 亚洲精品成人天堂一二三| 一区二区三区中文字幕精品精品| 亚洲天堂免费看| 中文字幕一区二区三区蜜月 | 丰满放荡岳乱妇91ww| 精品综合免费视频观看| 美脚の诱脚舐め脚责91 | 国产91精品一区二区| 国产大陆精品国产| 成人av高清在线| 91在线观看高清| 91激情在线视频| 欧美日韩国产一二三| 日韩欧美不卡在线观看视频| 日韩美女一区二区三区四区| 久久久久久免费毛片精品| 精品国产sm最大网站免费看| 2021国产精品久久精品| 久久精品亚洲国产奇米99| 国产精品美女一区二区| 洋洋av久久久久久久一区| 日本中文字幕不卡| 韩国视频一区二区| 成人丝袜18视频在线观看| 在线亚洲免费视频| 91精品国产综合久久久久久| 欧美精品一区二区三区视频| 久久久不卡网国产精品二区| 国产精品网站导航| 亚洲一区在线看| 九一九一国产精品| av一二三不卡影片| 9191国产精品| 国产日韩成人精品| 亚洲一区二区三区国产| 久久99精品国产91久久来源| 成人黄色电影在线| 欧美日韩大陆一区二区| 久久久久久一级片| 亚洲一区二区三区美女| 国产精品自拍三区| 欧美日韩在线不卡| 国产亚洲精品bt天堂精选| 亚洲精品免费在线观看| 国内精品不卡在线| 欧美日韩免费电影| 久久久久国产精品人| 尤物av一区二区| 久久国产精品72免费观看| 色婷婷av一区二区三区之一色屋| 日韩三级视频中文字幕| 亚洲欧洲中文日韩久久av乱码| 麻豆中文一区二区| 在线免费亚洲电影| 国产亚洲综合av| 日韩精品欧美成人高清一区二区| 成人精品国产福利| 久久综合给合久久狠狠狠97色69| 一区二区三区国产精品| 国产成人自拍高清视频在线免费播放 | 欧美日韩免费在线视频| 亚洲国产精品99久久久久久久久| 丝瓜av网站精品一区二区| www.爱久久.com| 久久嫩草精品久久久久| 日韩精品乱码av一区二区| 欧美在线一二三四区| 国产精品免费av| 国产精品中文字幕日韩精品| 欧美一区在线视频| 视频一区视频二区中文| 在线免费视频一区二区| 亚洲女性喷水在线观看一区| 成人听书哪个软件好| 久久久精品影视| 国产精品12区| 国产欧美一二三区| 国产一区二区三区免费| 欧美videossexotv100| 男女男精品视频网| 欧美一区二区三区视频在线| 亚洲国产精品天堂| 欧美日韩一级片在线观看| 亚洲高清不卡在线观看| 91黄色激情网站| 亚洲国产cao| 欧美一区二区在线播放| 日本女人一区二区三区|