code is based on wine.
svn path=/trunk/; revision=1120
if ( wnd && COMBO_Init() &&
(lphc = HeapAlloc(GetProcessHeap(), 0, sizeof(HEADCOMBO))) )
{
- LPCREATESTRUCTA lpcs = (CREATESTRUCTA*)lParam;
+ LPCREATESTRUCT lpcs = (CREATESTRUCT*)lParam;
memset( lphc, 0, sizeof(HEADCOMBO) );
*(LPHEADCOMBO*)wnd->wExtra = lphc;
static void EDIT_WM_Command(WND *wnd, EDITSTATE *es, INT code, INT id, HWND conrtol);
static void EDIT_WM_ContextMenu(WND *wnd, EDITSTATE *es, HWND hwnd, INT x, INT y);
static void EDIT_WM_Copy(WND *wnd, EDITSTATE *es);
-static LRESULT EDIT_WM_Create(WND *wnd, EDITSTATE *es, LPCREATESTRUCTA cs);
+static LRESULT EDIT_WM_Create(WND *wnd, EDITSTATE *es, LPCREATESTRUCT cs);
static void EDIT_WM_Destroy(WND *wnd, EDITSTATE *es);
static LRESULT EDIT_WM_EraseBkGnd(WND *wnd, EDITSTATE *es, HDC dc);
static INT EDIT_WM_GetText(WND *wnd, EDITSTATE *es, INT count, LPSTR text);
static LRESULT EDIT_WM_LButtonDown(WND *wnd, EDITSTATE *es, DWORD keys, INT x, INT y);
static LRESULT EDIT_WM_LButtonUp(WND *wnd, EDITSTATE *es, DWORD keys, INT x, INT y);
static LRESULT EDIT_WM_MouseMove(WND *wnd, EDITSTATE *es, DWORD keys, INT x, INT y);
-static LRESULT EDIT_WM_NCCreate(WND *wnd, LPCREATESTRUCTA cs);
+static LRESULT EDIT_WM_NCCreate(WND *wnd, LPCREATESTRUCT cs);
static void EDIT_WM_Paint(WND *wnd, EDITSTATE *es);
static void EDIT_WM_Paste(WND *wnd, EDITSTATE *es);
static void EDIT_WM_SetFocus(WND *wnd, EDITSTATE *es, HWND window_losing_focus);
case WM_NCCREATE:
DPRINTF_EDIT_MSG("WM_NCCREATE");
- return EDIT_WM_NCCreate(wnd, (LPCREATESTRUCTA)lParam);
+ return EDIT_WM_NCCreate(wnd, (LPCREATESTRUCT)lParam);
}
if (!es)
case WM_CREATE:
DPRINTF_EDIT_MSG("WM_CREATE");
- result = EDIT_WM_Create(wnd, es, (LPCREATESTRUCTA)lParam);
+ result = EDIT_WM_Create(wnd, es, (LPCREATESTRUCT)lParam);
break;
case WM_CUT:
* WM_CREATE
*
*/
-static LRESULT EDIT_WM_Create(WND *wnd, EDITSTATE *es, LPCREATESTRUCTA cs)
+static LRESULT EDIT_WM_Create(WND *wnd, EDITSTATE *es, LPCREATESTRUCT cs)
{
/*
* To initialize some final structure members, we call some helper
* WM_NCCREATE
*
*/
-static LRESULT EDIT_WM_NCCreate(WND *wnd, LPCREATESTRUCTA cs)
+static LRESULT EDIT_WM_NCCreate(WND *wnd, LPCREATESTRUCT cs)
{
EDITSTATE *es;
switch( msg )
{
case WM_CREATE:
-#define lpcs ((LPCREATESTRUCTA)lParam)
+#define lpcs ((LPCREATESTRUCT)lParam)
DPRINT( "\tpassed parent handle = 0x%08x\n",
(UINT)lpcs->lpCreateParams);
{
case WM_CREATE:
{
- CREATESTRUCTA *lpCreat = (CREATESTRUCTA *)lParam;
+ CREATESTRUCT *lpCreat = (CREATESTRUCT *)lParam;
if (lpCreat->style & SBS_SIZEBOX)
{
DPRINT( "FIXME Unimplemented style SBS_SIZEBOX.\n" );
DPRINT("Creating desktop window\n");
-#if 0
- if (!ICONTITLE_Init() ||
- !WINPOS_CreateInternalPosAtom() ||
- !(class = CLASS_FindClassByAtom( STRING2ATOM(DESKTOP_CLASS_NAME) , 0 )))
+
+
+ class = CLASS_FindClassByAtom( STRING2ATOMW(DESKTOP_CLASS_NAME) , 0 );
+ if ( class == NULL )
return FALSE;
-#else
- WINPOS_CreateInternalPosAtom();
- class = CLASS_FindClassByAtom( STRING2ATOMW(DESKTOP_CLASS_NAME) , 0 );
-#endif
+
hwndDesktop = HeapAlloc(GetProcessHeap(),0, sizeof(WND)+class->cbWndExtra );
if (!hwndDesktop) return FALSE;
pWndDesktop = (WND *) ( hwndDesktop );
pWndDesktop->dwStyle = WS_VISIBLE | WS_CLIPCHILDREN |
WS_CLIPSIBLINGS;
pWndDesktop->dwExStyle = 0;
- pWndDesktop->dce = NULL;
+ pWndDesktop->dce = DCE_AllocDCE(pWndDesktop,DCE_WINDOW_DC);
pWndDesktop->pVScroll = NULL;
pWndDesktop->pHScroll = NULL;
pWndDesktop->pProp = NULL;
HANDLE WIN_CreateWindowEx( CREATESTRUCT *cs, ATOM classAtom)
{
- HANDLE hWnd;
+
WND *wndPtr;
STARTUPINFO StartupInfo;
CLASS *classPtr = NULL;
wndPtr->class = classPtr;
wndPtr->hwndSelf = wndPtr;
- hWnd = wndPtr->hwndSelf;
+
/* Fill the window structure */
}
else
{
- wndPtr->parent = pWndDesktop;
- if (!cs->hwndParent || (cs->hwndParent == pWndDesktop->hwndSelf))
+ wndPtr->parent = WIN_GetDesktop();
+ if (!cs->hwndParent || (cs->hwndParent == WIN_GetDesktop()->hwndSelf))
wndPtr->owner = NULL;
else
{
/*
else
{
- wndPtr->parent = pWndDesktop;
- if (!cs->hWndParent || (cs->hWndParent == pWndDesktop->hwndSelf))
+ wndPtr->parent = WIN_GetDesktop();
+ if (!cs->hWndParent || (cs->hWndParent == WIN_GetDesktop()->hwndSelf))
wndPtr->owner = NULL;
else
wndPtr->owner = WIN_GetTopParentPtr(WIN_FindWndPtr(cs->hWndParent));
wndPtr->winproc = classPtr->winproc;
wndPtr->dwMagic = WND_MAGIC;
- //wndPtr->hwndSelf = hWnd;
+
wndPtr->hInstance = cs->hInstance;
wndPtr->text = NULL;
wndPtr->hmemTaskQ = GetFastQueue();
wndPtr->pProp = NULL;
wndPtr->userdata = 0;
wndPtr->hSysMenu = (wndPtr->dwStyle & WS_SYSMENU)
- ? MENU_GetSysMenu( hWnd, 0 ) : 0;
+ ? MENU_GetSysMenu( wndPtr->hwndSelf, 0 ) : 0;
if (classPtr->cbWndExtra)
HEAP_memset( wndPtr->wExtra, 0, classPtr->cbWndExtra);
cbtc.lpcs = cs;
cbtc.hwndInsertAfter = hWndLinkAfter;
- ret = HOOK_CallHooks(WH_CBT, HCBT_CREATEWND, (INT)hWnd, (LPARAM)&cbtc, classPtr->bUnicode);
+ ret = HOOK_CallHooks(WH_CBT, HCBT_CREATEWND, (INT)wndPtr->hwndSelf, (LPARAM)&cbtc, classPtr->bUnicode);
if (ret)
{
if ((wndPtr->dwStyle & (WS_CAPTION | WS_CHILD)) == WS_CAPTION )
{
if (cs->hMenu)
- SetMenu(hWnd, cs->hMenu);
+ SetMenu(wndPtr->hwndSelf, cs->hMenu);
else
{
if (classPtr->menuName) {
/* Insert the window in the linked list */
- WIN_LinkWindow( hWnd, hWndLinkAfter );
+ WIN_LinkWindow( wndPtr->hwndSelf, hWndLinkAfter );
- WINPOS_SendNCCalcSize( hWnd, FALSE, &wndPtr->rectWindow,
+ WINPOS_SendNCCalcSize( wndPtr->hwndSelf, FALSE, &wndPtr->rectWindow,
NULL, NULL, 0, &wndPtr->rectClient );
OffsetRect(&wndPtr->rectWindow, maxPos.x - wndPtr->rectWindow.left,
maxPos.y - wndPtr->rectWindow.top);
if( (MSG_SendMessage( wndPtr, WM_CREATE, 0, (LPARAM)cs)) == -1 )
{
- WIN_UnlinkWindow( hWnd );
+ WIN_UnlinkWindow( wndPtr->hwndSelf );
WIN_DestroyWindow( wndPtr );
return NULL;
}
swFlag = ((wndPtr->dwStyle & WS_CHILD) || GetActiveWindow())
? SWP_NOACTIVATE | SWP_NOZORDER | SWP_FRAMECHANGED
: SWP_NOZORDER | SWP_FRAMECHANGED;
- SetWindowPos( hWnd, 0, newPos.left, newPos.top,
+ SetWindowPos( wndPtr->hwndSelf, 0, newPos.left, newPos.top,
newPos.right, newPos.bottom, swFlag );
}
/* Notify the parent window only */
MSG_SendMessage( wndPtr->parent, WM_PARENTNOTIFY,
- MAKEWPARAM(WM_CREATE, wndPtr->wIDmenu), (LPARAM)hWnd );
- if( !IsWindow(hWnd) ) return 0;
+ MAKEWPARAM(WM_CREATE, wndPtr->wIDmenu), (LPARAM)wndPtr->hwndSelf );
+ if( !IsWindow(wndPtr->hwndSelf) ) return 0;
}
if (cs->style & WS_VISIBLE)
- ShowWindow( hWnd, SW_SHOW );
+ ShowWindow( wndPtr->hwndSelf, SW_SHOW );
/* Call WH_SHELL hook */
if (!(wndPtr->dwStyle & WS_CHILD) && !wndPtr->owner)
- HOOK_CallHooks( WH_SHELL, HSHELL_WINDOWCREATED, (INT)hWnd, 0L, classPtr->bUnicode);
+ HOOK_CallHooks( WH_SHELL, HSHELL_WINDOWCREATED, (INT)wndPtr->hwndSelf, 0L, classPtr->bUnicode);
- return hWnd;
+ return wndPtr->hwndSelf;
}
HWND WIN_FindWinToRepaint( HWND hwnd, HQUEUE hQueue )
{
HWND hwndRet;
- WND *pWnd = pWndDesktop;
+ WND *pWnd = WIN_GetDesktop();
/* Note: the desktop window never gets WM_PAINT messages
* The real reason why is because Windows DesktopWndProc
* does ValidateRgn inside WM_ERASEBKGND handler.
*/
- pWnd = hwnd ? WIN_FindWndPtr( hwnd ) : pWndDesktop->child;
+ pWnd = hwnd ? WIN_FindWndPtr( hwnd ) : WIN_GetDesktop()->child;
for ( ; pWnd ; pWnd = pWnd->next )
{
WINBOOL WINPOS_CreateInternalPosAtom()
{
LPSTR str = "SysIP";
- atomInternalPos = (LPCSTR)(DWORD)GlobalAddAtomA(str);
+atomInternalPos ="SysIP";
+ // atomInternalPos = (LPCSTR)(DWORD)GlobalAddAtomA(str);
+ //if ( atomInternalPos == NULL )
+// atomInternalPos = (LPCSTR)(DWORD)GlobalFindAtom(str);
return (atomInternalPos) ? TRUE : FALSE;
}
case DLL_PROCESS_ATTACH:
//WinStation = CreateWindowStationA(NULL,0,GENERIC_ALL,NULL);
//Desktop = CreateDesktopA(NULL,NULL,NULL,0,0,NULL);
+ WINPOS_CreateInternalPosAtom();
+ SYSCOLOR_Init();
+ WIDGETS_Init();
+ ICONTITLE_Init();
+ DIALOG_Init();
+ COMBO_Init();
+ MENU_Init();
break;
case DLL_THREAD_ATTACH:
break;
{
-
+ WINPOS_CreateInternalPosAtom();
SYSCOLOR_Init();
WIDGETS_Init();
+ ICONTITLE_Init();
DIALOG_Init();
COMBO_Init();
MENU_Init();
//#include <user32/heapdup.h>
-#define MDICREATESTRUCTA MDICREATESTRUCT
-#define MDICREATESTRUCTW MDICREATESTRUCT
+#define MDICREATESTRUCT MDICREATESTRUCT
+#define MDICREATESTRUCT MDICREATESTRUCT
/**********************************************************************
{
case WM_NCCREATE:
{
- CREATESTRUCTA *cs = (CREATESTRUCTA *)lParam;
+ CREATESTRUCT *cs = (CREATESTRUCT *)lParam;
if (cs->lpszName) DEFWND_SetTextA( wndPtr, cs->lpszName );
result = 1;
}
{
case WM_NCCREATE:
{
- CREATESTRUCTW *cs = (CREATESTRUCTW *)lParam;
+ CREATESTRUCT *cs = (CREATESTRUCT *)lParam;
if (cs->lpszName) DEFWND_SetTextW( wndPtr, cs->lpszName );
result = 1;
}
case WM_NCCREATE:
case WM_CREATE:
{
- CREATESTRUCTW *cs = (CREATESTRUCTW *)HeapAlloc( GetProcessHeap(), 0,
+ CREATESTRUCT *cs = (CREATESTRUCT *)HeapAlloc( GetProcessHeap(), 0,
sizeof(*cs) );
if (!cs) return -1;
- *cs = *(CREATESTRUCTW *)*plparam;
+ *cs = *(CREATESTRUCT *)*plparam;
if (HIWORD(cs->lpszName))
cs->lpszName = HEAP_strdupAtoW( GetProcessHeap(), 0,
(LPCSTR)cs->lpszName );
return 1;
case WM_MDICREATE:
{
- MDICREATESTRUCTW *cs = HeapAlloc( GetProcessHeap(), 0, sizeof(MDICREATESTRUCT) );
+ MDICREATESTRUCT *cs = HeapAlloc( GetProcessHeap(), 0, sizeof(MDICREATESTRUCT) );
if (!cs) return -1;
*cs = *(MDICREATESTRUCT *)*plparam;
if (HIWORD(cs->szClass))
case WM_NCCREATE:
case WM_CREATE:
{
- CREATESTRUCTW *cs = (CREATESTRUCTW *)lParam;
+ CREATESTRUCT *cs = (CREATESTRUCT *)lParam;
if (HIWORD(cs->lpszName))
HeapFree( GetProcessHeap(), 0, (LPVOID)cs->lpszName );
if (HIWORD(cs->lpszClass))
case WM_MDICREATE:
{
- MDICREATESTRUCTW *cs = (MDICREATESTRUCTW *)lParam;
+ MDICREATESTRUCT *cs = (MDICREATESTRUCT *)lParam;
if (HIWORD(cs->szTitle))
HeapFree( GetProcessHeap(), 0, (LPVOID)cs->szTitle );
if (HIWORD(cs->szClass))
case WM_NCCREATE:
case WM_CREATE:
{
- CREATESTRUCTA *cs = (CREATESTRUCTA *)HeapAlloc( GetProcessHeap(), 0,
+ CREATESTRUCT *cs = (CREATESTRUCT *)HeapAlloc( GetProcessHeap(), 0,
sizeof(*cs) );
if (!cs) return -1;
- *cs = *(CREATESTRUCTA *)*plparam;
+ *cs = *(CREATESTRUCT *)*plparam;
if (HIWORD(cs->lpszName))
cs->lpszName = HEAP_strdupWtoA( GetProcessHeap(), 0,
(LPCWSTR)cs->lpszName );
return 1;
case WM_MDICREATE:
{
- MDICREATESTRUCTA *cs =
- (MDICREATESTRUCTA *)HeapAlloc( GetProcessHeap(), 0, sizeof(*cs) );
+ MDICREATESTRUCT *cs =
+ (MDICREATESTRUCT *)HeapAlloc( GetProcessHeap(), 0, sizeof(*cs) );
if (!cs) return -1;
- *cs = *(MDICREATESTRUCTA *)*plparam;
+ *cs = *(MDICREATESTRUCT *)*plparam;
if (HIWORD(cs->szTitle))
cs->szTitle = HEAP_strdupWtoA( GetProcessHeap(), 0,
(LPCWSTR)cs->szTitle );
case WM_NCCREATE:
case WM_CREATE:
{
- CREATESTRUCTA *cs = (CREATESTRUCTA *)lParam;
+ CREATESTRUCT *cs = (CREATESTRUCT *)lParam;
if (HIWORD(cs->lpszName))
HeapFree( GetProcessHeap(), 0, (LPVOID)cs->lpszName );
if (HIWORD(cs->lpszClass))
case WM_MDICREATE:
{
- MDICREATESTRUCTA *cs = (MDICREATESTRUCTA *)lParam;
+ MDICREATESTRUCT *cs = (MDICREATESTRUCT *)lParam;
if (HIWORD(cs->szTitle))
HeapFree( GetProcessHeap(), 0, (LPVOID)cs->szTitle );
if (HIWORD(cs->szClass))