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
combooc.h
Package: shell.rar [view]
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 5k
Category:
Windows Kernel
Development Platform:
Visual C++
- #ifndef _COMBOBOX_OC_H_
- #define _COMBOBOX_OC_H_
- #include "unicpp/stdafx.h"
- #include <mshtmdid.h>
- #include <mshtml.h>
- #include <shdispid.h>
- #include "atldisp.h"
- #include "unicppsdspatch.h"
- #include "shcombox.h"
- #include "ids.h"
- #define FCIDM_VIEWADDRESS (FCIDM_BROWSER_VIEW + 0x0005)
- #define DEFAULT_WINDOW_STYLE (WS_BORDER | WS_CHILD | WS_CLIPCHILDREN | CBS_DROPDOWN | CBS_AUTOHSCROLL)
- #define SZ_REGVALUE_LAST_SELECTION TEXT("Last Selection")
- // CProxy_ComboBoxExEvents
- template <class T>
- class CProxy_ComboBoxExEvents
- : public IConnectionPointImpl<T, &DIID_DComboBoxExEvents, CComDynamicUnkArray>
- {
- public:
- //methods:
- //DComboBoxExEvents : IDispatch
- public:
- virtual void Fire_EnterPressed(void)
- {
- T* pT = (T*)this;
- pT->Lock();
- IUnknown** pp = m_vec.begin();
- while (pp < m_vec.end())
- {
- if (*pp != NULL)
- {
- DISPPARAMS disp = { NULL, NULL, 0, 0 };
- IDispatch* pDispatch = reinterpret_cast<IDispatch*>(*pp);
- pDispatch->Invoke(DISPID_ENTERPRESSED, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, &disp, NULL, NULL, NULL);
- }
- pp++;
- }
- pT->Unlock();
- }
- };
- class ATL_NO_VTABLE CComboBoxExOC
- {
- public:
- CComboBoxExOC(LPCTSTR pszRegKey, int csidlDefaultPidl);
- ~CComboBoxExOC();
- virtual HRESULT TranslateAcceleratorInternal(MSG *pMsg, IOleClientSite * pocs);
- virtual void Fire_EnterPressed(void) = 0;
- protected:
- // Helper functions;
- virtual HRESULT _PopulateTopItem(void);
- virtual HRESULT _Populate(void) = 0; // PURE virtual
- virtual BOOL _IsSecure(void) = 0; // PURE virtual
- virtual HRESULT _AddDefaultItem(void) = 0; // PURE virtual
- virtual HRESULT _CustomizeName(UINT idResource, LPTSTR pszDisplayName, DWORD cchSize) = 0; // PURE virtual
- virtual HRESULT _GetSelectText(LPTSTR pszSelectText, DWORD cchSize, BOOL fDisplayName) = 0; // PURE virtual
- virtual HRESULT _IsDefaultSelection(LPCTSTR pszLastSelection) = 0;
- virtual HRESULT _RestoreIfUserInputValue(LPCTSTR pszLastSelection) = 0;
- virtual STDMETHODIMP get_Enabled(OUT VARIANT_BOOL * pfEnabled);
- virtual STDMETHODIMP put_Enabled(IN VARIANT_BOOL fEnabled);
- // Window Creation
- HWND _CreateComboBoxEx(IOleClientSite * pClientSite, HWND hWnd, HWND hWndParent, RECT& rcPos, LPCTSTR pszWindowName, DWORD dwStyle, DWORD dwExStyle, UINT_PTR nID);
- virtual HWND _Create(HWND hWndParent, RECT& rcPos, LPCTSTR pszWindowName, DWORD dwStyle, DWORD dwExStyle, UINT_PTR nID) = 0; // PURE Virtual
- virtual DWORD _GetWindowStyles(void) { return DEFAULT_WINDOW_STYLE; };
- virtual HRESULT _SetSelect(LPCTSTR pszDisplay, LPCTSTR pszReplace);
- // Window Messages
- LRESULT cb_ForwardMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
- LRESULT cb_OnDropDownMessage(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
- // ComboBox Util Functions
- virtual HRESULT _AddFileType(LPCTSTR pszDisplayName, LPCTSTR pszExt, LPCITEMIDLIST pidlIcon, INT_PTR nPos, int iIndent);
- HRESULT _AddResourceAndCsidlStr(UINT idString, int nCsidlItem, int nCsidlIcon, INT_PTR nPos, int iIndent);
- HRESULT _AddResourceItem(int idString, DWORD dwData, int nCsidlIcon, INT_PTR nPos, int iIndent);
- HRESULT _AddCsidlItem(int nCsidlItem, int nCsidlIcon, INT_PTR nPos, int iIndent);
- HRESULT _AddCsidlItemStr(int nCsidlItem, int nCsidlIcon, INT_PTR nPos, int iIndent);
- HRESULT _AddCsidlIcon(LPCTSTR pszDisplayName, LPVOID pvData, int nCsidlIcon, INT_PTR nPos, int iIndent);
- HRESULT _AddPidl(LPITEMIDLIST pidl, LPITEMIDLIST pidlIcon, INT_PTR nPos, int iIndent);
- HRESULT _AddToComboBox(LPCTSTR pszDisplayName, LPVOID pvData, LPCITEMIDLIST pidlIcon, INT_PTR nPos, int iIndent, INT_PTR *pnPosAdded);
- HRESULT _AddToComboBoxKnownImage(LPCTSTR pszDisplayName, LPVOID pvData, int iImage, int iSelectedImage, INT_PTR nPos, int iIndent, INT_PTR *pnPosAdded);
- // Util Functions
- HRESULT _Load(IPropertyBag * pPropBag, IErrorLog * pErrorLog);
- HRESULT _putString(LPCSTR pszString);
- HRESULT _LoadAndConvertString(UINT idString, LPTSTR pszDisplayName, DWORD chSize);
- // Private Member Variables
- HWND _hwndComboBox;
- HWND _hwndEdit;
- LPCSTR _pszInitialString; // Initial String to display in Address Box.
- LPCTSTR _pszPersistString; // Where in the registry to persist the state.
- DWORD _dwDropDownSize; // Drop Down size.
- BITBOOL _fEnableEdit : 1; // Is Edit Allowed?
- BITBOOL _fInRecursion : 1;
- VARIANT_BOOL _fEnabled; // Is the control enabled (not grayed out)?
- LPCTSTR _pszRegKey; // Persist data here.
- int _csidlDefaultPidl; //
- };
- #endif // _COMBOBOX_OC_H_