|
|
// Copyright (C) 1996-1997 Microsoft Corporation. All rights reserved.
#if _MSC_VER > 1000
#pragma once
#endif
#ifndef __CSEARCH_H__
#define __CSEARCH_H__
#ifndef __SITEMAP_H__
#include "sitemap.h"
#endif
#include "clistbox.h"
#include "fts.h"
#include "listview.h"
#include "secwin.h"
#include "navui.h" // Clean up headers.
// Common navpane functions. Used for processing accelerators.
#include "navpane.h"
///////////////////////////////////////////////////////////
//
// Forward References
//
class CHtmlHelpControl; // forward reference
///////////////////////////////////////////////////////////
//
// CSearch Declaration
//
class CSearch : public INavUI { public: //--- Internal Contants
typedef enum DlgItemInfoIndex { c_KeywordEdit, c_ListTopicBtn, c_ResultsList, c_DisplayBtn,
c_NumDlgItems };
//--- Construction
CSearch(CHHWinType* phh); virtual ~CSearch();
//--- INavUI Interface
BOOL Create (HWND hwndParent); LRESULT OnCommand (HWND hwnd, UINT id, UINT uNotifiyCode, LPARAM lParam); void ResizeWindow (); void SetPadding (int pad) { m_padding = pad; } void SetTabPos (int tabpos) { m_NavTabPos = tabpos; } void HideWindow (void); void ShowWindow (void);
//--- INavUI Interface functions - NEW
void SetDefaultFocus () ; bool ProcessMenuChar (HWND hwndParent, int ch); LRESULT OnNotify (HWND hwnd, WPARAM wParam, LPARAM lParam) ; void OnDrawItem(UINT id, LPDRAWITEMSTRUCT pdis) {/*Not Implemented*/} void Seed(LPCSTR pszSeed) {/*Not Implemented*/} void OnVKListNotify(NMHDR* pNMHdr) {/*Not Implemented*/}
//--- Helper functions.
protected: // Returns the font to be used.
HFONT GetContentFont() { return m_phh->GetContentFont(); }
void InitDlgItemArray() ;
//--- Calbacks
private: static LRESULT WINAPI ComboProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); static LRESULT WINAPI ListViewProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); static LRESULT WINAPI ListBtnProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); static LRESULT WINAPI DisplayBtnProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
static WNDPROC s_lpfnlComboWndProc; static WNDPROC s_lpfnlListViewWndProc;
// Member data.
protected: int m_cFonts;
CHHWinType* m_phh; CExCollection* m_pTitleCollection;
HPALETTE m_hpalBackGround; HBRUSH m_hbrBackGround; // background brush
HBITMAP m_hbmpBackGround; int m_cxBackBmp; int m_cyBackBmp; HWND m_hwndComboBox; //TODO: This isn't a combobox.
HWND m_hwndListBox; HWND m_hwndDisplayButton; HWND m_hwndListTopicsButton; HWND m_hwndStaticKeyword; HWND m_hwndStaticTopic; CFTSListView *m_plistview; // class to manage the list view control
int m_padding; int m_NavTabPos; // location of parent tabs
// The window passed into create is not the actual parent window of the
// controls. Instead, the controls are always parented to the Navigation window
// which owns the tabs. For resizing, we need to have a pointer to the
// tabctrl window. So, we save this pointer here.
HWND m_hwndResizeToParent ;
// Array of dlgitems
CDlgItemInfo m_aDlgItems[c_NumDlgItems] ;
};
#endif // __CSEARCH_H__
|