INFOCTRL.H


/******************************************************************************\
* This is a part of the Microsoft Source Code Samples.
* Copyright 1993 - 1998 Microsoft Corporation.
* All rights reserved.
* This source code is only intended as a supplement to
* Microsoft Development Tools and/or WinHelp documentation.
* See these sources for detailed information regarding the
* Microsoft samples programs.
\******************************************************************************/


// STYLES

#define ICSTY_OWNERDRAW 0x0001 // set if the central information is not
// standard text.
#define ICSTY_SHOWFOCUS 0x0002 // set to allow focus painting an movement

#define ICSTY_HASFOCUS 0x8000

#define ICN_OWNERDRAW (WM_USER + 676) // notifies to draw
// wParam=id, lParam=OWNERDRAWPS FAR *
#define ICN_HASFOCUS (WM_USER + 677) // notifies of focus set
// wParam=fFocus, lParam=(hMemCtrlData, hwnd)
#define ICN_BYEBYE (WM_USER + 678) // notifies of imminent death
// wParam=hwnd, lParam=dwUser

#define ICM_SETSTRING (WM_USER + 776) // alters a string
// wParam=index, lParam=LPSTR

#define ICSID_UL 0
#define ICSID_UC 1
#define ICSID_UR 2
#define ICSID_LL 3
#define ICSID_LC 4
#define ICSID_LR 5
#define ICSID_CENTER 6

#define GWL_USER 0
#define GWL_INFODATA 4
#define ICCBWNDEXTRA 8

HWND CreateInfoCtrl(
LPTSTR szTitle,
INT x,
INT y,
INT cx,
INT cy,
HWND hwndParent,
HANDLE hInst,
LPTSTR pszUL, // NULLs here are fine.
LPTSTR pszUC,
LPTSTR pszUR,
LPTSTR pszLL,
LPTSTR pszLC,
LPTSTR pszLR,
DWORD style,
HMENU id,
DWORD dwUser);

VOID MyCascadeChildWindows(HWND hwndParent);
VOID TileChildWindows(HWND hwndParent);

typedef struct {
PTSTR pszUL;
PTSTR pszUC;
PTSTR pszUR;
PTSTR pszLL;
PTSTR pszLC;
PTSTR pszLR;
PTSTR pszCenter;
DWORD style;
RECT rcFocusUL;
RECT rcFocusUR;
RECT rcFocusLL;
RECT rcFocusLR;
HANDLE hInst;
} INFOCTRL_DATA;

typedef struct {
RECT rcBound;
RECT rcPaint;
HDC hdc;
DWORD dwUser;
} OWNERDRAWPS;