From 98cda1864457ccdd75e054c4d205e6112dc7c6e1 Mon Sep 17 00:00:00 2001 From: Steven Edwards Date: Mon, 1 Dec 2003 22:45:30 +0000 Subject: [PATCH] Split the Win16/32 color dialog by duplicating two internal functions. --- dlls/commdlg/colordlg.c | 93 +++---------- dlls/commdlg/colordlg.h | 11 +- dlls/commdlg/colordlg16.c | 266 +++++++++++++++++++++++++++++++++++++- 3 files changed, 290 insertions(+), 80 deletions(-) diff --git a/dlls/commdlg/colordlg.c b/dlls/commdlg/colordlg.c index 1db25b25b3e..d8c3a1ef258 100644 --- a/dlls/commdlg/colordlg.c +++ b/dlls/commdlg/colordlg.c @@ -69,7 +69,7 @@ static const COLORREF predefcolors[6][8]= /*********************************************************************** * CC_HSLtoRGB [internal] */ -static int CC_HSLtoRGB(char c, int hue, int sat, int lum) +int CC_HSLtoRGB(char c, int hue, int sat, int lum) { int res = 0, maxrgb; @@ -114,7 +114,7 @@ static int CC_HSLtoRGB(char c, int hue, int sat, int lum) /*********************************************************************** * CC_RGBtoHSL [internal] */ -static int CC_RGBtoHSL(char c, int r, int g, int b) +int CC_RGBtoHSL(char c, int r, int g, int b) { WORD maxi, mini, mmsum, mmdif, result = 0; int iresult = 0; @@ -357,7 +357,7 @@ int CC_MouseCheckResultWindow( HWND hDlg, LPARAM lParam ) /*********************************************************************** * CC_CheckDigitsInEdit [internal] */ -static int CC_CheckDigitsInEdit( HWND hwnd, int maxval ) +int CC_CheckDigitsInEdit( HWND hwnd, int maxval ) { int i, k, m, result, value; long editpos; @@ -399,7 +399,7 @@ static int CC_CheckDigitsInEdit( HWND hwnd, int maxval ) /*********************************************************************** * CC_PaintSelectedColor [internal] */ -static void CC_PaintSelectedColor( HWND hDlg, COLORREF cr ) +void CC_PaintSelectedColor( HWND hDlg, COLORREF cr ) { RECT rect; HDC hdc; @@ -430,7 +430,7 @@ static void CC_PaintSelectedColor( HWND hDlg, COLORREF cr ) /*********************************************************************** * CC_PaintTriangle [internal] */ -static void CC_PaintTriangle( HWND hDlg, int y) +void CC_PaintTriangle( HWND hDlg, int y) { HDC hDC; long temp; @@ -473,7 +473,7 @@ static void CC_PaintTriangle( HWND hDlg, int y) /*********************************************************************** * CC_PaintCross [internal] */ -static void CC_PaintCross( HWND hDlg, int x, int y) +void CC_PaintCross( HWND hDlg, int x, int y) { HDC hDC; int w = GetDialogBaseUnits(); @@ -623,7 +623,7 @@ static void CC_PaintLumBar( HWND hDlg, int hue, int sat ) /*********************************************************************** * CC_EditSetRGB [internal] */ -static void CC_EditSetRGB( HWND hDlg, COLORREF cr ) +void CC_EditSetRGB( HWND hDlg, COLORREF cr ) { char buffer[10]; LCCPRIV lpp = (LCCPRIV)GetWindowLongA(hDlg, DWL_USER); @@ -646,7 +646,7 @@ static void CC_EditSetRGB( HWND hDlg, COLORREF cr ) /*********************************************************************** * CC_EditSetHSL [internal] */ -static void CC_EditSetHSL( HWND hDlg, int h, int s, int l ) +void CC_EditSetHSL( HWND hDlg, int h, int s, int l ) { char buffer[10]; LCCPRIV lpp = (LCCPRIV)GetWindowLongA(hDlg, DWL_USER); @@ -668,7 +668,7 @@ static void CC_EditSetHSL( HWND hDlg, int h, int s, int l ) /*********************************************************************** * CC_SwitchToFullSize [internal] */ -static void CC_SwitchToFullSize( HWND hDlg, COLORREF result, LPRECT lprect ) +void CC_SwitchToFullSize( HWND hDlg, COLORREF result, LPRECT lprect ) { int i; LCCPRIV lpp = (LCCPRIV)GetWindowLongA(hDlg, DWL_USER); @@ -742,7 +742,7 @@ static void CC_PaintPredefColorArray( HWND hDlg, int rows, int cols) * CC_PaintUserColorArray [internal] * Paint the 16 user-selected colors */ -static void CC_PaintUserColorArray( HWND hDlg, int rows, int cols, COLORREF* lpcr ) +void CC_PaintUserColorArray( HWND hDlg, int rows, int cols, COLORREF* lpcr ) { HWND hwnd = GetDlgItem(hDlg, 0x2d1); RECT rect; @@ -801,7 +801,7 @@ BOOL CC_HookCallChk( LPCHOOSECOLORW lpcc ) /*********************************************************************** * CC_WMInitDialog [internal] */ -LONG CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam, BOOL b16 ) +LONG CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam ) { int i, res; int r, g, b; @@ -812,37 +812,15 @@ LONG CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam, BOOL b16 ) TRACE("WM_INITDIALOG lParam=%08lX\n", lParam); lpp = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(struct CCPRIVATE) ); - if (b16) + + lpp->lpcc = (LPCHOOSECOLORW) lParam; + if (lpp->lpcc->lStructSize != sizeof(CHOOSECOLORW) ) { - CHOOSECOLORW *ch32; - CHOOSECOLOR16 *ch16 = (CHOOSECOLOR16 *) lParam; - if (ch16->lStructSize != sizeof(CHOOSECOLOR16) ) - { - HeapFree(GetProcessHeap(), 0, lpp); - EndDialog (hDlg, 0) ; - return FALSE; - } - ch32 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(CHOOSECOLORW) ); - lpp->lpcc = ch32; - lpp->lpcc16 = ch16; - ch32->lStructSize = sizeof(CHOOSECOLORW); - ch32->hwndOwner = HWND_32(ch16->hwndOwner); - /* Should be an HINSTANCE but MS made a typo */ - ch32->hInstance = HWND_32(ch16->hInstance); - ch32->lpCustColors = MapSL(ch16->lpCustColors); - ch32->lpfnHook = (LPCCHOOKPROC) ch16->lpfnHook; /* only used as flag */ - ch32->Flags = ch16->Flags; - } - else - { - lpp->lpcc = (LPCHOOSECOLORW) lParam; - if (lpp->lpcc->lStructSize != sizeof(CHOOSECOLORW) ) - { - HeapFree(GetProcessHeap(), 0, lpp); - EndDialog (hDlg, 0) ; - return FALSE; - } + HeapFree(GetProcessHeap(), 0, lpp); + EndDialog (hDlg, 0) ; + return FALSE; } + SetWindowLongA(hDlg, DWL_USER, (LONG)lpp); if (!(lpp->lpcc->Flags & CC_SHOWHELP)) @@ -900,10 +878,6 @@ LONG CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam, BOOL b16 ) SendMessageA( GetDlgItem(hDlg, i), EM_LIMITTEXT, 3, 0); /* max 3 digits: xyz */ if (CC_HookCallChk(lpp->lpcc)) { - if (b16) - res = CallWindowProc16( (WNDPROC16)lpp->lpcc16->lpfnHook, - HWND_16(hDlg), WM_INITDIALOG, wParam, lParam); - else res = CallWindowProcA( (WNDPROC)lpp->lpcc->lpfnHook, hDlg, WM_INITDIALOG, wParam, lParam); } @@ -1034,45 +1008,18 @@ LRESULT CC_WMCommand( HWND hDlg, WPARAM wParam, LPARAM lParam, WORD notifyCode, case 0x40e: /* Help! */ /* The Beatles, 1965 ;-) */ i = RegisterWindowMessageA(HELPMSGSTRINGA); - if (lpp->lpcc16) - { - if (lpp->lpcc->hwndOwner) - SendMessageA(lpp->lpcc->hwndOwner, i, 0, (LPARAM)lpp->lpcc16); - if ( CC_HookCallChk(lpp->lpcc)) - CallWindowProc16( (WNDPROC16) lpp->lpcc16->lpfnHook, - HWND_16(hDlg), WM_COMMAND, psh15, - (LPARAM)lpp->lpcc16); - } - else - { if (lpp->lpcc->hwndOwner) SendMessageA(lpp->lpcc->hwndOwner, i, 0, (LPARAM)lpp->lpcc); if ( CC_HookCallChk(lpp->lpcc)) CallWindowProcA( (WNDPROC) lpp->lpcc->lpfnHook, hDlg, WM_COMMAND, psh15, (LPARAM)lpp->lpcc); - } break; case IDOK : cokmsg = RegisterWindowMessageA(COLOROKSTRINGA); - if (lpp->lpcc16) - { - if (lpp->lpcc->hwndOwner) - if (SendMessageA(lpp->lpcc->hwndOwner, cokmsg, 0, (LPARAM)lpp->lpcc16)) - break; /* do NOT close */ - } - else - { if (lpp->lpcc->hwndOwner) if (SendMessageA(lpp->lpcc->hwndOwner, cokmsg, 0, (LPARAM)lpp->lpcc)) - break; /* do NOT close */ - } - if (lpp->lpcc16) - { - BYTE *ptr = MapSL(lpp->lpcc16->lpCustColors); - memcpy(ptr, lpp->lpcc->lpCustColors, sizeof(COLORREF)*16); - lpp->lpcc16->rgbResult = lpp->lpcc->rgbResult; - } + break; /* do NOT close */ EndDialog(hDlg, 1) ; return TRUE ; @@ -1245,7 +1192,7 @@ static INT_PTR CALLBACK ColorDlgProc( HWND hDlg, UINT message, switch (message) { case WM_INITDIALOG: - return CC_WMInitDialog(hDlg, wParam, lParam, FALSE); + return CC_WMInitDialog(hDlg, wParam, lParam); case WM_NCDESTROY: DeleteDC(lpp->hdcMem); DeleteObject(lpp->hbmMem); diff --git a/dlls/commdlg/colordlg.h b/dlls/commdlg/colordlg.h index cddf509433b..7f8e5ed23e8 100644 --- a/dlls/commdlg/colordlg.h +++ b/dlls/commdlg/colordlg.h @@ -71,12 +71,21 @@ typedef struct CCPRIVATE BOOL CC_HookCallChk( LPCHOOSECOLORW lpcc ); int CC_MouseCheckResultWindow( HWND hDlg, LPARAM lParam ); -LONG CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam, BOOL b16 ); LRESULT CC_WMLButtonDown( HWND hDlg, WPARAM wParam, LPARAM lParam ); LRESULT CC_WMLButtonUp( HWND hDlg, WPARAM wParam, LPARAM lParam ); LRESULT CC_WMCommand( HWND hDlg, WPARAM wParam, LPARAM lParam, WORD notifyCode, HWND hwndCtl ); LRESULT CC_WMMouseMove( HWND hDlg, LPARAM lParam ); LRESULT CC_WMPaint( HWND hDlg, WPARAM wParam, LPARAM lParam ); +void CC_SwitchToFullSize( HWND hDlg, COLORREF result, LPRECT lprect ); +void CC_PaintSelectedColor( HWND hDlg, COLORREF cr ); +int CC_RGBtoHSL(char c, int r, int g, int b); +void CC_PaintCross( HWND hDlg, int x, int y); +void CC_PaintTriangle( HWND hDlg, int y); +int CC_CheckDigitsInEdit( HWND hwnd, int maxval ); +void CC_EditSetHSL( HWND hDlg, int h, int s, int l ); +int CC_HSLtoRGB(char c, int hue, int sat, int lum); +void CC_EditSetRGB( HWND hDlg, COLORREF cr ); +void CC_PaintUserColorArray( HWND hDlg, int rows, int cols, COLORREF* lpcr ); #endif /* _WINE_COLORDLG_H */ diff --git a/dlls/commdlg/colordlg16.c b/dlls/commdlg/colordlg16.c index 5ff7929cdd1..ac8bdb08952 100644 --- a/dlls/commdlg/colordlg16.c +++ b/dlls/commdlg/colordlg16.c @@ -38,11 +38,267 @@ #include "dlgs.h" #include "wine/debug.h" #include "cderr.h" +#include "cdlg.h" +#include "colordlg.h" WINE_DEFAULT_DEBUG_CHANNEL(commdlg); -#include "cdlg.h" -#include "colordlg.h" +/*********************************************************************** + * CC_WMInitDialog16 [internal] + */ +LONG CC_WMInitDialog16( HWND hDlg, WPARAM wParam, LPARAM lParam ) +{ + int i, res; + int r, g, b; + HWND hwnd; + RECT rect; + POINT point; + LCCPRIV lpp; + CHOOSECOLORW *ch32; + CHOOSECOLOR16 *ch16 = (CHOOSECOLOR16 *) lParam; + + TRACE("WM_INITDIALOG lParam=%08lX\n", lParam); + lpp = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(struct CCPRIVATE) ); + + if (ch16->lStructSize != sizeof(CHOOSECOLOR16) ) + { + HeapFree(GetProcessHeap(), 0, lpp); + EndDialog (hDlg, 0) ; + return FALSE; + } + ch32 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(CHOOSECOLORW) ); + lpp->lpcc = ch32; + lpp->lpcc16 = ch16; + ch32->lStructSize = sizeof(CHOOSECOLORW); + ch32->hwndOwner = HWND_32(ch16->hwndOwner); + /* Should be an HINSTANCE but MS made a typo */ + ch32->hInstance = HWND_32(ch16->hInstance); + ch32->lpCustColors = MapSL(ch16->lpCustColors); + ch32->lpfnHook = (LPCCHOOKPROC) ch16->lpfnHook; /* only used as flag */ + ch32->Flags = ch16->Flags; + + SetWindowLongA(hDlg, DWL_USER, (LONG)lpp); + + if (!(lpp->lpcc->Flags & CC_SHOWHELP)) + ShowWindow( GetDlgItem(hDlg,0x40e), SW_HIDE); + lpp->msetrgb = RegisterWindowMessageA(SETRGBSTRINGA); + +#if 0 + cpos = MAKELONG(5,7); /* init */ + if (lpp->lpcc->Flags & CC_RGBINIT) + { + for (i = 0; i < 6; i++) + for (j = 0; j < 8; j++) + if (predefcolors[i][j] == lpp->lpcc->rgbResult) + { + cpos = MAKELONG(i,j); + goto found; + } + } + found: + /* FIXME: Draw_a_focus_rect & set_init_values */ +#endif + + GetWindowRect(hDlg, &lpp->fullsize); + if (lpp->lpcc->Flags & CC_FULLOPEN || lpp->lpcc->Flags & CC_PREVENTFULLOPEN) + { + hwnd = GetDlgItem(hDlg, 0x2cf); + EnableWindow(hwnd, FALSE); + } + if (!(lpp->lpcc->Flags & CC_FULLOPEN ) || lpp->lpcc->Flags & CC_PREVENTFULLOPEN) + { + rect = lpp->fullsize; + res = rect.bottom - rect.top; + hwnd = GetDlgItem(hDlg, 0x2c6); /* cut at left border */ + point.x = point.y = 0; + ClientToScreen(hwnd, &point); + ScreenToClient(hDlg,&point); + GetClientRect(hDlg, &rect); + point.x += GetSystemMetrics(SM_CXDLGFRAME); + SetWindowPos(hDlg, 0, 0, 0, point.x, res, SWP_NOMOVE|SWP_NOZORDER); + + for (i = 0x2bf; i < 0x2c5; i++) + ShowWindow( GetDlgItem(hDlg, i), SW_HIDE); + for (i = 0x2d3; i < 0x2d9; i++) + ShowWindow( GetDlgItem(hDlg, i), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c9), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c8), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c6), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 0x2c5), SW_HIDE); + ShowWindow( GetDlgItem(hDlg, 1090 ), SW_HIDE); + } + else + CC_SwitchToFullSize(hDlg, lpp->lpcc->rgbResult, NULL); + res = TRUE; + for (i = 0x2bf; i < 0x2c5; i++) + SendMessageA( GetDlgItem(hDlg, i), EM_LIMITTEXT, 3, 0); /* max 3 digits: xyz */ + if (CC_HookCallChk(lpp->lpcc)) + { + res = CallWindowProc16( (WNDPROC16)lpp->lpcc16->lpfnHook, + HWND_16(hDlg), WM_INITDIALOG, wParam, lParam); + } + + /* Set the initial values of the color chooser dialog */ + r = GetRValue(lpp->lpcc->rgbResult); + g = GetGValue(lpp->lpcc->rgbResult); + b = GetBValue(lpp->lpcc->rgbResult); + + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + lpp->h = CC_RGBtoHSL('H', r, g, b); + lpp->s = CC_RGBtoHSL('S', r, g, b); + lpp->l = CC_RGBtoHSL('L', r, g, b); + + /* Doing it the long way because CC_EditSetRGB/HSL doesn't seem to work */ + SetDlgItemInt(hDlg, 703, lpp->h, TRUE); + SetDlgItemInt(hDlg, 704, lpp->s, TRUE); + SetDlgItemInt(hDlg, 705, lpp->l, TRUE); + SetDlgItemInt(hDlg, 706, r, TRUE); + SetDlgItemInt(hDlg, 707, g, TRUE); + SetDlgItemInt(hDlg, 708, b, TRUE); + + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); + + return res; +} + +/*********************************************************************** + * CC_WMCommand16 [internal] + */ +LRESULT CC_WMCommand16( HWND hDlg, WPARAM wParam, LPARAM lParam, WORD notifyCode, HWND hwndCtl ) +{ + int r, g, b, i, xx; + UINT cokmsg; + HDC hdc; + COLORREF *cr; + LCCPRIV lpp = (LCCPRIV)GetWindowLongA(hDlg, DWL_USER); + TRACE("CC_WMCommand wParam=%x lParam=%lx\n", wParam, lParam); + switch (wParam) + { + case 0x2c2: /* edit notify RGB */ + case 0x2c3: + case 0x2c4: + if (notifyCode == EN_UPDATE && !lpp->updating) + { + i = CC_CheckDigitsInEdit(hwndCtl, 255); + r = GetRValue(lpp->lpcc->rgbResult); + g = GetGValue(lpp->lpcc->rgbResult); + b= GetBValue(lpp->lpcc->rgbResult); + xx = 0; + switch (wParam) + { + case 0x2c2: if ((xx = (i != r))) r = i; break; + case 0x2c3: if ((xx = (i != g))) g = i; break; + case 0x2c4: if ((xx = (i != b))) b = i; break; + } + if (xx) /* something has changed */ + { + lpp->lpcc->rgbResult = RGB(r, g, b); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + lpp->h = CC_RGBtoHSL('H', r, g, b); + lpp->s = CC_RGBtoHSL('S', r, g, b); + lpp->l = CC_RGBtoHSL('L', r, g, b); + CC_EditSetHSL(hDlg, lpp->h, lpp->s, lpp->l); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); + } + } + break; + + case 0x2bf: /* edit notify HSL */ + case 0x2c0: + case 0x2c1: + if (notifyCode == EN_UPDATE && !lpp->updating) + { + i = CC_CheckDigitsInEdit(hwndCtl , wParam == 0x2bf ? 239:240); + xx = 0; + switch (wParam) + { + case 0x2bf: if ((xx = ( i != lpp->h))) lpp->h = i; break; + case 0x2c0: if ((xx = ( i != lpp->s))) lpp->s = i; break; + case 0x2c1: if ((xx = ( i != lpp->l))) lpp->l = i; break; + } + if (xx) /* something has changed */ + { + r = CC_HSLtoRGB('R', lpp->h, lpp->s, lpp->l); + g = CC_HSLtoRGB('G', lpp->h, lpp->s, lpp->l); + b = CC_HSLtoRGB('B', lpp->h, lpp->s, lpp->l); + lpp->lpcc->rgbResult = RGB(r, g, b); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + CC_EditSetRGB(hDlg, lpp->lpcc->rgbResult); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); + } + } + break; + + case 0x2cf: + CC_SwitchToFullSize(hDlg, lpp->lpcc->rgbResult, &lpp->fullsize); + SetFocus( GetDlgItem(hDlg, 0x2bf)); + break; + + case 0x2c8: /* add colors ... column by column */ + cr = lpp->lpcc->lpCustColors; + cr[(lpp->nextuserdef % 2) * 8 + lpp->nextuserdef / 2] = lpp->lpcc->rgbResult; + if (++lpp->nextuserdef == 16) + lpp->nextuserdef = 0; + CC_PaintUserColorArray(hDlg, 2, 8, lpp->lpcc->lpCustColors); + break; + + case 0x2c9: /* resulting color */ + hdc = GetDC(hDlg); + lpp->lpcc->rgbResult = GetNearestColor(hdc, lpp->lpcc->rgbResult); + ReleaseDC(hDlg, hdc); + CC_EditSetRGB(hDlg, lpp->lpcc->rgbResult); + CC_PaintSelectedColor(hDlg, lpp->lpcc->rgbResult); + r = GetRValue(lpp->lpcc->rgbResult); + g = GetGValue(lpp->lpcc->rgbResult); + b = GetBValue(lpp->lpcc->rgbResult); + lpp->h = CC_RGBtoHSL('H', r, g, b); + lpp->s = CC_RGBtoHSL('S', r, g, b); + lpp->l = CC_RGBtoHSL('L', r, g, b); + CC_EditSetHSL(hDlg, lpp->h, lpp->s, lpp->l); + CC_PaintCross(hDlg, lpp->h, lpp->s); + CC_PaintTriangle(hDlg, lpp->l); + break; + + case 0x40e: /* Help! */ /* The Beatles, 1965 ;-) */ + i = RegisterWindowMessageA(HELPMSGSTRINGA); + if (lpp->lpcc16) + { + if (lpp->lpcc->hwndOwner) + SendMessageA(lpp->lpcc->hwndOwner, i, 0, (LPARAM)lpp->lpcc16); + if ( CC_HookCallChk(lpp->lpcc)) + CallWindowProc16( (WNDPROC16) lpp->lpcc16->lpfnHook, + HWND_16(hDlg), WM_COMMAND, psh15, + (LPARAM)lpp->lpcc16); + } + break; + + case IDOK : + cokmsg = RegisterWindowMessageA(COLOROKSTRINGA); + if (lpp->lpcc16) + { + if (lpp->lpcc->hwndOwner) + if (SendMessageA(lpp->lpcc->hwndOwner, cokmsg, 0, (LPARAM)lpp->lpcc16)) + break; /* do NOT close */ + } + if (lpp->lpcc16) + { + BYTE *ptr = MapSL(lpp->lpcc16->lpCustColors); + memcpy(ptr, lpp->lpcc->lpCustColors, sizeof(COLORREF)*16); + lpp->lpcc16->rgbResult = lpp->lpcc->rgbResult; + } + EndDialog(hDlg, 1) ; + return TRUE ; + + case IDCANCEL : + EndDialog(hDlg, 0) ; + return TRUE ; + + } + return FALSE; +} /*********************************************************************** * ColorDlgProc (COMMDLG.8) @@ -73,7 +329,7 @@ BOOL16 CALLBACK ColorDlgProc16( HWND16 hDlg16, UINT16 message, switch (message) { case WM_INITDIALOG: - return CC_WMInitDialog(hDlg, wParam, lParam, TRUE); + return CC_WMInitDialog16(hDlg, wParam, lParam); case WM_NCDESTROY: DeleteDC(lpp->hdcMem); DeleteObject(lpp->hbmMem); @@ -82,7 +338,7 @@ BOOL16 CALLBACK ColorDlgProc16( HWND16 hDlg16, UINT16 message, SetWindowLongA(hDlg, DWL_USER, 0L); /* we don't need it anymore */ break; case WM_COMMAND: - if (CC_WMCommand(hDlg, wParam, lParam, + if (CC_WMCommand16(hDlg, wParam, lParam, HIWORD(lParam), HWND_32(LOWORD(lParam)))) return TRUE; break; @@ -110,8 +366,6 @@ BOOL16 CALLBACK ColorDlgProc16( HWND16 hDlg16, UINT16 message, return FALSE ; } - - /*********************************************************************** * ChooseColor (COMMDLG.5) */