<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Hi Everyone,<BR>
&nbsp;<BR>
It turns out my previous patch was not right to solve the problem.<BR>
&nbsp;<BR>
After writing a win32 application for debuging the impact of SetClassLongW, <BR>
I found out that something is abnormal in windows.<BR>
&nbsp;<BR>
After&nbsp;a built-in class (which has procA and procW) is&nbsp;subclassed by<BR>
<BR>SetClassLong(Ptr)W(hWnd, GCL_WNDPROC, newProcW);<BR>
&nbsp;<BR>
If you create a window of the same built-in class (such as Edit) using CreateWindow(Ex)A,<BR>
the created window got it's wnd.procA = class.<FONT face="">newProcW. </FONT>The created window is Ansi.<BR>
&nbsp;<BR>
That is right, the newProcW is going to receive Ansi message - [ABNORMAL].<BR>
I have captured the debug screen, here is the screenshot<BR>
<A href="http://www.njstar.com/devimg/SetClassLongW-debug.png">http://www.njstar.com/devimg/SetClassLongW-debug.png</A><BR>
&nbsp;<BR>
Where in Wine, created window is Unicode,&nbsp;with wnd.procW = class.newProcW.<BR>
newProcW will only receive Unicode message.<BR>
&nbsp;<BR>
That is the difference between Window and Wine regarding to subclass&nbsp;built-in control.<BR>
This observation explains exactly what I have seen in my App.<BR>
&nbsp;<BR>
With this knowledge it's now easy to create the patch.<BR>
&nbsp;<BR>
&nbsp;<BR><br /><hr />Bees, cows, tigers and more! <a href='http://livelife.ninemsn.com.au/article.aspx?id=567534' target='_new'>Windows Live Messenger�treats you to 30 free emoticons.�</a></body>
</html>