http://bugs.winehq.org/show_bug.cgi?id=14350
Summary: SetClassLongW() to subclass window EDIT control Problem Product: Wine Version: 1.0.0 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: user32 AssignedTo: wine-bugs@winehq.org ReportedBy: hongbo@njstar.com CC: hongbo@njstar.com
Created an attachment (id=14649) --> (http://bugs.winehq.org/attachment.cgi?id=14649) MSVC6 MFC test project with exe in debug dir
Summary:
SetClassLongW(hEditWnd, GCL_WNDPROC, (DWORD)EditWndProc) behave different on WINE 1.0 from Windows. Any EDIT window created after will be ANSI window on Windows, but Unicode Windows on Wine.
How To Repeat:
In the attached VC6 MFC ANSI App project, SetClassLongW is called in
------------------------------------------------------------------- static WNDPROC lpfnOldEditWndProc=NULL;
LONG FAR PASCAL EditWndProc(HWND hWnd, WORD Message, WORD wParam, LONG lParam) { return CallWindowProcW((WNDPROC)lpfnOldEditWndProc, hWnd, Message, wParam,lParam); }
int CDialogTestView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1;
HWND hEditWnd1 = CreateWindowEx(0,"EDIT", "E1",WS_POPUP,0, 0, 1, 1,NULL,NULL,NULL,NULL); lpfnOldEditWndProc =(WNDPROC)SetClassLongW(hEditWnd1, GCL_WNDPROC, (DWORD)EditWndProc); // TODO: Add your specialized creation code here
return 0; } -------------------------------------------------------------------
There is a EDIT control on the About dialogbox, when click 'OK' on window the program report the Edit Box is NOT unicode Window. But Under Wine 1.0, It says 'the Edit Box IS unicode Window'.
To Test: run the EXE in debug folder, Help - About DialogTest - click 'OK'.