wine/include/tab.h
Alexandre Julliard 047513f3de Don Kelly
In Windows Property Sheet can have any mix of icon-less tabs and tabs
with icons.  Adds a check to see if the icon we're adding is non-NULL
(otherwise random junk from memory can be rendered) when the application
has specified the PSP_USEICONID flag is set.  Changes to the Tab control
to only render icons for tabs that have the TCIF_IMAGE flag set
(previously, if the flag was set the entire image list of icons was
rendered).

Stephane Lussier <stephane@macadamian.com>
Fixes for some tab control bugs

Henning Hoffmann
Fixed some width problem with OWNERDRAW tab.

Luc Tourangeau <luc@macadamian.com>
TCM_ADJUSTRECT is now returning consistant compare to Windows.

Serge Ivanov <sergei@corel.ca>
Fixed problem with tab selection. When you select tab it becames first
visible tab. Now leftmost visible tab is calculated properly.
- Added code for correct handling of updown control.
- Forced recalculation of tabs' coordinates when:
a) all items are deleted,
b) window style is canged
2000-02-26 18:31:01 +00:00

53 lines
1.7 KiB
C

/*
* Tab control class extra info
*
* Copyright 1998 Anders Carlsson
*/
#ifndef __WINE_TAB_H
#define __WINE_TAB_H
#include "commctrl.h"
#include "windef.h"
typedef struct tagTAB_ITEM
{
UINT mask;
DWORD dwState;
LPSTR pszText;
INT cchTextMax;
INT iImage;
LPARAM lParam;
RECT rect; /* bounding rectangle of the item relative to the
* leftmost item (the leftmost item, 0, would have a
* "left" member of 0 in this rectangle) */
} TAB_ITEM;
typedef struct tagTAB_INFO
{
UINT uNumItem; /* number of tab items */
INT tabHeight; /* height of the tab row */
INT tabWidth; /* width of tabs */
HFONT hFont; /* handle to the current font */
HCURSOR hcurArrow; /* handle to the current cursor */
HIMAGELIST himl; /* handle to a image list (may be 0) */
HWND hwndToolTip; /* handle to tab's tooltip */
UINT cchTextMax;
INT leftmostVisible; /* Used for scrolling, this member contains
* the index of the first visible item */
INT iSelected; /* the currently selected item */
INT uFocus; /* item which has the focus */
TAB_ITEM* items; /* pointer to an array of TAB_ITEM's */
BOOL DoRedraw; /* flag for redrawing when tab contents is changed*/
BOOL needsScrolling; /* TRUE if the size of the tabs is greater than
* the size of the control */
BOOL fSizeSet; /* was the size of the tabs explicitly set? */
HWND hwndUpDown; /* Updown control used for scrolling */
} TAB_INFO;
extern VOID TAB_Register (VOID);
extern VOID TAB_Unregister (VOID);
#endif /* __WINE_TAB_H */