Commit 9d6f88c9 authored by Thomas Weidenmüller's avatar Thomas Weidenmüller Committed by Alexandre Julliard

Implemented syslink control.

parent ecff61c8
...@@ -30,6 +30,7 @@ C_SRCS = \ ...@@ -30,6 +30,7 @@ C_SRCS = \
smoothscroll.c \ smoothscroll.c \
string.c \ string.c \
status.c \ status.c \
syslink.c \
tab.c \ tab.c \
toolbar.c \ toolbar.c \
tooltips.c \ tooltips.c \
......
...@@ -101,6 +101,8 @@ extern void REBAR_Register(void); ...@@ -101,6 +101,8 @@ extern void REBAR_Register(void);
extern void REBAR_Unregister(void); extern void REBAR_Unregister(void);
extern void STATUS_Register(void); extern void STATUS_Register(void);
extern void STATUS_Unregister(void); extern void STATUS_Unregister(void);
extern void SYSLINK_Register(void);
extern void SYSLINK_Unregister(void);
extern void TAB_Register(void); extern void TAB_Register(void);
extern void TAB_Unregister(void); extern void TAB_Unregister(void);
extern void TOOLBAR_Register(void); extern void TOOLBAR_Register(void);
...@@ -174,6 +176,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) ...@@ -174,6 +176,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
LISTVIEW_Register (); LISTVIEW_Register ();
PROGRESS_Register (); PROGRESS_Register ();
STATUS_Register (); STATUS_Register ();
SYSLINK_Register ();
TAB_Register (); TAB_Register ();
TOOLBAR_Register (); TOOLBAR_Register ();
TOOLTIPS_Register (); TOOLTIPS_Register ();
...@@ -198,6 +201,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) ...@@ -198,6 +201,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
PROGRESS_Unregister (); PROGRESS_Unregister ();
REBAR_Unregister (); REBAR_Unregister ();
STATUS_Unregister (); STATUS_Unregister ();
SYSLINK_Unregister ();
TAB_Unregister (); TAB_Unregister ();
TOOLBAR_Unregister (); TOOLBAR_Unregister ();
TOOLTIPS_Unregister (); TOOLTIPS_Unregister ();
...@@ -711,6 +715,10 @@ InitCommonControlsEx (LPINITCOMMONCONTROLSEX lpInitCtrls) ...@@ -711,6 +715,10 @@ InitCommonControlsEx (LPINITCOMMONCONTROLSEX lpInitCtrls)
NATIVEFONT_Register (); NATIVEFONT_Register ();
break; break;
case ICC_LINK_CLASS:
SYSLINK_Register ();
break;
default: default:
FIXME("Unknown class! dwICC=0x%lX\n", dwMask); FIXME("Unknown class! dwICC=0x%lX\n", dwMask);
break; break;
......
...@@ -4505,6 +4505,67 @@ INT WINAPI DPA_Search(HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT); ...@@ -4505,6 +4505,67 @@ INT WINAPI DPA_Search(HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT);
BOOL WINAPI Str_SetPtrW (LPWSTR *, LPCWSTR); BOOL WINAPI Str_SetPtrW (LPWSTR *, LPCWSTR);
/**************************************************************************
* SysLink control
*/
#if defined(__GNUC__)
# define WC_LINK (const WCHAR []){ 'S','y','s','L','i','n','k',0 }
#elif defined(_MSC_VER)
# define WC_LINK L"SysLink"
#else
static const WCHAR WC_LINK[] = { 'S','y','s','L','i','n','k',0 };
#endif
/* SysLink messages */
#define LM_HITTEST (WM_USER + 768)
#define LM_GETIDEALHEIGHT (WM_USER + 769)
#define LM_SETITEM (WM_USER + 770)
#define LM_GETITEM (WM_USER + 771)
/* SysLink links flags */
#define LIF_ITEMINDEX 1
#define LIF_STATE 2
#define LIF_ITEMID 4
#define LIF_URL 8
/* SysLink links states */
#define LIS_FOCUSED 1
#define LIS_ENABLED 2
#define LIS_VISITED 4
/* SysLink misc. */
#define INVALID_LINK_INDEX (-1)
#define MAX_LINKID_TEXT 48
#define L_MAX_URL_LENGTH 2084
/* SysLink structures */
typedef struct tagLITEM
{
UINT mask;
int iLink;
UINT state;
UINT stateMask;
WCHAR szID[MAX_LINKID_TEXT];
WCHAR szUrl[L_MAX_URL_LENGTH];
} LITEM, *PLITEM;
typedef struct tagLHITTESTINFO
{
POINT pt;
LITEM item;
} LHITTESTINFO, *PLHITTESTINFO;
typedef struct tagNMLINK
{
NMHDR hdr;
LITEM item ;
} NMLINK, *PNMLINK;
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment