1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
#define STRICT
/* disable "non-standard extension" warnings in our code
#ifndef RC_INVOKED
#pragma warning(disable:4001)
#endif
*/
#include <windows.h>
#include <windowsx.h>
//#include <port1632.h>
#define OFFSETOF(x) x
#define Static
#define UNICODE_FONT_NAME TEXT("Lucida Sans Unicode")
#define COUNTOF(x) (sizeof(x)/sizeof(*x))
#define ByteCountOf(x) ((x) * sizeof(TCHAR))
#define LONG2POINT(l, pt) ((pt).x = (SHORT)LOWORD(l), (pt).y = (SHORT)HIWORD(l))
#include <commctrl.h>
extern HINSTANCE hInst;
BOOL FAR PASCAL InitToolbarClass(HINSTANCE hInstance);
BOOL FAR PASCAL InitStatusClass(HINSTANCE hInstance);
BOOL FAR PASCAL InitHeaderClass(HINSTANCE hInstance);
BOOL FAR PASCAL InitButtonListBoxClass(HINSTANCE hInstance);
BOOL FAR PASCAL InitTrackBar(HINSTANCE hInstance);
BOOL FAR PASCAL InitUpDownClass(HINSTANCE hInstance);
void FAR PASCAL NewSize(HWND hWnd, int nClientHeight, LONG style,
int left, int top, int width, int height);
#define IDS_SPACE 0x0400
/* System MenuHelp
*/
#define MH_SYSMENU (0x8000 - MINSYSCOMMAND)
#define IDS_SYSMENU (MH_SYSMENU-16)
#define IDS_HEADER (MH_SYSMENU-15)
#define IDS_HEADERADJ (MH_SYSMENU-14)
#define IDS_TOOLBARADJ (MH_SYSMENU-13)
/* Cursor ID's
*/
#define IDC_SPLIT 100
#define IDC_MOVEBUTTON 102
#define IDC_STOP 103
#define IDC_COPY 104
#define IDC_MOVE 105
/* Icon ID's
*/
#define IDI_INSERT 150
/* AdjustDlgProc stuff
*/
#define ADJUSTDLG 200
#define IDC_BUTTONLIST 201
#define IDC_RESET 202
#define IDC_CURRENT 203
#define IDC_REMOVE 204
#define IDC_MOVEUP 205
#define IDC_MOVEDOWN 206
/* bitmap IDs
*/
#define IDB_THUMB 300
/* These are the internal structures used for a status bar. The header
* bar code needs this also
*/
typedef struct tagSTRINGINFO
{
LPTSTR pString;
UINT uType;
int right;
} STRINGINFO, *PSTRINGINFO;
typedef struct tagSTATUSINFO
{
HFONT hStatFont;
BOOL bDefFont;
int nFontHeight;
int nMinHeight;
int nBorderX, nBorderY, nBorderPart;
STRINGINFO sSimple;
int nParts;
STRINGINFO sInfo[1];
} STATUSINFO, *PSTATUSINFO;
#define GWL_PSTATUSINFO 0 /* Window word index for status info */
#define SBT_NOSIMPLE 0x00ff /* Flags to indicate normal status bar */
/* This is the default status bar face name
*/
extern TCHAR szSansSerif[];
/* Note that window procedures in protect mode only DLL's may be called
* directly.
*/
void FAR PASCAL PaintStatusWnd(HWND hWnd, PSTATUSINFO pStatusInfo,
PSTRINGINFO pStringInfo, int nParts, int nBorderX, BOOL bHeader);
LRESULT CALLBACK StatusWndProc(HWND hWnd, UINT uMessage, WPARAM wParam,
LPARAM lParam);
/* toolbar.c */
#define GWL_PTBSTATE 0
typedef struct tagTBBMINFO /* info for recreating the bitmaps */
{
int nButtons;
HINSTANCE hInst;
WORD wID;
HBITMAP hbm;
} TBBMINFO, NEAR *PTBBMINFO;
typedef struct tagTBSTATE /* instance data for toolbar window */
{
PTBBUTTON pCaptureButton;
HWND hdlgCust;
HWND hwndCommand;
int nBitmaps;
PTBBMINFO pBitmaps;
int iNumButtons;
int nSysColorChanges;
TBBUTTON Buttons[1];
} TBSTATE, NEAR *PTBSTATE;
extern HBITMAP FAR PASCAL SelectBM(HDC hDC, PTBSTATE pTBState, int nButton);
extern void FAR PASCAL DrawButton(HDC hdc, int x, int y, int dx, int dy,
PTBSTATE pTBState, PTBBUTTON ptButton);
extern int FAR PASCAL TBHitTest(PTBSTATE pTBState, int xPos, int yPos);
extern int FAR PASCAL PositionFromID(PTBSTATE pTBState, int id);
/* tbcust.c */
extern BOOL FAR PASCAL SaveRestore(HWND hWnd, PTBSTATE pTBState, BOOL bWrite,
LPTSTR FAR *lpNames);
extern void FAR PASCAL CustomizeTB(HWND hWnd, PTBSTATE pTBState, int iPos);
extern void FAR PASCAL MoveButton(HWND hwndToolbar, PTBSTATE pTBState,
int nSource);
/* cutils.c */
void FAR PASCAL NewSize(HWND hWnd, int nHeight, LONG style, int left, int top, int width, int height);
BOOL FAR PASCAL CreateDitherBrush(BOOL bIgnoreCount); /* creates hbrDither */
BOOL FAR PASCAL FreeDitherBrush(void);
void FAR PASCAL CreateThumb(BOOL bIgnoreCount);
void FAR PASCAL DestroyThumb(void);
void FAR PASCAL CheckSysColors(void);
extern HBRUSH hbrDither;
extern HBITMAP hbmThumb;
extern int nSysColorChanges;
extern DWORD rgbFace; // globals used a lot
extern DWORD rgbShadow;
extern DWORD rgbHilight;
extern DWORD rgbFrame;
|