windows-nt/Source/XPSP1/NT/enduser/stuff/hhctrl/search.h
2020-09-26 16:20:57 +08:00

122 lines
3.4 KiB
C++

// 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__