tooltips, handle boxes, menus, toolbars

This commit is contained in:
cinamod
2003-08-26 21:53:30 +00:00
parent b1b4498b0e
commit ccdf6b9bc9
5 changed files with 169 additions and 64 deletions

View File

@ -40,6 +40,9 @@ static LPCWSTR class_descriptors[] =
L"TreeView",
L"Spin",
L"Progress",
L"Tooltip",
L"Rebar",
L"Toolbar"
};
static const short element_part_map[]=
@ -74,13 +77,18 @@ static const short element_part_map[]=
PP_CHUNKVERT,
PP_BAR,
PP_BARVERT,
TTP_STANDARD,
RP_BAND,
RP_GRIPPER,
RP_GRIPPERVERT,
TP_BUTTON
};
static HINSTANCE uxtheme_dll = NULL;
static HTHEME open_themes[XP_THEME_CLASS__SIZEOF];
typedef HRESULT (FAR PASCAL *GetThemeSysFontFunc)
(HTHEME hTheme, int iFontID, FAR LOGFONTW *plf);
(HTHEME hTheme, int iFontID, FAR LOGFONT *plf);
typedef HTHEME (FAR PASCAL *OpenThemeDataFunc)
(HWND hwnd, LPCWSTR pszClassList);
typedef HRESULT (FAR PASCAL *CloseThemeDataFunc)(HTHEME theme);
@ -158,6 +166,20 @@ xp_theme_get_handle_by_element(XpThemeElement element)
switch(element)
{
case XP_THEME_ELEMENT_TOOLTIP:
klazz = XP_THEME_CLASS_TOOLTIP;
break;
case XP_THEME_ELEMENT_REBAR:
case XP_THEME_ELEMENT_GRIPPER_H:
case XP_THEME_ELEMENT_GRIPPER_V:
klazz = XP_THEME_CLASS_REBAR;
break;
case XP_THEME_ELEMENT_TOOLBAR:
klazz = XP_THEME_CLASS_TOOLBAR;
break;
case XP_THEME_ELEMENT_PRESSED_CHECKBOX:
case XP_THEME_ELEMENT_CHECKBOX:
case XP_THEME_ELEMENT_BUTTON:
@ -231,10 +253,24 @@ xp_theme_map_gtk_state(XpThemeElement element, GtkStateType state)
switch(element)
{
case XP_THEME_ELEMENT_TAB_PANE:
case XP_THEME_ELEMENT_TOOLTIP:
ret = TTSS_NORMAL;
break;
case XP_THEME_ELEMENT_REBAR:
case XP_THEME_ELEMENT_GRIPPER_H:
case XP_THEME_ELEMENT_GRIPPER_V:
ret = 0;
break;
case XP_THEME_ELEMENT_TOOLBAR:
ret = 1;
break;
case XP_THEME_ELEMENT_TAB_PANE:
ret = 1;
break;
case XP_THEME_ELEMENT_TAB_ITEM_LEFT_EDGE:
case XP_THEME_ELEMENT_TAB_ITEM:
switch(state)
@ -540,7 +576,7 @@ xp_theme_is_drawable(XpThemeElement element)
}
gboolean
xp_theme_get_system_font(LOGFONTW *lf)
xp_theme_get_system_font(LOGFONT *lf)
{
gboolean ret = FALSE;
if (get_theme_sys_font_func != NULL)