mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
partial fix for for Bug #42: activate Ansi window procedures for standard controls
svn path=/trunk/; revision=6581
This commit is contained in:
parent
9c02db5a95
commit
adb5c12b85
11 changed files with 147 additions and 50 deletions
|
@ -1,3 +1,17 @@
|
|||
2003-11-08 Martin Fuchs <martin-fuchs@gmx.net>
|
||||
|
||||
* controls/button.c partial fix for for Bug #42:
|
||||
activate Ansi window procedures for standard controls
|
||||
* controls/combo.c Ditto.
|
||||
* controls/edit.c Ditto.
|
||||
* controls/icontitle.c Ditto.
|
||||
* controls/listbox.c Ditto.
|
||||
* controls/static.c Ditto.
|
||||
* windows/dialog.c Ditto.
|
||||
* windows/mdi.c Ditto.
|
||||
* windows/menu.c Ditto.
|
||||
* windows/defwnd.c Fixed WM_GETTEXT error handling in DefWindowProcW().
|
||||
|
||||
2003-10-06 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||
|
||||
* Makefile: New target uboot for simple unattended setup.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: regcontrol.h,v 1.5 2003/08/15 15:55:02 weiden Exp $
|
||||
/* $Id: regcontrol.h,v 1.6 2003/11/08 15:39:13 mf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS User32
|
||||
|
@ -23,6 +23,7 @@ struct builtin_class_descr
|
|||
LPCWSTR name; /* class name */
|
||||
UINT style; /* class style */
|
||||
WNDPROC procW; /* Unicode window procedure */
|
||||
WNDPROC procA; /* Ansi window procedure */
|
||||
INT extra; /* window extra bytes */
|
||||
LPCWSTR cursor; /* cursor name */
|
||||
HBRUSH brush; /* brush or system color */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: button.c,v 1.12 2003/10/06 17:53:55 navaraf Exp $
|
||||
/* $Id: button.c,v 1.13 2003/11/08 15:35:58 mf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS User32
|
||||
|
@ -36,7 +36,7 @@ static void GB_Paint( HWND hwnd, HDC hDC, UINT action );
|
|||
static void UB_Paint( HWND hwnd, HDC hDC, UINT action );
|
||||
static void OB_Paint( HWND hwnd, HDC hDC, UINT action );
|
||||
static void BUTTON_CheckAutoRadioButton( HWND hwnd );
|
||||
// static LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
#define MAX_BTN_TYPE 12
|
||||
|
@ -86,6 +86,7 @@ const struct builtin_class_descr BUTTON_builtin_class =
|
|||
L"Button", /* name */
|
||||
CS_GLOBALCLASS | CS_DBLCLKS | CS_VREDRAW | CS_HREDRAW | CS_PARENTDC, /* style */
|
||||
(WNDPROC) ButtonWndProcW, /* procW */
|
||||
(WNDPROC) ButtonWndProcA, /* procA */
|
||||
NB_EXTRA_BYTES, /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */
|
||||
0 /* brush */
|
||||
|
@ -459,9 +460,7 @@ static LRESULT WINAPI ButtonWndProc_common(HWND hWnd, UINT uMsg,
|
|||
|
||||
/***********************************************************************
|
||||
* ButtonWndProcW
|
||||
* The button window procedure. This is just a wrapper which locks
|
||||
* the passed HWND and calls the real window procedure (with a WND*
|
||||
* pointer pointing to the locked windowstructure).
|
||||
* The button window procedure.
|
||||
*/
|
||||
static LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
|
@ -470,7 +469,6 @@ static LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
|||
}
|
||||
|
||||
|
||||
#if 0
|
||||
/***********************************************************************
|
||||
* ButtonWndProcA
|
||||
*/
|
||||
|
@ -479,7 +477,6 @@ static LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
|||
if (!IsWindow( hWnd )) return 0;
|
||||
return ButtonWndProc_common( hWnd, uMsg, wParam, lParam, FALSE );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
|
@ -593,9 +590,10 @@ static UINT BUTTON_CalcLabelRect(HWND hwnd, HDC hdc, RECT *rc)
|
|||
r.bottom = r.top + bm.bmHeight;
|
||||
break;
|
||||
|
||||
default:
|
||||
empty_rect:
|
||||
DbgPrint("[button] EMPTY RECT!\n");
|
||||
|
||||
default: /* BS_OWNERDRAW, ... */
|
||||
r.right = r.left;
|
||||
r.bottom = r.top;
|
||||
return (UINT)(LONG)-1;
|
||||
|
|
|
@ -74,7 +74,7 @@ static UINT CBitHeight, CBitWidth;
|
|||
#define COMBO_EDITBUTTONSPACE() ( 0 )
|
||||
#define EDIT_CONTROL_PADDING() ( 1 )
|
||||
|
||||
// static LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ComboWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
/*********************************************************************
|
||||
|
@ -85,6 +85,7 @@ const struct builtin_class_descr COMBO_builtin_class =
|
|||
L"ComboBox", /* name */
|
||||
CS_GLOBALCLASS | CS_PARENTDC | CS_DBLCLKS, /* style */
|
||||
(WNDPROC) ComboWndProcW, /* procW */
|
||||
(WNDPROC) ComboWndProcA, /* procA */
|
||||
sizeof(HEADCOMBO *), /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */
|
||||
0 /* brush */
|
||||
|
@ -2181,19 +2182,14 @@ static LRESULT ComboWndProc_common( HWND hwnd, UINT message,
|
|||
DefWindowProcA(hwnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
#if 0
|
||||
/***********************************************************************
|
||||
* ComboWndProcA
|
||||
*
|
||||
* This is just a wrapper for the real ComboWndProc which locks/unlocks
|
||||
* window structs.
|
||||
*/
|
||||
static LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
if (!IsWindow(hwnd)) return 0;
|
||||
return ComboWndProc_common( hwnd, message, wParam, lParam, FALSE );
|
||||
}
|
||||
#endif
|
||||
|
||||
/***********************************************************************
|
||||
* ComboWndProcW
|
||||
|
|
|
@ -306,6 +306,7 @@ const struct builtin_class_descr EDIT_builtin_class =
|
|||
/*TODO: Fix ExtTextOut so that we can have the CS_PARENTDC style*/
|
||||
/*CS_GLOBALCLASS | CS_DBLCLKS | CS_PARENTDC,*/ /* style */
|
||||
(WNDPROC) EditWndProcW, /* procW */
|
||||
(WNDPROC) EditWndProcA, /* procA */
|
||||
sizeof(EDITSTATE *), /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */ /* FIXME Wine uses IDC_ARROWA */
|
||||
0 /* brush */
|
||||
|
|
|
@ -35,7 +35,8 @@
|
|||
static BOOL bMultiLineTitle;
|
||||
static HFONT hIconTitleFont;
|
||||
|
||||
static LRESULT CALLBACK IconTitleWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT CALLBACK IconTitleWndProcW( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT CALLBACK IconTitleWndProcA( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
/*********************************************************************
|
||||
* icon title class descriptor
|
||||
|
@ -44,7 +45,8 @@ const struct builtin_class_descr ICONTITLE_builtin_class =
|
|||
{
|
||||
L"ICONTITLE_CLASS_ATOM", /* name */
|
||||
CS_GLOBALCLASS, /* style */
|
||||
(WNDPROC) IconTitleWndProc, /* procW */
|
||||
(WNDPROC) IconTitleWndProcW, /* procW */
|
||||
(WNDPROC) IconTitleWndProcA, /* procA */
|
||||
0, /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */ /* FIXME Wine uses IDC_ARROWA */
|
||||
0 /* brush */
|
||||
|
@ -192,8 +194,8 @@ static BOOL ICONTITLE_Paint( HWND hwnd, HWND owner, HDC hDC, BOOL bActive )
|
|||
/***********************************************************************
|
||||
* IconTitleWndProc
|
||||
*/
|
||||
LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg,
|
||||
WPARAM wParam, LPARAM lParam )
|
||||
LRESULT WINAPI IconTitleWndProc_common( HWND hWnd, UINT msg,
|
||||
WPARAM wParam, LPARAM lParam, BOOL unicode )
|
||||
{
|
||||
HWND owner = GetWindow( hWnd, GW_OWNER );
|
||||
|
||||
|
@ -214,7 +216,8 @@ LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg,
|
|||
return HTCAPTION;
|
||||
case WM_NCMOUSEMOVE:
|
||||
case WM_NCLBUTTONDBLCLK:
|
||||
return SendMessageW( owner, msg, wParam, lParam );
|
||||
return unicode ? SendMessageW(owner, msg, wParam, lParam) :
|
||||
SendMessageA(owner, msg, wParam, lParam);
|
||||
case WM_ACTIVATE:
|
||||
if( wParam ) SetActiveWindow( owner );
|
||||
return 0;
|
||||
|
@ -232,5 +235,25 @@ LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg,
|
|||
ValidateRect( hWnd, NULL );
|
||||
return 1;
|
||||
}
|
||||
return DefWindowProcW( hWnd, msg, wParam, lParam );
|
||||
|
||||
return unicode ? DefWindowProcW(hWnd, msg, wParam, lParam) :
|
||||
DefWindowProcA(hWnd, msg, wParam, lParam);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* IconTitleWndProcW (USER32.@)
|
||||
*/
|
||||
LRESULT CALLBACK IconTitleWndProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
return IconTitleWndProc_common(hWnd, uMsg, wParam, lParam, TRUE);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* IconTitleWndProc (USER32.@)
|
||||
*/
|
||||
LRESULT CALLBACK IconTitleWndProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
return IconTitleWndProc_common(hWnd, uMsg, wParam, lParam, FALSE);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: listbox.c,v 1.12 2003/10/04 22:36:36 weiden Exp $
|
||||
/* $Id: listbox.c,v 1.13 2003/11/08 15:35:58 mf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS User32
|
||||
|
@ -155,7 +155,7 @@ typedef enum
|
|||
|
||||
static TIMER_DIRECTION LISTBOX_Timer = LB_TIMER_NONE;
|
||||
|
||||
//static LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ComboLBWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ListBoxWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT WINAPI ListBoxWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
|
@ -170,6 +170,7 @@ const struct builtin_class_descr LISTBOX_builtin_class =
|
|||
L"ListBox", /* name */
|
||||
CS_GLOBALCLASS | CS_DBLCLKS /*| CS_PARENTDC*/, /* style */
|
||||
(WNDPROC)ListBoxWndProcW, /* procW */
|
||||
(WNDPROC)ListBoxWndProcA, /* procA */
|
||||
sizeof(LB_DESCR *), /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */
|
||||
0 /* brush */
|
||||
|
@ -184,6 +185,7 @@ const struct builtin_class_descr COMBOLBOX_builtin_class =
|
|||
L"ComboLBox", /* name */
|
||||
CS_GLOBALCLASS | CS_DBLCLKS | CS_SAVEBITS, /* style */
|
||||
(WNDPROC)ComboLBWndProcW, /* procW */
|
||||
(WNDPROC)ComboLBWndProcA, /* procA */
|
||||
sizeof(LB_DESCR *), /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */
|
||||
0 /* brush */
|
||||
|
@ -2967,9 +2969,6 @@ static LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg,
|
|||
|
||||
/***********************************************************************
|
||||
* ListBoxWndProcA
|
||||
*
|
||||
* This is just a wrapper for the real wndproc, it only does window locking
|
||||
* and unlocking.
|
||||
*/
|
||||
static LRESULT WINAPI ListBoxWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
|
@ -3140,11 +3139,11 @@ static LRESULT WINAPI ComboLBWndProc_common( HWND hwnd, UINT msg,
|
|||
* NOTE: in Windows, winproc address of the ComboLBox is the same
|
||||
* as that of the Listbox.
|
||||
*/
|
||||
//LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
|
||||
//{
|
||||
// if (!IsWindow(hwnd)) return 0;
|
||||
// return ComboLBWndProc_common( hwnd, msg, wParam, lParam, FALSE );
|
||||
//}
|
||||
LRESULT WINAPI ComboLBWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
if (!IsWindow(hwnd)) return 0;
|
||||
return ComboLBWndProc_common( hwnd, msg, wParam, lParam, FALSE );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* ComboLBWndProcW
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: static.c,v 1.9 2003/11/07 21:02:41 navaraf Exp $
|
||||
/* $Id: static.c,v 1.10 2003/11/08 15:35:58 mf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS User32
|
||||
|
@ -18,7 +18,7 @@ static void STATIC_PaintRectfn( HWND hwnd, HDC hdc, DWORD style );
|
|||
static void STATIC_PaintIconfn( HWND hwnd, HDC hdc, DWORD style );
|
||||
static void STATIC_PaintBitmapfn( HWND hwnd, HDC hdc, DWORD style );
|
||||
static void STATIC_PaintEtchedfn( HWND hwnd, HDC hdc, DWORD style );
|
||||
//static LRESULT CALLBACK StaticWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT CALLBACK StaticWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
static LRESULT CALLBACK StaticWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
static COLORREF color_black, color_gray, color_white;
|
||||
|
@ -62,6 +62,7 @@ const struct builtin_class_descr STATIC_builtin_class =
|
|||
L"Static", /* name */
|
||||
CS_GLOBALCLASS | CS_DBLCLKS, /* style */
|
||||
(WNDPROC) StaticWndProcW, /* procW */
|
||||
(WNDPROC) StaticWndProcA, /* procA */
|
||||
STATIC_EXTRA_BYTES, /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */ /* FIXME Wine uses IDC_ARROWA */
|
||||
0 /* brush */
|
||||
|
@ -155,6 +156,19 @@ static HICON STATIC_LoadIconW( HWND hwnd, LPCWSTR name )
|
|||
return hicon;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* STATIC_LoadIconA
|
||||
*
|
||||
* Load the icon for an SS_ICON control.
|
||||
*/
|
||||
static HICON STATIC_LoadIconA( HWND hwnd, LPCSTR name )
|
||||
{
|
||||
HINSTANCE hInstance = (HINSTANCE)GetWindowLongA( hwnd, GWL_HINSTANCE );
|
||||
HICON hicon = LoadIconA( hInstance, name );
|
||||
if (!hicon) hicon = LoadIconA( 0, name );
|
||||
return hicon;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* STATIC_LoadBitmapW
|
||||
*
|
||||
|
@ -169,6 +183,20 @@ static HBITMAP STATIC_LoadBitmapW( HWND hwnd, LPCWSTR name )
|
|||
return hbitmap;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* STATIC_LoadBitmapA
|
||||
*
|
||||
* Load the bitmap for an SS_BITMAP control.
|
||||
*/
|
||||
static HBITMAP STATIC_LoadBitmapA( HWND hwnd, LPCSTR name )
|
||||
{
|
||||
HINSTANCE hInstance = (HINSTANCE)GetWindowLongA( hwnd, GWL_HINSTANCE );
|
||||
HBITMAP hbitmap = LoadBitmapA( hInstance, name );
|
||||
if (!hbitmap) /* Try OEM icon (FIXME: is this right?) */
|
||||
hbitmap = LoadBitmapA( 0, name );
|
||||
return hbitmap;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* STATIC_TryPaintFcn
|
||||
*
|
||||
|
@ -190,9 +218,9 @@ static VOID STATIC_TryPaintFcn(HWND hwnd, LONG full_style)
|
|||
}
|
||||
|
||||
/***********************************************************************
|
||||
* StaticWndProcW
|
||||
* StaticWndProc_common
|
||||
*/
|
||||
static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
|
||||
static LRESULT CALLBACK StaticWndProc_common( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL unicode )
|
||||
{
|
||||
LRESULT lResult = 0;
|
||||
LONG full_style = GetWindowLongA( hwnd, GWL_STYLE );
|
||||
|
@ -225,7 +253,9 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA
|
|||
*/
|
||||
break;
|
||||
}
|
||||
else return DefWindowProcW(hwnd, uMsg, wParam, lParam);
|
||||
else
|
||||
return unicode ? DefWindowProcW(hwnd, uMsg, wParam, lParam) :
|
||||
DefWindowProcA(hwnd, uMsg, wParam, lParam);
|
||||
|
||||
case WM_PAINT:
|
||||
{
|
||||
|
@ -260,7 +290,10 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA
|
|||
case SS_ICON:
|
||||
{
|
||||
HICON hIcon;
|
||||
hIcon = STATIC_LoadIconW(hwnd, (LPCWSTR)lParam);
|
||||
if (unicode)
|
||||
hIcon = STATIC_LoadIconW(hwnd, (LPCWSTR)lParam);
|
||||
else
|
||||
hIcon = STATIC_LoadIconA(hwnd, (LPCSTR)lParam);
|
||||
/* FIXME : should we also return the previous hIcon here ??? */
|
||||
STATIC_SetIcon(hwnd, hIcon, style);
|
||||
break;
|
||||
|
@ -268,7 +301,10 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA
|
|||
case SS_BITMAP:
|
||||
{
|
||||
HBITMAP hBitmap;
|
||||
hBitmap = STATIC_LoadBitmapW(hwnd, (LPCWSTR)lParam);
|
||||
if (unicode)
|
||||
hBitmap = STATIC_LoadBitmapW(hwnd, (LPCWSTR)lParam);
|
||||
else
|
||||
hBitmap = STATIC_LoadBitmapA(hwnd, (LPCSTR)lParam);
|
||||
STATIC_SetBitmap(hwnd, hBitmap, style);
|
||||
break;
|
||||
}
|
||||
|
@ -280,7 +316,8 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA
|
|||
{
|
||||
if (HIWORD(lParam))
|
||||
{
|
||||
lResult = DefWindowProcW( hwnd, WM_SETTEXT, wParam, lParam );
|
||||
lResult = unicode? DefWindowProcW(hwnd, WM_SETTEXT, wParam, lParam) :
|
||||
DefWindowProcA(hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
if (uMsg == WM_SETTEXT)
|
||||
STATIC_TryPaintFcn( hwnd, full_style );
|
||||
|
@ -317,14 +354,22 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA
|
|||
|
||||
case WM_LBUTTONDOWN:
|
||||
if (! (full_style & SS_NOTIFY)) return 0;
|
||||
SendMessageW(GetParent(hwnd), WM_COMMAND,
|
||||
MAKEWPARAM((WORD) GetWindowLongW(hwnd, GWL_ID), STN_CLICKED), (LPARAM) hwnd);
|
||||
if (unicode)
|
||||
SendMessageW(GetParent(hwnd), WM_COMMAND,
|
||||
MAKEWPARAM((WORD) GetWindowLongW(hwnd, GWL_ID), STN_CLICKED), (LPARAM) hwnd);
|
||||
else
|
||||
SendMessageA(GetParent(hwnd), WM_COMMAND,
|
||||
MAKEWPARAM((WORD) GetWindowLongA(hwnd, GWL_ID), STN_CLICKED), (LPARAM) hwnd);
|
||||
return 0;
|
||||
|
||||
case WM_LBUTTONDBLCLK:
|
||||
if (! (full_style & SS_NOTIFY)) return 0;
|
||||
SendMessageW(GetParent(hwnd), WM_COMMAND,
|
||||
if (unicode)
|
||||
SendMessageW(GetParent(hwnd), WM_COMMAND,
|
||||
MAKEWPARAM((WORD) GetWindowLongW(hwnd, GWL_ID), STN_DBLCLK), (LPARAM) hwnd);
|
||||
else
|
||||
SendMessageA(GetParent(hwnd), WM_COMMAND,
|
||||
MAKEWPARAM((WORD) GetWindowLongA(hwnd, GWL_ID), STN_DBLCLK), (LPARAM) hwnd);
|
||||
return 0;
|
||||
|
||||
case STM_GETIMAGE:
|
||||
|
@ -352,11 +397,32 @@ static LRESULT CALLBACK StaticWndProcW( HWND hwnd, UINT uMsg, WPARAM wParam, LPA
|
|||
break;
|
||||
|
||||
default:
|
||||
return DefWindowProcW(hwnd, uMsg, wParam, lParam);
|
||||
return unicode ? DefWindowProcW(hwnd, uMsg, wParam, lParam) :
|
||||
DefWindowProcA(hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
return lResult;
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* StaticWndProcW (USER32.@)
|
||||
*/
|
||||
LRESULT CALLBACK StaticWndProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
return StaticWndProc_common(hWnd, uMsg, wParam, lParam, TRUE);
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
* StaticWndProc (USER32.@)
|
||||
*/
|
||||
LRESULT CALLBACK StaticWndProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
return StaticWndProc_common(hWnd, uMsg, wParam, lParam, FALSE);
|
||||
}
|
||||
|
||||
static void STATIC_PaintOwnerDrawfn( HWND hwnd, HDC hdc, DWORD style )
|
||||
{
|
||||
DRAWITEMSTRUCT dis;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: dialog.c,v 1.20 2003/10/31 16:25:08 navaraf Exp $
|
||||
/* $Id: dialog.c,v 1.21 2003/11/08 15:35:58 mf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/dialog.c
|
||||
|
@ -125,6 +125,7 @@ const struct builtin_class_descr DIALOG_builtin_class =
|
|||
DIALOG_CLASS_ATOMW, /* name */
|
||||
CS_GLOBALCLASS | CS_SAVEBITS | CS_DBLCLKS, /* style */
|
||||
(WNDPROC) DefDlgProcW, /* procW */
|
||||
(WNDPROC) DefDlgProcA, /* procA */
|
||||
DWL_INIT + sizeof(LONG), /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */
|
||||
0 /* brush */
|
||||
|
|
|
@ -153,9 +153,7 @@ static LONG MDI_ChildActivate( HWND, HWND );
|
|||
|
||||
static HWND MDI_MoreWindowsDialog(HWND);
|
||||
static void MDI_SwapMenuItems(HWND, UINT, UINT);
|
||||
#ifndef __REACTOS__
|
||||
static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
|
||||
#endif
|
||||
static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
#ifdef __REACTOS__
|
||||
|
@ -223,14 +221,15 @@ const struct builtin_class_descr MDICLIENT_builtin_class =
|
|||
L"MDIClient", /* name */
|
||||
CS_GLOBALCLASS, /* style */
|
||||
MDIClientWndProcW, /* procW */
|
||||
MDIClientWndProcA, /* procA */
|
||||
sizeof(MDICLIENTINFO), /* extra */
|
||||
IDC_ARROW, /* cursor */
|
||||
(HBRUSH)(COLOR_APPWORKSPACE+1) /* brush */
|
||||
#else
|
||||
"MDIClient", /* name */
|
||||
CS_GLOBALCLASS, /* style */
|
||||
MDIClientWndProcA, /* procA */
|
||||
MDIClientWndProcW, /* procW */
|
||||
MDIClientWndProcA, /* procA */
|
||||
sizeof(MDICLIENTINFO), /* extra */
|
||||
IDC_ARROW, /* cursor */
|
||||
(HBRUSH)(COLOR_APPWORKSPACE+1) /* brush */
|
||||
|
@ -1533,7 +1532,6 @@ static LRESULT MDIClientWndProc_common( HWND hwnd, UINT message,
|
|||
DefWindowProcA( hwnd, message, wParam, lParam );
|
||||
}
|
||||
|
||||
#ifndef __REACTOS__
|
||||
/***********************************************************************
|
||||
* MDIClientWndProcA
|
||||
*/
|
||||
|
@ -1542,7 +1540,6 @@ static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam,
|
|||
if (!IsWindow(hwnd)) return 0;
|
||||
return MDIClientWndProc_common( hwnd, message, wParam, lParam, FALSE );
|
||||
}
|
||||
#endif
|
||||
|
||||
/***********************************************************************
|
||||
* MDIClientWndProcW
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: menu.c,v 1.34 2003/10/25 22:57:34 navaraf Exp $
|
||||
/* $Id: menu.c,v 1.35 2003/11/08 15:35:58 mf Exp $
|
||||
*
|
||||
* PROJECT: ReactOS user32.dll
|
||||
* FILE: lib/user32/windows/menu.c
|
||||
|
@ -72,6 +72,7 @@ const struct builtin_class_descr POPUPMENU_builtin_class =
|
|||
POPUPMENU_CLASS_ATOMW, /* name */
|
||||
CS_GLOBALCLASS | CS_SAVEBITS | CS_DBLCLKS, /* style */
|
||||
(WNDPROC) NULL, /* FIXME - procW */
|
||||
(WNDPROC) NULL, /* FIXME - procA */
|
||||
sizeof(MENUINFO *), /* extra */
|
||||
(LPCWSTR) IDC_ARROW, /* cursor */
|
||||
(HBRUSH)COLOR_MENU /* brush */
|
||||
|
|
Loading…
Reference in a new issue