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

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

?? postitctl.h

?? ATL開發指南PDF格式
?? H
字號:
// PostItCtl.h : Declaration of the CPostItCtl

#ifndef __POSTITCTL_H_
#define __POSTITCTL_H_

#include "resource.h"       // main symbols
#include <atlctl.h>
#include "PostItCP.h"


/////////////////////////////////////////////////////////////////////////////
// CPostItCtl
class ATL_NO_VTABLE CPostItCtl : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CStockPropImpl<CPostItCtl, IPostItCtl, &IID_IPostItCtl, &LIBID_POSTITLib>,
	public CComControl<CPostItCtl>,
	public IPersistStreamInitImpl<CPostItCtl>,
	public IOleControlImpl<CPostItCtl>,
	public IOleObjectImpl<CPostItCtl>,
	public IOleInPlaceActiveObjectImpl<CPostItCtl>,
	public IViewObjectExImpl<CPostItCtl>,
	public IOleInPlaceObjectWindowlessImpl<CPostItCtl>,
	public IConnectionPointContainerImpl<CPostItCtl>,
	public IPersistStorageImpl<CPostItCtl>,
	public ISpecifyPropertyPagesImpl<CPostItCtl>,
	public IQuickActivateImpl<CPostItCtl>,
	public IDataObjectImpl<CPostItCtl>,
	public IProvideClassInfo2Impl<&CLSID_PostItCtl, &DIID__IPostItCtlEvents, &LIBID_POSTITLib>,
	public IPropertyNotifySinkCP<CPostItCtl>,
	public CComCoClass<CPostItCtl, &CLSID_PostItCtl>,
	public CProxy_IPostItCtlEvents< CPostItCtl >
{
public:
	CPostItCtl()
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_POSTITCTL)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CPostItCtl)
	COM_INTERFACE_ENTRY(IPostItCtl)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IViewObjectEx)
	COM_INTERFACE_ENTRY(IViewObject2)
	COM_INTERFACE_ENTRY(IViewObject)
	COM_INTERFACE_ENTRY(IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY(IOleInPlaceObject)
	COM_INTERFACE_ENTRY2(IOleWindow, IOleInPlaceObjectWindowless)
	COM_INTERFACE_ENTRY(IOleInPlaceActiveObject)
	COM_INTERFACE_ENTRY(IOleControl)
	COM_INTERFACE_ENTRY(IOleObject)
	COM_INTERFACE_ENTRY(IPersistStreamInit)
	COM_INTERFACE_ENTRY2(IPersist, IPersistStreamInit)
	COM_INTERFACE_ENTRY(IConnectionPointContainer)
	COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
	COM_INTERFACE_ENTRY(IQuickActivate)
	COM_INTERFACE_ENTRY(IPersistStorage)
	COM_INTERFACE_ENTRY(IDataObject)
	COM_INTERFACE_ENTRY(IProvideClassInfo)
	COM_INTERFACE_ENTRY(IProvideClassInfo2)
	COM_INTERFACE_ENTRY_IMPL(IConnectionPointContainer)
END_COM_MAP()

BEGIN_PROP_MAP(CPostItCtl)
	PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
	PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
	PROP_ENTRY("Appearance", DISPID_APPEARANCE, CLSID_NULL)
	PROP_ENTRY("BackColor", DISPID_BACKCOLOR, CLSID_StockColorPage)
	PROP_ENTRY("BorderStyle", DISPID_BORDERSTYLE, CLSID_NULL)
	PROP_ENTRY("Font", DISPID_FONT, CLSID_StockFontPage)
	PROP_ENTRY("ForeColor", DISPID_FORECOLOR, CLSID_StockColorPage)
	PROP_ENTRY("Text", DISPID_TEXT, CLSID_NULL)
	// Example entries
	// PROP_ENTRY("Property Description", dispid, clsid)
	// PROP_PAGE(CLSID_StockColorPage)
END_PROP_MAP()

BEGIN_CONNECTION_POINT_MAP(CPostItCtl)
	CONNECTION_POINT_ENTRY(IID_IPropertyNotifySink)
	CONNECTION_POINT_ENTRY(DIID__IPostItCtlEvents)
END_CONNECTION_POINT_MAP()

BEGIN_MSG_MAP(CPostItCtl)
   MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
   CHAIN_MSG_MAP(CComControl<CPostItCtl>)
	DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()
// Handler prototypes:
//  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);



// IViewObjectEx
	DECLARE_VIEW_STATUS(VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE)

// IPostItCtl
public:

	HRESULT OnDraw(ATL_DRAWINFO& di)
	{
      USES_CONVERSION;
      COLORREF  colBack, colFore;
      HBRUSH    hOldBrush = 0;
      HBRUSH    hBackBrush = 0;
      HDC       hdc = di.hdcDraw;
      RECT& rc = *(RECT*)di.prcBounds;
      // Convert the OLE_COLOR types into COLORREFs
      OleTranslateColor( m_clrBackColor, NULL, &colBack );
      OleTranslateColor( m_clrForeColor, NULL, &colFore );

      // Create a brush using the background color
      // and select it into the DC
      hBackBrush = (HBRUSH) CreateSolidBrush( colBack );
      hOldBrush = (HBRUSH) SelectObject( hdc, hBackBrush );

      // Fill the background with our new brush
      FillRect( hdc, &rc, hBackBrush );

      // If the BorderStyle is 1, draw
      // a border around the control
      if ( m_nBorderStyle )
      {
         HPEN hPen = (HPEN) CreatePen( PS_SOLID, 1, RGB( 0, 0, 0 ));
         HPEN hOldPen = (HPEN) SelectObject( hdc, hPen );
         Rectangle( hdc, rc.left, rc.top, rc.right, rc.bottom );
         if ( hOldPen )
            SelectObject( hdc, hOldPen );
         DeleteObject( hPen );
      }

      // If the appearance is 3-D draw an edge
      if ( m_nAppearance )
      {
         DrawEdge( hdc, &rc, EDGE_SUNKEN, BF_RECT );
         // Adjust our rectangle
         rc.left += 2;
         rc.top += 2;
         rc.bottom -= 2;
         rc.right -= 2;
      }

      // Get the user-selected font and select
      // it into our device context.
      CComQIPtr<IFont, &IID_IFont> pFont( m_pFont );
      HFONT hOldFont = 0;
      HFONT hFont = 0;
      if ( pFont )
      {
         pFont->get_hFont( &hFont );
         pFont->AddRefHfont( hFont );
         hOldFont = (HFONT) SelectObject( hdc, hFont );
      }

      // Check to see if we're in design mode or
      // run-time mode. If in design mode, get the
      // ambient display name and draw it within
      // the control.
      BOOL bUserMode = FALSE;
      GetAmbientUserMode( bUserMode );
      if ( bUserMode == FALSE )
      {
         BSTR bstr;
         if ( SUCCEEDED( GetAmbientDisplayName( bstr )))
         {
            SetBkMode( hdc, TRANSPARENT );
            SetTextColor( hdc, colFore );
            DrawText( hdc,
                      W2A( bstr ),
                      -1,
                      &rc,
                      DT_TOP | DT_SINGLELINE );
         }
      }

      // Draw the user-specified text
      if ( m_bstrText.Length() )
      {
         SetBkMode( hdc, TRANSPARENT );
         SetTextColor( hdc, colFore );
         DrawText( hdc,
                   W2A( m_bstrText ),
                   -1,
                   &rc,
                   DT_CENTER | DT_VCENTER | DT_WORDBREAK );
      }

      // Release the IFont object. We don't
      // delete the font because the OLE font
      // object manages this
      if ( pFont )
         pFont->ReleaseHfont( hFont );

      // Restore the old font
      if ( hOldFont )
         SelectObject( hdc, hOldFont );

      // Restore the old brush and delete
      // the one we created earlier
      if ( hOldBrush )
      {
         SelectObject( hdc, hOldBrush );
         DeleteObject( hBackBrush );
      }

		return S_OK;
	}
	short m_nAppearance;
	OLE_COLOR m_clrBackColor;
	LONG m_nBorderStyle;
	CComPtr<IFontDisp> m_pFont;
	OLE_COLOR m_clrForeColor;
	CComBSTR m_bstrText;

private:
   LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam,
                      LPARAM lParam, BOOL& bHandled);

};

#endif //__POSTITCTL_H_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩综合精品一区二区| 日韩国产成人精品| 欧美日产在线观看| 国产成人自拍网| 首页综合国产亚洲丝袜| 日本一区二区三区高清不卡| 欧美视频精品在线| 国产精品一级黄| 日本中文在线一区| 亚洲另类春色校园小说| 久久综合久久99| 最新中文字幕一区二区三区| 欧美成人vr18sexvr| 色菇凉天天综合网| 成人黄动漫网站免费app| 日本中文在线一区| 亚洲愉拍自拍另类高清精品| 久久色中文字幕| 制服丝袜日韩国产| 欧美在线一区二区三区| 北岛玲一区二区三区四区| 韩国一区二区三区| 免费一级片91| 一区二区三区国产精品| 国产精品久久久久影院老司| 精品国产一区二区三区四区四| 欧美日本在线看| 欧美午夜免费电影| 在线精品视频免费播放| 91啪九色porn原创视频在线观看| 丰满少妇久久久久久久| 国产剧情一区二区| 精品一区二区三区视频| 另类综合日韩欧美亚洲| 久久久久久久综合日本| 日韩手机在线导航| 日韩亚洲欧美成人一区| 日韩网站在线看片你懂的| 欧美高清视频一二三区| 欧美日韩一区三区四区| 欧美色涩在线第一页| 日本黄色一区二区| 色婷婷av一区二区三区大白胸| 成人精品高清在线| 成人va在线观看| 99国产精品99久久久久久| 国产成人免费在线观看不卡| 国产成人8x视频一区二区| 国产精品一区二区久久不卡| 国产一区999| 国产一区二区三区观看| 福利一区在线观看| proumb性欧美在线观看| 91福利区一区二区三区| 欧美日韩国产综合久久| 日韩视频在线你懂得| 久久久噜噜噜久久人人看| 久久精品一区二区| 亚洲制服丝袜一区| 久久综合一区二区| 国产精品视频线看| 亚洲主播在线观看| 麻豆久久一区二区| 极品少妇xxxx精品少妇偷拍| 国产经典欧美精品| 99精品国产91久久久久久| 欧美在线影院一区二区| 欧美成人一区二区三区在线观看 | 九九视频精品免费| 黄色资源网久久资源365| 成人爽a毛片一区二区免费| 美女一区二区在线观看| 成人黄色电影在线| 欧美日韩精品一区二区天天拍小说 | 日韩精品福利网| 久久精品国产亚洲aⅴ| 国产iv一区二区三区| 色激情天天射综合网| 欧美一区日韩一区| 国产欧美日韩三区| 亚洲午夜一区二区三区| 国产一区二区三区在线观看免费视频| 成人免费看黄yyy456| 欧美丝袜自拍制服另类| 久久婷婷国产综合国色天香| 亚洲免费av网站| 久久国产麻豆精品| 色综合天天综合在线视频| 欧美性猛片xxxx免费看久爱| 精品精品欲导航| 亚洲人亚洲人成电影网站色| 日本三级亚洲精品| 99精品视频中文字幕| 欧美卡1卡2卡| 国产精品国产三级国产普通话99| 午夜国产精品一区| 成人激情午夜影院| 欧美伦理视频网站| 成人欧美一区二区三区小说| 日产欧产美韩系列久久99| 一本色道久久加勒比精品| 日韩视频在线一区二区| 一区二区三区中文字幕电影| 国产精品影音先锋| 国产精品无人区| 日韩限制级电影在线观看| 亚洲私人黄色宅男| 国产麻豆一精品一av一免费| 欧美日韩中字一区| 亚洲视频一区在线| 国产精品一区二区无线| 欧美日韩一区二区三区在线| 亚洲欧洲无码一区二区三区| 国产综合成人久久大片91| 欧美精品一卡两卡| 亚洲老妇xxxxxx| 国产精品小仙女| 精品女同一区二区| 日本中文字幕一区二区有限公司| 在线免费观看视频一区| 18成人在线视频| 国产成人在线免费观看| 不卡影院免费观看| 国产欧美综合在线观看第十页| 秋霞影院一区二区| 欧美三日本三级三级在线播放| 中文字幕一区二区在线观看| 久久国产麻豆精品| 精品福利一二区| 久久精品理论片| 欧美va天堂va视频va在线| 日韩不卡一区二区| 欧美精品777| 免费成人av在线播放| 制服丝袜激情欧洲亚洲| 男人操女人的视频在线观看欧美| 欧美日韩久久久久久| 午夜精品123| 欧美精品久久99| 奇米色777欧美一区二区| 欧美日韩成人综合在线一区二区| 亚洲影院理伦片| 欧美日韩国产精品成人| 日韩国产精品91| 日韩精品中午字幕| 国产在线视频一区二区| 国产日韩欧美高清| 成人一区二区三区中文字幕| 欧洲中文字幕精品| 亚洲一区在线观看视频| 在线播放一区二区三区| 日本午夜一本久久久综合| 欧美一区二区三区在线看| 日韩美女视频19| 国产成人精品一区二| 国产精品伦理在线| 91色porny在线视频| 亚洲激情在线激情| 欧美在线你懂的| 午夜精品久久久久久久| 日韩三级精品电影久久久| 国产毛片精品视频| 精品在线你懂的| av在线播放成人| 亚洲国产另类av| 欧美一二三四在线| 国产一区二区福利视频| 亚洲丝袜制服诱惑| 欧美一级二级三级乱码| 福利一区福利二区| 亚洲福利一二三区| 久久人人爽爽爽人久久久| 不卡一卡二卡三乱码免费网站| 亚洲精品成人少妇| 91精品国产综合久久精品图片 | 国产 欧美在线| 亚洲激情网站免费观看| 日韩一区二区三区精品视频| 国产一区二区三区免费观看| 亚洲免费av高清| 日韩免费视频一区| 亚洲韩国一区二区三区| 精品日本一线二线三线不卡| 99久久免费视频.com| 日本视频中文字幕一区二区三区| 久久久久高清精品| 日本道色综合久久| 国产原创一区二区| 亚洲综合免费观看高清完整版| 日韩欧美在线123| 色哟哟欧美精品| 国产乱人伦偷精品视频免下载| 亚洲免费观看高清完整| 国产亚洲精品久| 欧美日韩精品是欧美日韩精品| 国产乱人伦精品一区二区在线观看| 欧美一区国产二区| 日本高清不卡在线观看| 国产成人免费视| 男女男精品视频|