Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
dtpicker.h
Package: shell.rar [view]
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 6k
Category:
Windows Kernel
Development Platform:
Visual C++
- #ifndef __DATETIMEPICKEROC_H__
- #define __DATETIMEPICKEROC_H__
- #include "unicpp/stdafx.h"
- #include <mshtmdid.h>
- #include <mshtml.h>
- #include "atldisp.h"
- #define DTPICKER_WINDOWCLASS TEXT("Date Time Picker ActiveX Control Window")
- #define DTPICKER_CONTROL_ID 0x00929ba6
- class CDateTimePickerOC;
- class ATL_NO_VTABLE CDateTimePickerOC
- : public CComObjectRootEx<CComSingleThreadModel>
- , public CComCoClass<CDateTimePickerOC, &CLSID_DateTimePickerOC>
- , public CComControl<CDateTimePickerOC>
- , public IDispatchImpl<IDateTimePickerOC, &IID_IDateTimePickerOC, &LIBID_Shell32, 1, 0, CComTypeInfoHolder>
- , public IProvideClassInfo2Impl<&CLSID_DateTimePickerOC, NULL, &LIBID_Shell32, 1, 0, CComTypeInfoHolder>
- , public IPersistImpl<CDateTimePickerOC>
- , public IOleControlImpl<CDateTimePickerOC>
- , public IViewObjectExImpl<CDateTimePickerOC>
- , public IOleInPlaceActiveObjectImpl<CDateTimePickerOC>
- , public IObjectSafetyImpl<CDateTimePickerOC>
- , public IPersistPropertyBagImpl<CDateTimePickerOC>
- , public IQuickActivateImpl<CDateTimePickerOC>
- , public IOleInPlaceObject
- , public CShell32AtlIDispatch<CDateTimePickerOC, &CLSID_DateTimePickerOC, &IID_IDateTimePickerOC, &LIBID_Shell32, 1, 0, CComTypeInfoHolder>
- {
- public:
- CDateTimePickerOC();
- ~CDateTimePickerOC();
- DECLARE_POLY_AGGREGATABLE(CDateTimePickerOC);
- DECLARE_NO_REGISTRY();
- DECLARE_WND_CLASS(DTPICKER_WINDOWCLASS)
- BEGIN_COM_MAP(CDateTimePickerOC)
- // ATL Uses these in IUnknown::QueryInterface()
- COM_INTERFACE_ENTRY_IMPL_IID(IID_IViewObject, IViewObjectEx)
- COM_INTERFACE_ENTRY_IMPL_IID(IID_IViewObject2, IViewObjectEx)
- COM_INTERFACE_ENTRY_IMPL(IViewObjectEx)
- COM_INTERFACE_ENTRY_IMPL_IID(IID_IOleWindow, IOleInPlaceActiveObject)
- COM_INTERFACE_ENTRY_IMPL(IOleInPlaceActiveObject)
- COM_INTERFACE_ENTRY(IOleInPlaceObject)
- COM_INTERFACE_ENTRY(IDispatch)
- COM_INTERFACE_ENTRY(IProvideClassInfo2)
- COM_INTERFACE_ENTRY(IProvideClassInfo)
- COM_INTERFACE_ENTRY_IMPL(IOleControl)
- COM_INTERFACE_ENTRY_IMPL(IOleObject)
- COM_INTERFACE_ENTRY_IMPL(IObjectSafety)
- COM_INTERFACE_ENTRY(IDateTimePickerOC)
- COM_INTERFACE_ENTRY_IMPL(IPersist)
- COM_INTERFACE_ENTRY_IMPL(IPersistPropertyBag)
- COM_INTERFACE_ENTRY_IMPL(IQuickActivate)
- END_COM_MAP()
- BEGIN_MSG_MAP(CDateTimePickerOC)
- MESSAGE_HANDLER(WM_SIZE, _OnSetSize)
- MESSAGE_HANDLER(WM_SETFOCUS, _OnSetFocusControl)
- // REVIEW: How many of the following message handlers are TRUELY needed? All? None? Some?
- MESSAGE_HANDLER(WM_KEYDOWN, _ForwardMessage)
- MESSAGE_HANDLER(WM_SYSKEYDOWN, _ForwardMessage)
- MESSAGE_HANDLER(WM_CHAR, _ForwardMessage)
- MESSAGE_HANDLER(WM_KILLFOCUS, _ForwardMessage)
- END_MSG_MAP()
- BEGIN_PROPERTY_MAP(CDateTimePickerOC)
- END_PROPERTY_MAP()
- // *** IDateTimePickerOC ***
- virtual STDMETHODIMP get_DateTime(OUT DATE * pdatetime);
- virtual STDMETHODIMP put_DateTime(IN DATE datetime);
- virtual STDMETHODIMP get_Enabled(OUT VARIANT_BOOL * pfEnabled);
- virtual STDMETHODIMP put_Enabled(IN VARIANT_BOOL fEnabled);
- virtual STDMETHODIMP STDMETHODCALLTYPE Reset(VARIANT vDelta);
- // *** IOleWindow ***
- virtual STDMETHODIMP GetWindow(HWND * lphwnd) {return IOleInPlaceActiveObjectImpl<CDateTimePickerOC>::GetWindow(lphwnd);};
- virtual STDMETHODIMP ContextSensitiveHelp(BOOL fEnterMode) { return IOleInPlaceActiveObjectImpl<CDateTimePickerOC>::ContextSensitiveHelp(fEnterMode); };
- // *** IOleInPlaceObject ***
- virtual STDMETHODIMP InPlaceDeactivate(void) {return IOleInPlaceObject_InPlaceDeactivate();};
- virtual STDMETHODIMP UIDeactivate(void) { return IOleInPlaceObject_UIDeactivate(); };
- virtual STDMETHODIMP SetObjectRects(LPCRECT lprcPosRect, LPCRECT lprcClipRect) {return IOleInPlaceObject_SetObjectRects(lprcPosRect, lprcClipRect);};
- virtual STDMETHODIMP ReactivateAndUndo(void) { return E_NOTIMPL; };
- // *** IPersistPropertyBag ***
- virtual STDMETHODIMP Load(IPropertyBag * pPropBag, IErrorLog * pErrorLog);
- virtual STDMETHODIMP Save(IPropertyBag * pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties) {return S_OK;};
- // *** IObjectSafety ***
- virtual STDMETHODIMP SetInterfaceSafetyOptions(REFIID riid, DWORD dwOptionSetMask, DWORD dwEnabledOptions) {return S_OK;};
- // *** IOleInPlaceActiveObject ***
- virtual STDMETHODIMP TranslateAccelerator(MSG *pMsg) { return CShell32AtlIDispatch<CDateTimePickerOC, &CLSID_DateTimePickerOC, &IID_IDateTimePickerOC, &LIBID_Shell32, 1, 0, CComTypeInfoHolder>::TranslateAcceleratorPriv(this, pMsg, m_spClientSite); };
- // Over ride ATL functions.
- LRESULT _ForwardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
- LRESULT _OnSetSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
- HWND Create(HWND hWndParent, RECT& rcPos, LPCTSTR pszWindowName = NULL, DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, DWORD dwExStyle = 0, UINT_PTR nID = 0);
- virtual HRESULT TranslateAcceleratorInternal(MSG *pMsg, IOleClientSite * pocs) { return E_NOTIMPL; };
- LRESULT _OnSetFocusControl(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
- LRESULT _OnSetFocusDatePicker(UINT uMsg, WPARAM wParam, LPARAM lParam);
- HRESULT DoVerbUIActivate(LPCRECT prcPosRect, HWND hwndParent) { return CShell32AtlIDispatch<CDateTimePickerOC, &CLSID_DateTimePickerOC, &IID_IDateTimePickerOC, &LIBID_Shell32, 1, 0, CComTypeInfoHolder>::DoVerbUIActivate(prcPosRect, hwndParent, _hwndDTPicker); };
- static LRESULT CALLBACK SubClassWndProc(HWND hwnd, UINT uMessage, WPARAM wParam, LPARAM lParam, WPARAM uIdSubclass, ULONG_PTR dwRefData);
- virtual STDMETHODIMP PrivateQI(REFIID iid, void ** ppvObject) { return _InternalQueryInterface(iid, ppvObject);};
- protected:
- // Helper functions;
- HWND _hwndDTPicker; // HWND of comctl32.dll DateTime Picker control
- VARIANT_BOOL _fEnabled; // Is the control enabled (not grayed out)?
- SYSTEMTIME _st; // The system time to initialize to...
- };
- #endif // __DATETIMEPICKEROC_H__