mirror of
https://github.com/reactos/wine.git
synced 2024-11-24 12:20:07 +00:00
047513f3de
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
53 lines
1.7 KiB
C
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 */
|