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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tabbedmdisave.h

?? 一款最完整的工業(yè)組態(tài)軟源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
		COM_INTERFACE_ENTRY(ITabbedMDIChildModifiedItem)
	END_COM_MAP()

	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct();
	void FinalRelease();

// ITabbedMDIChildModifiedItem
public:
	STDMETHOD(get_Window)(
		HWND* window);
	STDMETHOD(put_Window)(
		HWND window);

	STDMETHOD(get_Name)(
		BSTR* name);
	STDMETHOD(put_Name)(
		const wchar_t* name);

	STDMETHOD(get_DisplayName)(
		BSTR* displayName);
	STDMETHOD(put_DisplayName)(
		const wchar_t* displayName);

	STDMETHOD(get_Description)(
		BSTR* description);
	STDMETHOD(put_Description)(
		const wchar_t* description);

	STDMETHOD(get_LastModifiedUTC)(
		DATE* lastModified);
	STDMETHOD(put_LastModifiedUTC)(
		DATE lastModified);

	STDMETHOD(get_Icon)(
		HICON* icon);
	STDMETHOD(put_Icon)(
		HICON icon);

	STDMETHOD(get_UserData)(
		IUnknown** userData);
	STDMETHOD(putref_UserData)(
		IUnknown* userData);

	STDMETHOD(get_ParentList)(
		ITabbedMDIChildModifiedList** parentList);
	STDMETHOD(putref_ParentList)(
		ITabbedMDIChildModifiedList* parentList);

	STDMETHOD(get_SubItems)(
		ITabbedMDIChildModifiedList** subItems);

	STDMETHOD(CopyTo)(
		ITabbedMDIChildModifiedItem* destination);

// Methods not exposed over iterface:
public:
	STDMETHOD(InitNew)(HWND window,
		const wchar_t* name, const wchar_t* displayName, const wchar_t* description,
		DATE lastModified, HICON icon);

protected:
	HWND     m_window;
	CComBSTR m_name;
	CComBSTR m_displayName;
	CComBSTR m_description;
	DATE     m_lastModified;
	HICON    m_icon;
	CComPtr<IUnknown> m_userData;

	// We keep a strong reference to the sub item list,
	// and the sub item list keeps a weak reference to us
	// (to avoid circular reference)
	CComPtr<ITabbedMDIChildModifiedList> m_subItems;

	// We keep a weak reference to our parent list,
	// and the parent list keeps a strong reference to us.
	// One implication is that an item can only belong
	// to one parent.  To allow an item to belong to multiple
	// parents, update the code related to setting the parent.
	ITabbedMDIChildModifiedList* m_parentList;

};

/////////////////////////////////////////////////////////////////////////////
// Global functions
HRESULT CreateTabbedMDIChildModifiedList(ITabbedMDIChildModifiedList** list);
HRESULT CreateTabbedMDIChildModifiedItem(HWND window,
	const wchar_t* name, const wchar_t* displayName, const wchar_t* description,
	DATE lastModified, HICON icon,
	ITabbedMDIChildModifiedItem** item);
HRESULT CreateEmptyTabbedMDIChildModifiedItem(ITabbedMDIChildModifiedItem** item);


/////////////////////////////////////////////////////////////////////////////
// CSaveModifiedItemsDialog
class CSaveModifiedItemsDialog :
	//public CDialogImpl<CSaveModifiedItemsDialog>,
	public CDynamicDialogImpl<CSaveModifiedItemsDialog>,
	public CDialogResize<CSaveModifiedItemsDialog>
{
protected:
	//typedef CDialogImpl<CSaveModifiedItemsDialog> baseClass;
	typedef CDynamicDialogImpl<CSaveModifiedItemsDialog> baseClass;
	typedef CDialogResize<CSaveModifiedItemsDialog> resizeClass;

// Public enumarations
public:
	enum DialogControlIds
	{
		_IDC_LIST = 1000,
	};

	enum CheckState
	{
		eCheckState_Unchecked = INDEXTOSTATEIMAGEMASK(1),
		eCheckState_Checked = INDEXTOSTATEIMAGEMASK(2),
		eCheckState_Indeterminate = INDEXTOSTATEIMAGEMASK(3),
	};

	enum ColumnIndex
	{
		eColumn_Name         = 0,
		eColumn_Description  = 1,
		eColumn_LastModified = 2,

		eColumn_Last         = eColumn_LastModified,
		eColumn_Count        = eColumn_Last + 1,
	};

	enum Constants
	{
		eMinimumColumnWidth  = 40
	};

// Constructors
public:
	CSaveModifiedItemsDialog(ITabbedMDIChildModifiedList* list = NULL, bool canCancel = true);
	virtual ~CSaveModifiedItemsDialog();

// Public Methods (Call before DoModal)
public:
	bool HideColumn(ColumnIndex column);

// Message Handling
public:
	//enum { IDD = IDD_SAVEMODIFIEDFILES };

	BEGIN_MSG_MAP(CSaveModifiedItemsDialog)
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
		MESSAGE_HANDLER(WM_DESTROY, OnDestroy)

		COMMAND_ID_HANDLER(IDYES, OnYes)
		COMMAND_ID_HANDLER(IDNO, OnEndDialog)
		COMMAND_ID_HANDLER(IDCANCEL, OnEndDialog)

		NOTIFY_CODE_HANDLER(LVN_INSERTITEM, OnListViewInsertItem)
		NOTIFY_CODE_HANDLER(LVN_DELETEITEM, OnListViewDeleteItem)
		NOTIFY_CODE_HANDLER(LVN_KEYDOWN, OnListViewKeyDownToToggleCheck)
		NOTIFY_CODE_HANDLER(NM_CLICK, OnListViewClickToToggleCheck)
		NOTIFY_CODE_HANDLER(NM_DBLCLK, OnListViewClickToToggleCheck)

		CHAIN_MSG_MAP(resizeClass)
	ALT_MSG_MAP(1)
		// List View Control Messages
		MESSAGE_HANDLER(WM_ERASEBKGND, OnListViewEraseBackground)
		MESSAGE_HANDLER(WM_PAINT, OnListViewPaint)
		MESSAGE_HANDLER(WM_PRINTCLIENT, OnListViewPaint)

		NOTIFY_CODE_HANDLER(HDN_BEGINTRACKA, OnHeaderBeginTrack)
		NOTIFY_CODE_HANDLER(HDN_BEGINTRACKW, OnHeaderBeginTrack)
		NOTIFY_CODE_HANDLER(HDN_TRACKA, OnHeaderTrack)
		NOTIFY_CODE_HANDLER(HDN_TRACKW, OnHeaderTrack)
		NOTIFY_CODE_HANDLER(HDN_ENDTRACKA, OnHeaderEndTrack)
		NOTIFY_CODE_HANDLER(HDN_ENDTRACKW, OnHeaderEndTrack)
		NOTIFY_CODE_HANDLER(HDN_ITEMCHANGINGA, OnHeaderItemChanging)
		NOTIFY_CODE_HANDLER(HDN_ITEMCHANGINGW, OnHeaderItemChanging)
		NOTIFY_CODE_HANDLER(HDN_DIVIDERDBLCLICKA, OnHeaderDividerDoubleClick)
		NOTIFY_CODE_HANDLER(HDN_DIVIDERDBLCLICKW, OnHeaderDividerDoubleClick)
	END_MSG_MAP()

	BEGIN_DLGRESIZE_MAP(CSaveModifiedItemsDialog)
		DLGRESIZE_CONTROL(_IDC_LIST, (DLSZ_SIZE_X | DLSZ_SIZE_Y))

		DLGRESIZE_CONTROL(IDYES, (DLSZ_MOVE_X | DLSZ_MOVE_Y))
		DLGRESIZE_CONTROL(IDNO, (DLSZ_MOVE_X | DLSZ_MOVE_Y))
		DLGRESIZE_CONTROL(IDCANCEL, (DLSZ_MOVE_X | DLSZ_MOVE_Y))
	END_DLGRESIZE_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*/)

	LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

	LRESULT OnYes(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
	LRESULT OnEndDialog(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);

	LRESULT OnListViewInsertItem(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
	LRESULT OnListViewDeleteItem(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
	LRESULT OnListViewKeyDownToToggleCheck(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
	LRESULT OnListViewClickToToggleCheck(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

	LRESULT OnListViewEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
	LRESULT OnListViewPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

	LRESULT OnHeaderBeginTrack(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
	LRESULT OnHeaderTrack(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
	LRESULT OnHeaderEndTrack(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
	LRESULT OnHeaderItemChanging(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
	LRESULT OnHeaderDividerDoubleClick(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

// CDialogResize overrides
public:
	void DlgResize_UpdateLayout(int cxWidth, int cyHeight);

protected:
	bool ConstructDialogResource(void);
	bool InitializeControls(void);
	bool InitializeValues(void);
	bool InitializeColumns(void);
	int AutoHideUnusedColumns(void);
	bool FindUsedColumns(ITabbedMDIChildModifiedList* list, int columnUseCount[eColumn_Count]);
	bool AddItems(ITabbedMDIChildModifiedList* list, int indent);
	CString FormatLastModifiedDateString(DATE lastModifiedUTC);
	IUnknown* GetIUnknownForItem(int index);
	int FindItemIndex(ITabbedMDIChildModifiedItem* item);
	int FindParentIndex(int item);
	void ToggleCheckState(int item);
	void SetTristateCheckState(int item, CheckState checkState);
	CheckState GetTristateCheckState(int item);
	void UpdateParentCheckState(int item, CheckState checkState);
	void CreateDefaultImages(void);
	void CreateDefaultStateImages(void);
	int AddCheckStateImage(HDC dcScreen, int cx, int cy, enum CheckState checkState);

// Members
protected:
	CComPtr<ITabbedMDIChildModifiedList> m_modifiedList;
	bool m_canCancel;
	bool m_haveAtLeastOneModifiedDate;

	CContainedWindowT<WTL::CListViewCtrl> m_list;
	WTL::CHeaderCtrl m_header;
	WTL::CImageList m_images;
	WTL::CImageList m_stateImages;
	HICON m_dialogIcon;

	int m_imageUnchecked;
	int m_imageChecked;
	int m_imageIndeterminate;

	int m_trackColumnWidth;
	int m_trackColumnIndex;
	ColumnIndex m_lastVisibleColumn;

	bool m_showColumn[eColumn_Count];

};

#endif // WTL_TABBED_MDI_SAVE_IMPLEMENTATION

#endif // __TabbedMDISave_h__

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区三区二区| 亚洲午夜精品网| www.日韩av| 悠悠色在线精品| 欧美日韩精品免费观看视频| 图片区日韩欧美亚洲| 欧美一区二区视频观看视频| 老汉av免费一区二区三区 | 欧洲一区在线观看| 午夜不卡av在线| 日韩午夜激情电影| 国产高清无密码一区二区三区| 国产精品天干天干在线综合| 91丨porny丨首页| 亚洲一二三四区| 欧美一区二区三区精品| 国产伦理精品不卡| 一区在线播放视频| 欧美久久久久久久久| 精品亚洲国内自在自线福利| 国产精品久久久久aaaa| 欧美午夜精品一区二区三区| 国产精品一区不卡| 亚洲不卡在线观看| 日韩黄色免费电影| 久久精品免费观看| 99riav久久精品riav| 一区二区三区日本| 在线播放/欧美激情| 国产河南妇女毛片精品久久久| 亚洲色图欧美激情| 日韩一区二区视频| 波多野结衣亚洲| 日韩黄色免费电影| 国产精品欧美一级免费| 69精品人人人人| 成人免费av在线| 日韩精品免费专区| 国产精品免费人成网站| 91精品国产高清一区二区三区| 成人免费视频一区| 秋霞影院一区二区| 亚洲欧美在线观看| 日韩欧美国产1| 97精品视频在线观看自产线路二| 免费观看日韩电影| 亚洲男女一区二区三区| 精品成a人在线观看| 欧美性受极品xxxx喷水| 国产精品888| 天天色 色综合| 中文字幕一区在线| 久久亚洲欧美国产精品乐播| 欧美在线999| 成人毛片在线观看| 秋霞电影网一区二区| 中文字幕一区三区| 日韩理论在线观看| 亚洲精品一区二区精华| 欧美在线看片a免费观看| 国产91精品在线观看| 美女视频网站黄色亚洲| 亚洲制服欧美中文字幕中文字幕| 国产日韩欧美一区二区三区乱码| 欧美高清www午色夜在线视频| 96av麻豆蜜桃一区二区| 国产一区二区久久| 亚洲地区一二三色| 亚洲三级在线观看| 欧美激情一区二区三区不卡| 91精品国产91综合久久蜜臀| 欧美影院精品一区| 99久久精品情趣| 国产福利一区二区| 国产在线看一区| 奇米综合一区二区三区精品视频| 亚洲免费观看在线视频| 国产精品女上位| 久久久国产精华| 日韩欧美激情四射| 9191精品国产综合久久久久久| 91天堂素人约啪| 国产不卡视频在线观看| 黄色成人免费在线| 蜜芽一区二区三区| 五月激情综合色| 亚洲午夜久久久久久久久久久| 亚洲色图色小说| 中文字幕一区二区三区在线观看| 国产欧美一区二区三区鸳鸯浴| 久久综合中文字幕| 精品av久久707| 欧美一区二区私人影院日本| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 91婷婷韩国欧美一区二区| av电影一区二区| 成人av电影在线网| 丁香啪啪综合成人亚洲小说| 国产夫妻精品视频| 国产成人三级在线观看| 国产二区国产一区在线观看| 国产精品小仙女| 丁香五精品蜜臀久久久久99网站 | 亚洲欧美日本在线| 亚洲女同一区二区| 亚洲男人天堂av网| 亚洲美女在线国产| 亚洲精品日日夜夜| 尤物av一区二区| 亚洲香肠在线观看| 天天亚洲美女在线视频| 日本欧美加勒比视频| 久久er精品视频| 狠狠色狠狠色综合日日91app| 精品亚洲成av人在线观看| 国内精品免费**视频| 国产成人综合亚洲网站| 成人av电影观看| 99这里只有久久精品视频| 99久久精品免费看国产免费软件| 91视频xxxx| 欧美三级日韩在线| 日韩欧美一级在线播放| 久久免费国产精品| 中文字幕一区视频| 亚洲成人动漫在线免费观看| 婷婷综合五月天| 久久精品国产久精国产| 国产呦精品一区二区三区网站| 国产成人午夜视频| 91污在线观看| 欧美日韩国产美女| 日韩视频免费观看高清完整版 | 日韩久久久久久| 久久精品一二三| 亚洲欧洲日本在线| 亚洲一区二区高清| 日本不卡视频在线| 国产精品伊人色| 一本到不卡精品视频在线观看| 欧美色窝79yyyycom| 日韩欧美中文字幕精品| 国产亚洲精品7777| 一区二区视频在线| 日韩国产高清影视| 国产福利一区在线观看| 色妞www精品视频| 欧美一区二区啪啪| 亚洲国产精品传媒在线观看| 亚洲人吸女人奶水| 日韩—二三区免费观看av| 国产黄人亚洲片| 欧美性猛交xxxxxx富婆| 欧美一级黄色大片| 中文字幕亚洲综合久久菠萝蜜| 午夜精品久久久久久| 国产成人h网站| 欧美日韩视频在线观看一区二区三区| 日韩欧美一级在线播放| 亚洲图片激情小说| 蜜桃久久av一区| 91玉足脚交白嫩脚丫在线播放| 日韩一区二区在线看片| 亚洲欧洲精品成人久久奇米网| 日韩国产一二三区| 成人激情免费网站| 日韩亚洲欧美高清| 亚洲色图视频网站| 国模套图日韩精品一区二区 | 26uuu色噜噜精品一区| 亚洲欧美日韩系列| 九一久久久久久| 一本一道综合狠狠老| 精品国产乱码久久久久久牛牛| 亚洲欧美偷拍另类a∨色屁股| 久久99国产精品久久99| 欧美亚洲尤物久久| 中文字幕av资源一区| 日韩国产一二三区| 色综合天天狠狠| 久久女同性恋中文字幕| 亚洲成av人片在线观看无码| 国产成人午夜精品影院观看视频| 666欧美在线视频| 亚洲欧美国产三级| 国产精品一区不卡| 欧美一区二区二区| 亚洲综合在线电影| 国产成人av影院| 日韩一区二区三区电影| 亚洲一区在线视频| 成人蜜臀av电影| 精品福利一区二区三区免费视频| 性做久久久久久| 色综合夜色一区| 欧美韩国日本一区| 久久精品国产亚洲a| 欧美日韩在线一区二区| 最新国产成人在线观看| 国产精品亚洲专一区二区三区 |