mirror of https://github.com/tongzx/nt5src
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.
92 lines
1.8 KiB
92 lines
1.8 KiB
#ifndef __SIZEBAR_H__
|
|
#define __SIZEBAR_H__
|
|
|
|
///////////////////////////////////////////////////////////
|
|
//
|
|
//
|
|
// SIZEBAR.h - CSizeBar control encapsulates the sizebar
|
|
//
|
|
//
|
|
//
|
|
// Copyright (C) 1996-1997 Microsoft Corporation. All rights reserved.
|
|
|
|
///////////////////////////////////////////////////////////
|
|
//
|
|
// Forword references.
|
|
//
|
|
class CHHWinType ;
|
|
|
|
///////////////////////////////////////////////////////////
|
|
//
|
|
// CSizeBar
|
|
//
|
|
class CSizeBar
|
|
{
|
|
public:
|
|
// Constructor
|
|
CSizeBar();
|
|
|
|
// Destructor
|
|
~CSizeBar();
|
|
|
|
// Access
|
|
public:
|
|
HWND hWnd() const
|
|
{ return m_hWnd; }
|
|
|
|
// Gets the width of the bar.
|
|
static int Width();
|
|
|
|
// The smallest width a pane can be sized.
|
|
static int MinimumPaneWidth() {return Width()*5;}
|
|
|
|
// The smallest width the topic can be sized.
|
|
static int MinimumTopicWidth() {return Width()*15;}
|
|
|
|
// Operations
|
|
public:
|
|
// Create
|
|
bool Create(CHHWinType* pWinType) ;
|
|
|
|
// Resize
|
|
void ResizeWindow() ;
|
|
|
|
// Register the window class
|
|
static void RegisterWindowClass() ;
|
|
|
|
|
|
// Internal Helper Functions
|
|
protected:
|
|
void CalcSize(RECT* prect) ;
|
|
|
|
// Window Proc
|
|
LRESULT SizeBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
// Draw
|
|
void Draw() ;
|
|
|
|
// Callbacks
|
|
private:
|
|
// Window Proc
|
|
static LRESULT WINAPI s_SizeBarProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
// Member variables.
|
|
protected:
|
|
// Window handle to the sizebar
|
|
HWND m_hWnd;
|
|
|
|
// Window handle to our parent window.
|
|
HWND m_hWndParent;
|
|
|
|
// CHHWinType pointer so that we can get the handle to the HTMLHelp Window.
|
|
CHHWinType*m_pWinType;
|
|
|
|
// how far is the mouse away from the left edge of the sizebar.
|
|
int m_offset ;
|
|
|
|
// True if dragging.
|
|
bool m_bDragging ;
|
|
};
|
|
|
|
|
|
#endif //__CSizeBar_H__
|