[COMCTL32]: Copy button.c from user32, make the needed changes to make it compile and register it. This is the beginning of the v6 button. Remove the subclassing of the builtin button.

svn path=/trunk/; revision=73871
This commit is contained in:
Giannis Adamopoulos 2017-02-21 21:03:04 +00:00
parent 79111c35e6
commit 0f1de17bcc
5 changed files with 1409 additions and 7 deletions

View file

@ -12,6 +12,7 @@ spec2def(comctl32.dll comctl32.spec ADD_IMPORTLIB)
list(APPEND SOURCE
animate.c
button.c
comboex.c
comctl32undoc.c
commctrl.c

File diff suppressed because it is too large Load diff

View file

@ -159,7 +159,8 @@ extern void TREEVIEW_Register(void) DECLSPEC_HIDDEN;
extern void TREEVIEW_Unregister(void) DECLSPEC_HIDDEN;
extern void UPDOWN_Register(void) DECLSPEC_HIDDEN;
extern void UPDOWN_Unregister(void) DECLSPEC_HIDDEN;
extern void BUTTON_Register();
extern void BUTTON_Unregister();
int MONTHCAL_MonthLength(int month, int year) DECLSPEC_HIDDEN;
int MONTHCAL_CalculateDayOfWeek(SYSTEMTIME *date, BOOL inplace) DECLSPEC_HIDDEN;

View file

@ -274,6 +274,7 @@ static void InitializeClasses()
{
activated = ActivateActCtx(hActCtx6, &ulCookie);
RegisterControls(); /* Register the classes pretending to be v6 */
BUTTON_Register();
if (activated) DeactivateActCtx(0, ulCookie);
/* Initialize the themed controls only when the v6 manifest is present */
@ -298,6 +299,7 @@ static void UninitializeClasses()
activated = ActivateActCtx(hActCtx6, &ulCookie);
THEMING_Uninitialize();
UnregisterControls();
BUTTON_Unregister();
if (activated) DeactivateActCtx(0, ulCookie);
}
}

View file

@ -26,8 +26,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(theming);
typedef LRESULT (CALLBACK* THEMING_SUBCLASSPROC)(HWND, UINT, WPARAM, LPARAM,
ULONG_PTR);
extern LRESULT CALLBACK THEMING_ButtonSubclassProc (HWND, UINT, WPARAM, LPARAM,
ULONG_PTR) DECLSPEC_HIDDEN;
extern LRESULT CALLBACK THEMING_ComboSubclassProc (HWND, UINT, WPARAM, LPARAM,
ULONG_PTR) DECLSPEC_HIDDEN;
extern LRESULT CALLBACK THEMING_EditSubclassProc (HWND, UINT, WPARAM, LPARAM,
@ -46,7 +44,6 @@ static const struct ThemingSubclass
THEMING_SUBCLASSPROC subclassProc;
} subclasses[] = {
/* Note: list must be sorted by class name */
{WC_BUTTONW, THEMING_ButtonSubclassProc},
{WC_COMBOBOXW, THEMING_ComboSubclassProc},
{comboLboxClass, THEMING_ListBoxSubclassProc},
{WC_EDITW, THEMING_EditSubclassProc},
@ -86,15 +83,13 @@ MAKE_SUBCLASS_PROC(1)
MAKE_SUBCLASS_PROC(2)
MAKE_SUBCLASS_PROC(3)
MAKE_SUBCLASS_PROC(4)
MAKE_SUBCLASS_PROC(5)
static const WNDPROC subclassProcs[NUM_SUBCLASSES] = {
subclass_proc0,
subclass_proc1,
subclass_proc2,
subclass_proc3,
subclass_proc4,
subclass_proc5
subclass_proc4
};
/***********************************************************************