comdlg32: Use a property for the color dialog's information.
This commit is contained in:
parent
18345170fd
commit
f66c8e3232
|
@ -62,6 +62,9 @@ static const COLORREF predefcolors[6][8]=
|
||||||
0x00808040L, 0x00C0C0C0L, 0x00400040L, 0x00FFFFFFL },
|
0x00808040L, 0x00C0C0C0L, 0x00400040L, 0x00FFFFFFL },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const WCHAR szColourDialogProp[] = {
|
||||||
|
'c','o','l','o','u','r','d','i','a','l','o','g','p','r','o','p',0 };
|
||||||
|
|
||||||
/* Chose Color PRIVATE Structure:
|
/* Chose Color PRIVATE Structure:
|
||||||
*
|
*
|
||||||
* This structure is duplicated in the 16 bit code with
|
* This structure is duplicated in the 16 bit code with
|
||||||
|
@ -461,7 +464,7 @@ void CC_PaintTriangle( HWND hDlg, int y)
|
||||||
int oben;
|
int oben;
|
||||||
RECT rect;
|
RECT rect;
|
||||||
HWND hwnd = GetDlgItem(hDlg, 0x2be);
|
HWND hwnd = GetDlgItem(hDlg, 0x2be);
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW( hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
|
|
||||||
if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6))) /* if full size */
|
if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6))) /* if full size */
|
||||||
{
|
{
|
||||||
|
@ -499,7 +502,7 @@ void CC_PaintCross( HWND hDlg, int x, int y)
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
int w = GetDialogBaseUnits();
|
int w = GetDialogBaseUnits();
|
||||||
HWND hwnd = GetDlgItem(hDlg, 0x2c6);
|
HWND hwnd = GetDlgItem(hDlg, 0x2c6);
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW( hDlg, DWLP_USER );
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
RECT rect;
|
RECT rect;
|
||||||
POINT point, p;
|
POINT point, p;
|
||||||
HPEN hPen;
|
HPEN hPen;
|
||||||
|
@ -544,7 +547,7 @@ static void CC_PrepareColorGraph( HWND hDlg )
|
||||||
{
|
{
|
||||||
int sdif, hdif, xdif, ydif, r, g, b, hue, sat;
|
int sdif, hdif, xdif, ydif, r, g, b, hue, sat;
|
||||||
HWND hwnd = GetDlgItem(hDlg, 0x2c6);
|
HWND hwnd = GetDlgItem(hDlg, 0x2c6);
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
HBRUSH hbrush;
|
HBRUSH hbrush;
|
||||||
HDC hdc ;
|
HDC hdc ;
|
||||||
RECT rect, client;
|
RECT rect, client;
|
||||||
|
@ -587,7 +590,7 @@ static void CC_PrepareColorGraph( HWND hDlg )
|
||||||
static void CC_PaintColorGraph( HWND hDlg )
|
static void CC_PaintColorGraph( HWND hDlg )
|
||||||
{
|
{
|
||||||
HWND hwnd = GetDlgItem( hDlg, 0x2c6 );
|
HWND hwnd = GetDlgItem( hDlg, 0x2c6 );
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
RECT rect;
|
RECT rect;
|
||||||
if (IsWindowVisible(hwnd)) /* if full size */
|
if (IsWindowVisible(hwnd)) /* if full size */
|
||||||
|
@ -647,7 +650,7 @@ static void CC_PaintLumBar( HWND hDlg, int hue, int sat )
|
||||||
void CC_EditSetRGB( HWND hDlg, COLORREF cr )
|
void CC_EditSetRGB( HWND hDlg, COLORREF cr )
|
||||||
{
|
{
|
||||||
char buffer[10];
|
char buffer[10];
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
int r = GetRValue(cr);
|
int r = GetRValue(cr);
|
||||||
int g = GetGValue(cr);
|
int g = GetGValue(cr);
|
||||||
int b = GetBValue(cr);
|
int b = GetBValue(cr);
|
||||||
|
@ -670,7 +673,7 @@ void CC_EditSetRGB( HWND hDlg, COLORREF cr )
|
||||||
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];
|
char buffer[10];
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
|
|
||||||
if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6) )) /* if full size */
|
if (IsWindowVisible( GetDlgItem(hDlg, 0x2c6) )) /* if full size */
|
||||||
{
|
{
|
||||||
|
@ -692,7 +695,7 @@ void CC_EditSetHSL( HWND hDlg, int h, int s, int l )
|
||||||
void CC_SwitchToFullSize( HWND hDlg, COLORREF result, LPRECT lprect )
|
void CC_SwitchToFullSize( HWND hDlg, COLORREF result, LPRECT lprect )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
|
|
||||||
EnableWindow( GetDlgItem(hDlg, 0x2cf), FALSE);
|
EnableWindow( GetDlgItem(hDlg, 0x2cf), FALSE);
|
||||||
CC_PrepareColorGraph(hDlg);
|
CC_PrepareColorGraph(hDlg);
|
||||||
|
@ -728,7 +731,7 @@ static void CC_PaintPredefColorArray( HWND hDlg, int rows, int cols)
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
HBRUSH hBrush;
|
HBRUSH hBrush;
|
||||||
int dx, dy, i, j, k;
|
int dx, dy, i, j, k;
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
|
|
||||||
GetClientRect(hwnd, &rect);
|
GetClientRect(hwnd, &rect);
|
||||||
dx = rect.right / cols;
|
dx = rect.right / cols;
|
||||||
|
@ -770,7 +773,7 @@ void CC_PaintUserColorArray( HWND hDlg, int rows, int cols, COLORREF* lpcr )
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
HBRUSH hBrush;
|
HBRUSH hBrush;
|
||||||
int dx, dy, i, j, k;
|
int dx, dy, i, j, k;
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
|
|
||||||
GetClientRect(hwnd, &rect);
|
GetClientRect(hwnd, &rect);
|
||||||
|
|
||||||
|
@ -842,7 +845,7 @@ static LONG CC_WMInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetWindowLongPtrW(hDlg, DWLP_USER, (LONG_PTR)lpp);
|
SetPropW( hDlg, szColourDialogProp, lpp );
|
||||||
|
|
||||||
if (!(lpp->lpcc->Flags & CC_SHOWHELP))
|
if (!(lpp->lpcc->Flags & CC_SHOWHELP))
|
||||||
ShowWindow( GetDlgItem(hDlg,0x40e), SW_HIDE);
|
ShowWindow( GetDlgItem(hDlg,0x40e), SW_HIDE);
|
||||||
|
@ -936,7 +939,7 @@ LRESULT CC_WMCommand( HWND hDlg, WPARAM wParam, LPARAM lParam, WORD notifyCode,
|
||||||
UINT cokmsg;
|
UINT cokmsg;
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
COLORREF *cr;
|
COLORREF *cr;
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
TRACE("CC_WMCommand wParam=%x lParam=%lx\n", wParam, lParam);
|
TRACE("CC_WMCommand wParam=%x lParam=%lx\n", wParam, lParam);
|
||||||
switch (LOWORD(wParam))
|
switch (LOWORD(wParam))
|
||||||
{
|
{
|
||||||
|
@ -1058,7 +1061,7 @@ LRESULT CC_WMCommand( HWND hDlg, WPARAM wParam, LPARAM lParam, WORD notifyCode,
|
||||||
LRESULT CC_WMPaint( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
LRESULT CC_WMPaint( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
PAINTSTRUCT ps;
|
PAINTSTRUCT ps;
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
|
|
||||||
BeginPaint(hDlg, &ps);
|
BeginPaint(hDlg, &ps);
|
||||||
/* we have to paint dialog children except text and buttons */
|
/* we have to paint dialog children except text and buttons */
|
||||||
|
@ -1079,7 +1082,7 @@ LRESULT CC_WMPaint( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||||
*/
|
*/
|
||||||
LRESULT CC_WMLButtonUp( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
LRESULT CC_WMLButtonUp( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
if (lpp->capturedGraph)
|
if (lpp->capturedGraph)
|
||||||
{
|
{
|
||||||
lpp->capturedGraph = 0;
|
lpp->capturedGraph = 0;
|
||||||
|
@ -1095,7 +1098,7 @@ LRESULT CC_WMLButtonUp( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||||
*/
|
*/
|
||||||
LRESULT CC_WMMouseMove( HWND hDlg, LPARAM lParam )
|
LRESULT CC_WMMouseMove( HWND hDlg, LPARAM lParam )
|
||||||
{
|
{
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
int r, g, b;
|
int r, g, b;
|
||||||
|
|
||||||
if (lpp->capturedGraph)
|
if (lpp->capturedGraph)
|
||||||
|
@ -1133,7 +1136,7 @@ LRESULT CC_WMMouseMove( HWND hDlg, LPARAM lParam )
|
||||||
*/
|
*/
|
||||||
LRESULT CC_WMLButtonDown( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
LRESULT CC_WMLButtonDown( HWND hDlg, WPARAM wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
int r, g, b, i;
|
int r, g, b, i;
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
||||||
|
@ -1192,7 +1195,7 @@ static INT_PTR CALLBACK ColorDlgProc( HWND hDlg, UINT message,
|
||||||
{
|
{
|
||||||
|
|
||||||
int res;
|
int res;
|
||||||
LCCPRIV lpp = (LCCPRIV)GetWindowLongPtrW(hDlg, DWLP_USER);
|
LCCPRIV lpp = (LCCPRIV) GetPropW( hDlg, szColourDialogProp );
|
||||||
if (message != WM_INITDIALOG)
|
if (message != WM_INITDIALOG)
|
||||||
{
|
{
|
||||||
if (!lpp)
|
if (!lpp)
|
||||||
|
@ -1217,7 +1220,7 @@ static INT_PTR CALLBACK ColorDlgProc( HWND hDlg, UINT message,
|
||||||
DeleteDC(lpp->hdcMem);
|
DeleteDC(lpp->hdcMem);
|
||||||
DeleteObject(lpp->hbmMem);
|
DeleteObject(lpp->hbmMem);
|
||||||
HeapFree(GetProcessHeap(), 0, lpp);
|
HeapFree(GetProcessHeap(), 0, lpp);
|
||||||
SetWindowLongPtrW(hDlg, DWLP_USER, 0); /* we don't need it anymore */
|
SetPropW( hDlg, szColourDialogProp, 0 );
|
||||||
break;
|
break;
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
if (CC_WMCommand( hDlg, wParam, lParam, HIWORD(wParam), (HWND) lParam))
|
if (CC_WMCommand( hDlg, wParam, lParam, HIWORD(wParam), (HWND) lParam))
|
||||||
|
|
Loading…
Reference in New Issue