windows-nt/Source/XPSP1/NT/com/oleutest/letest/gizmobar/gizmoint.h
2020-09-26 16:20:57 +08:00

106 lines
2.7 KiB
C

/*
* GIZMOINT.H
* GizmoBar Version 1.00, Win32 version August 1993
*
* Internal definitions for the GizmoBar DLL
*
* Copyright (c)1993 Microsoft Corporation, All Rights Reserved
*
* Kraig Brockschmidt, Software Design Engineer
* Microsoft Systems Developer Relations
*
* Internet : kraigb@microsoft.com
* Compuserve: >INTERNET:kraigb@microsoft.com
*/
#ifndef _GIZMOINT_H_
#define _GIZMOINT_H_
#include <bttncur.h>
#include <book1632.h>
#include "gizmo.h"
#include "gizmobar.h"
#ifdef __cplusplus
extern "C"
{
#endif
/*
* The main gizmobar structure itself. There's only one of these,
* but it references the first GIZMO in the list.
*/
typedef struct tagGIZMOBAR
{
LPGIZMO pGizmos; //List of gizmos we own.
HWND hWnd; //Window handle of ourselves.
HINSTANCE hInst;
HWND hWndAssociate; //Associate window handle who gets messages.
DWORD dwStyle; //Copy of GetWindowLong(hWnd, GWL_STYLE)
UINT uState; //State flags
UINT uID; //Control ID.
HBRUSH hBrFace; //Static control background color
COLORREF crFace; //Color of hBrFace
HFONT hFont; //Font in use, defaults to system, WM_SETFONT
BOOL fEnabled; //Are we enabled?
LPGIZMO pGizmoTrack; //Current pressed button.
BOOL fTracking;
BOOL fMouseOut;
} GIZMOBAR, FAR * LPGIZMOBAR;
#define CBGIZMOBAR sizeof(GIZMOBAR)
//Extra bytes for the window if the size of a local handle.
#define CBWINDOWEXTRA sizeof(LPGIZMOBAR)
#define GBWL_STRUCTURE 0
//Structure for passing paint information to a gizmo enumeration callback.
typedef struct
{
HDC hDC;
BOOL fPaint;
} PAINTGIZMO, FAR * LPPAINTGIZMO;
//Private functions specific to the control.
//INIT.C
#ifdef WIN32
extern BOOL WINAPI _CRT_INIT(HINSTANCE, DWORD, LPVOID);
extern _cexit(void);
#endif //WIN32
void FAR PASCAL WEP(int);
BOOL FRegisterControl(HINSTANCE);
LPGIZMOBAR GizmoBarPAllocate(LPINT, HWND, HINSTANCE, HWND, DWORD, UINT, UINT);
LPGIZMOBAR GizmoBarPFree(LPGIZMOBAR);
//PAINT.C
void GizmoBarPaint(HWND, LPGIZMOBAR);
BOOL FAR PASCAL FEnumPaintGizmos(LPGIZMO, UINT, DWORD);
//GIZMOBAR.C
LRESULT FAR PASCAL GizmoBarWndProc(HWND, UINT, WPARAM, LPARAM);
BOOL FAR PASCAL FEnumChangeFont(LPGIZMO, UINT, DWORD);
BOOL FAR PASCAL FEnumEnable(LPGIZMO, UINT, DWORD);
BOOL FAR PASCAL FEnumHitTest(LPGIZMO, UINT, DWORD);
//API.C Also see GIZMOBAR.H for others
LRESULT GBMessageHandler(HWND, UINT, WPARAM, LPARAM, LPGIZMOBAR);
LPGIZMO PGizmoFromHwndID(HWND, UINT);
#endif //_GIZMOINT_H_