Commit 662f727a authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

comctl32: Introduce Edit control.

parent 486bec2d
EXTRADEFS = -D_COMCTL32_
MODULE = comctl32.dll
IMPORTLIB = comctl32
IMPORTS = uuid user32 gdi32 advapi32
IMPORTS = uuid user32 gdi32 advapi32 usp10 imm32
DELAYIMPORTS = winmm uxtheme
C_SRCS = \
......@@ -13,6 +13,7 @@ C_SRCS = \
dpa.c \
draglist.c \
dsa.c \
edit.c \
flatsb.c \
header.c \
hotkey.c \
......
......@@ -179,6 +179,7 @@ extern void COMBOEX_Register(void) DECLSPEC_HIDDEN;
extern void COMBOEX_Unregister(void) DECLSPEC_HIDDEN;
extern void DATETIME_Register(void) DECLSPEC_HIDDEN;
extern void DATETIME_Unregister(void) DECLSPEC_HIDDEN;
extern void EDIT_Register(void) DECLSPEC_HIDDEN;
extern void FLATSB_Register(void) DECLSPEC_HIDDEN;
extern void FLATSB_Unregister(void) DECLSPEC_HIDDEN;
extern void HEADER_Register(void) DECLSPEC_HIDDEN;
......
......@@ -93,6 +93,20 @@ static const WCHAR strCC32SubclassInfo[] = {
'C','C','3','2','S','u','b','c','l','a','s','s','I','n','f','o',0
};
static void unregister_versioned_classes(void)
{
#define VERSION "6.0.2600.2982!"
static const char *classes[] =
{
VERSION WC_EDITA,
};
int i;
for (i = 0; i < sizeof(classes)/sizeof(classes[0]); i++)
UnregisterClassA(classes[i], NULL);
#undef VERSION
}
/***********************************************************************
* DllMain [Internal]
......@@ -153,6 +167,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
TREEVIEW_Register ();
UPDOWN_Register ();
EDIT_Register ();
/* subclass user32 controls */
THEMING_Initialize ();
break;
......@@ -185,6 +201,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
TREEVIEW_Unregister ();
UPDOWN_Unregister ();
unregister_versioned_classes ();
/* delete local pattern brush */
DeleteObject (COMCTL32_hPattern55AABrush);
DeleteObject (COMCTL32_hPattern55AABitmap);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2755,7 +2755,6 @@ static void test_EM_GETHANDLE(void)
buffer = LocalLock(hmem);
ok(buffer != NULL, "got %p (expected != NULL)\n", buffer);
len = lstrlenW(buffer);
todo_wine
ok(len == lstrlenW(str1W) && !lstrcmpW(buffer, str1W), "Unexpected buffer contents %s, length %d.\n",
wine_dbgstr_w(buffer), len);
LocalUnlock(hmem);
......@@ -2780,7 +2779,6 @@ todo_wine
lstrcpyA(current, str0);
r = SendMessageA(hEdit, WM_GETTEXT, sizeof(current), (LPARAM)current);
todo_wine
ok(r == lstrlenA(str1_1) && !lstrcmpA(current, str1_1),
"Unexpected retval %d and text \"%s\" (expected %d and \"%s\")\n", r, current, lstrlenA(str1_1), str1_1);
......@@ -2789,7 +2787,6 @@ todo_wine
ok(r, "Failed to set text.\n");
buffer = LocalLock(hmem);
todo_wine
ok(buffer != NULL && buffer[0] == '1', "Unexpected buffer contents\n");
LocalUnlock(hmem);
......@@ -2797,7 +2794,6 @@ todo_wine
ok(r, "Failed to replace selection.\n");
buffer = LocalLock(hmem);
todo_wine
ok(buffer != NULL && buffer[0] == '2', "Unexpected buffer contents\n");
LocalUnlock(hmem);
......@@ -2819,12 +2815,10 @@ todo_wine
SendMessageA(hEdit, EM_SETHANDLE, (WPARAM)halloc, 0);
len = SendMessageA(hEdit, WM_GETTEXTLENGTH, 0, 0);
todo_wine
ok(len == lstrlenA(str2), "got %d (expected %d)\n", len, lstrlenA(str2));
lstrcpyA(current, str0);
r = SendMessageA(hEdit, WM_GETTEXT, sizeof(current), (LPARAM)current);
todo_wine
ok(r == lstrlenA(str2) && !lstrcmpA(current, str2),
"got %d and \"%s\" (expected %d and \"%s\")\n", r, current, lstrlenA(str2), str2);
......@@ -2949,7 +2943,6 @@ static void test_EM_GETLINE(void)
char buff[16];
int r;
todo_wine_if(i == 0)
ok(IsWindowUnicode(hwnd[i]), "Expected unicode window.\n");
SendMessageA(hwnd[i], WM_SETTEXT, 0, (LPARAM)str);
......
......@@ -168,7 +168,6 @@ static BOOL is_builtin_class( const WCHAR *name )
{'B','u','t','t','o','n',0},
{'C','o','m','b','o','B','o','x',0},
{'C','o','m','b','o','L','B','o','x',0},
{'E','d','i','t',0},
{'I','M','E',0},
{'L','i','s','t','B','o','x',0},
{'M','D','I','C','l','i','e','n','t',0},
......
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