Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef __CUSTMTAB_H__
#define __CUSTMTAB_H__
///////////////////////////////////////////////////////////
//
//
// CustmTab.h - CustomTab Proxy object.
//
// This header defines the class which manages custom
// navigation panes.
// INavPaneUI Interface
#include "navui.h"
// Other nav pane related structures.
#include "navpane.h"
// The IHHWindowPane header file:
#include "HTMLHelp_.h"
///////////////////////////////////////////////////////////
//
// Forwards
//
///////////////////////////////////////////////////////////
//
// Constants
//
///////////////////////////////////////////////////////////
//
// CBookmarksNavPane
//
class CCustomNavPane : public INavUI { public: //---Construction
CCustomNavPane (CHHWinType* pWinType); virtual ~CCustomNavPane () ;
public: //--- INavUI Interface functions.
virtual BOOL Create(HWND hwndParent); virtual LRESULT OnCommand(HWND hwnd, UINT id, UINT uNotifiyCode, LPARAM lParam); virtual void ResizeWindow(); virtual void HideWindow() ; virtual void ShowWindow() ; virtual void SetPadding(int pad) ; virtual void SetTabPos(int tabpos) ;
// Set focus to the most expected control, usually edit combo.
virtual void SetDefaultFocus() ;
// Process accelerator keys.
virtual bool ProcessMenuChar(HWND hwndParent, int ch) ;
// Process WM_NOTIFY messages. Used by embedded Tree and List view controls.
virtual LRESULT OnNotify(HWND hwnd, WPARAM wParam, LPARAM lParam) ;
// Process WM_DRAWITEM messages.
virtual void OnDrawItem(UINT id, LPDRAWITEMSTRUCT pdis) ;
// Seed the nav ui with a search term or keyword.
virtual void Seed(LPCSTR pszSeed) ;
virtual BOOL Synchronize(PSTR , CTreeNode* ) ;
void OnVKListNotify(NMHDR* pNMHdr) {/*Not Implemented*/}
//--- Public Functions.
public: HRESULT SetControlProgId(LPCOLESTR ProgId);
//--- Public Static functions
public: // Registers the window class for this window.
static void RegisterWindowClass() ;
private: //--- Helper Functions.
void SetFont (HFONT hfont) { m_hfont = hfont; } void SaveCustomTabState() ; void LoadCustomTabState() ;
//int GetAcceleratorKey(HWND hwndctrl) ;
//int GetAcceleratorKey(int ctrlid) {return GetAcceleratorKey(::GetDlgItem(m_hWnd, ctrlid)) ; }
protected: //--- Message Handler Functions
#if 0
void OnTab(HWND hwndReceivedTab, BookmarkDlgItemInfoIndex index) ; void OnArrow(HWND hwndReceivedTab, BookmarkDlgItemInfoIndex index, int key) ; bool OnReturn(HWND hwndReceivedTab, BookmarkDlgItemInfoIndex /*index*/); #endif
private: //--- Callbacks
// Window Proc
LRESULT CustomNavePaneProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) ;
// Static Window Proc.
static LRESULT WINAPI s_CustomNavePaneProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) ;
protected: //--- Statics
private: //--- Member Functions.
HWND m_hWnd; HFONT m_hfont; // author-specified font to use for child windows
int m_padding; int m_NavTabPos; // location of parent tabs
// Window handle to the embedded component.
HWND m_hwndComponent ;
// Holds a pointer to the wintype so we can send the WMP_HH_TAB_KEY message to it.
CHHWinType* m_pWinType;
// Pointer to the GUID.
CLSID m_clsid ;
// Smart pointer to the IHHWindowPane interface on the component.
CComPtr<IHHWindowPane> m_spIHHWindowPane; };
#endif //__CUSTMTAB_H__
|