122 lines
3.4 KiB
C++
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__
|