diff --git a/reactos/dll/cpl/desk/desk.rc b/reactos/dll/cpl/desk/desk.rc index 9f58b4189ba..788e2e882eb 100644 --- a/reactos/dll/cpl/desk/desk.rc +++ b/reactos/dll/cpl/desk/desk.rc @@ -15,5 +15,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDC_DESK_ICON ICON "resources/applet.ico" IDC_DESK_ICON2 ICON "resources/applet.ico" IDC_MONITOR BITMAP "resources/monitor.bmp" +IDB_SPECTRUM BITMAP "resources/spectrum.bmp" #include "rsrc.rc" diff --git a/reactos/dll/cpl/desk/lang/bg-BG.rc b/reactos/dll/cpl/desk/lang/bg-BG.rc index 632266b24aa..fcc0751d400 100644 --- a/reactos/dll/cpl/desk/lang/bg-BG.rc +++ b/reactos/dll/cpl/desk/lang/bg-BG.rc @@ -116,8 +116,7 @@ BEGIN GROUPBOX "&",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&...",IDC_SETTINGS_ADVANCED,306,165,56,14 END diff --git a/reactos/dll/cpl/desk/lang/cs-CZ.rc b/reactos/dll/cpl/desk/lang/cs-CZ.rc index 6dd348360f8..c0fc581a104 100644 --- a/reactos/dll/cpl/desk/lang/cs-CZ.rc +++ b/reactos/dll/cpl/desk/lang/cs-CZ.rc @@ -113,8 +113,7 @@ BEGIN GROUPBOX "&Poet barev",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "R&ozen nastaven...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/de-DE.rc b/reactos/dll/cpl/desk/lang/de-DE.rc index 2f9580eebcd..117dd06f0fe 100644 --- a/reactos/dll/cpl/desk/lang/de-DE.rc +++ b/reactos/dll/cpl/desk/lang/de-DE.rc @@ -112,8 +112,7 @@ BEGIN GROUPBOX "&Farbqualitt",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&Erweitert",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/el-GR.rc b/reactos/dll/cpl/desk/lang/el-GR.rc index a9bc11ad24f..056cb4800f8 100644 --- a/reactos/dll/cpl/desk/lang/el-GR.rc +++ b/reactos/dll/cpl/desk/lang/el-GR.rc @@ -112,8 +112,7 @@ BEGIN GROUPBOX "&",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON " &...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/en-US.rc b/reactos/dll/cpl/desk/lang/en-US.rc index 13b6a3bd5de..d7d31386011 100644 --- a/reactos/dll/cpl/desk/lang/en-US.rc +++ b/reactos/dll/cpl/desk/lang/en-US.rc @@ -114,8 +114,7 @@ BEGIN GROUPBOX "&Colors",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "Ad&vanced...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/es-ES.rc b/reactos/dll/cpl/desk/lang/es-ES.rc index 0bb98ce41ad..b29cef9b90b 100644 --- a/reactos/dll/cpl/desk/lang/es-ES.rc +++ b/reactos/dll/cpl/desk/lang/es-ES.rc @@ -119,8 +119,7 @@ BEGIN GROUPBOX "&Calidad de color",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "A&vanzado...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/fr-FR.rc b/reactos/dll/cpl/desk/lang/fr-FR.rc index 59d8fc9cca6..2a3061fd3e5 100644 --- a/reactos/dll/cpl/desk/lang/fr-FR.rc +++ b/reactos/dll/cpl/desk/lang/fr-FR.rc @@ -115,8 +115,7 @@ BEGIN GROUPBOX "&Couleurs",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "A&vanc...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/hu-HU.rc b/reactos/dll/cpl/desk/lang/hu-HU.rc index 4caae42f070..ce3a86ec3af 100644 --- a/reactos/dll/cpl/desk/lang/hu-HU.rc +++ b/reactos/dll/cpl/desk/lang/hu-HU.rc @@ -113,8 +113,7 @@ BEGIN GROUPBOX "&Sznek",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&Haladknak...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/id-ID.rc b/reactos/dll/cpl/desk/lang/id-ID.rc index 31c08fa9a9d..4ba172e4c76 100644 --- a/reactos/dll/cpl/desk/lang/id-ID.rc +++ b/reactos/dll/cpl/desk/lang/id-ID.rc @@ -112,8 +112,7 @@ BEGIN GROUPBOX "&Warna",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&Lanjutan...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/it-IT.rc b/reactos/dll/cpl/desk/lang/it-IT.rc index f9c6256192f..b8cf554b1b2 100644 --- a/reactos/dll/cpl/desk/lang/it-IT.rc +++ b/reactos/dll/cpl/desk/lang/it-IT.rc @@ -112,8 +112,7 @@ BEGIN GROUPBOX "&Colori",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "A&vanzate...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/ja-JP.rc b/reactos/dll/cpl/desk/lang/ja-JP.rc index 25a2389fb90..c6d55fa74ce 100644 --- a/reactos/dll/cpl/desk/lang/ja-JP.rc +++ b/reactos/dll/cpl/desk/lang/ja-JP.rc @@ -112,8 +112,7 @@ BEGIN GROUPBOX "F(&C)",1817,125,160,115,43 COMBOBOX IDC_SETTINGS_BPP,131,170,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,188,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "ڍאݒ(&V)...",IDC_SETTINGS_ADVANCED,170,205,70,14 END diff --git a/reactos/dll/cpl/desk/lang/nl-NL.rc b/reactos/dll/cpl/desk/lang/nl-NL.rc index 95b6f65cd99..a37561faed4 100644 --- a/reactos/dll/cpl/desk/lang/nl-NL.rc +++ b/reactos/dll/cpl/desk/lang/nl-NL.rc @@ -114,8 +114,7 @@ BEGIN GROUPBOX "&Kleuren",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&Geavanceerd...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/pl-PL.rc b/reactos/dll/cpl/desk/lang/pl-PL.rc index 3b01fe7a4da..dd4e0e47825 100644 --- a/reactos/dll/cpl/desk/lang/pl-PL.rc +++ b/reactos/dll/cpl/desk/lang/pl-PL.rc @@ -118,8 +118,7 @@ BEGIN GROUPBOX "&Jako kolorw",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "Zaawa&nsowane...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/ru-RU.rc b/reactos/dll/cpl/desk/lang/ru-RU.rc index c66107ff159..69cc3f9b364 100644 --- a/reactos/dll/cpl/desk/lang/ru-RU.rc +++ b/reactos/dll/cpl/desk/lang/ru-RU.rc @@ -112,8 +112,7 @@ BEGIN GROUPBOX "& ",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/sk-SK.rc b/reactos/dll/cpl/desk/lang/sk-SK.rc index 69463758ba2..5df22badedb 100644 --- a/reactos/dll/cpl/desk/lang/sk-SK.rc +++ b/reactos/dll/cpl/desk/lang/sk-SK.rc @@ -121,8 +121,7 @@ BEGIN GROUPBOX "&Farby",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&Spresni...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/sv-SE.rc b/reactos/dll/cpl/desk/lang/sv-SE.rc index 92dd1fb4d3e..f8104ac618f 100644 --- a/reactos/dll/cpl/desk/lang/sv-SE.rc +++ b/reactos/dll/cpl/desk/lang/sv-SE.rc @@ -115,8 +115,7 @@ BEGIN GROUPBOX "&Frger",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,138,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&Avancerat...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/lang/uk-UA.rc b/reactos/dll/cpl/desk/lang/uk-UA.rc index 5cab1235c17..5260749ce36 100644 --- a/reactos/dll/cpl/desk/lang/uk-UA.rc +++ b/reactos/dll/cpl/desk/lang/uk-UA.rc @@ -120,8 +120,7 @@ BEGIN GROUPBOX "& ",1817,125,120,115,43 COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN, - 131,148,103,9 + CONTROL "",IDC_SETTINGS_SPECTRUM,"Static",SS_OWNERDRAW | SS_SUNKEN,131,148,103,9 PUSHBUTTON "&...",IDC_SETTINGS_ADVANCED,170,165,70,14 END diff --git a/reactos/dll/cpl/desk/resource.h b/reactos/dll/cpl/desk/resource.h index 137d6544e4e..d05cc69f03e 100644 --- a/reactos/dll/cpl/desk/resource.h +++ b/reactos/dll/cpl/desk/resource.h @@ -65,6 +65,8 @@ #define IDC_SETTINGS_RESOLUTION_TEXT 204 #define IDC_SETTINGS_ADVANCED 205 #define IDC_SETTINGS_MONSEL 206 +#define IDC_SETTINGS_SPECTRUM 207 +#define IDB_SPECTRUM 208 #define IDR_PREVIEW_MENU 2100 #define ID_MENU_NORMAL 2101 @@ -159,3 +161,4 @@ #endif /* __CPL_DESK_RESOURCE_H__ */ + diff --git a/reactos/dll/cpl/desk/resources/spectrum.bmp b/reactos/dll/cpl/desk/resources/spectrum.bmp new file mode 100644 index 00000000000..c9dcea8486a Binary files /dev/null and b/reactos/dll/cpl/desk/resources/spectrum.bmp differ diff --git a/reactos/dll/cpl/desk/settings.c b/reactos/dll/cpl/desk/settings.c index ff71f4a1e20..8156cbdd426 100644 --- a/reactos/dll/cpl/desk/settings.c +++ b/reactos/dll/cpl/desk/settings.c @@ -17,6 +17,9 @@ typedef struct _GLOBAL_DATA PDISPLAY_DEVICE_ENTRY CurrentDisplayDevice; } GLOBAL_DATA, *PGLOBAL_DATA; +static HBITMAP hBitmap = NULL; +static int cxSource, cySource; + static VOID UpdateDisplay(IN HWND hwndDlg, PGLOBAL_DATA pGlobalData, IN BOOL bUpdateThumb) { @@ -558,11 +561,43 @@ SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPar pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER); + BITMAP bitmap; + switch(uMsg) { case WM_INITDIALOG: + { OnInitDialog(hwndDlg); + + hBitmap = LoadImageW(hApplet, MAKEINTRESOURCEW(IDB_SPECTRUM), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); + if (hBitmap != NULL) + { + GetObjectW(hBitmap, sizeof(BITMAP), &bitmap); + + cxSource = bitmap.bmWidth; + cySource = bitmap.bmHeight; + } break; + } + case WM_DRAWITEM: + { + LPDRAWITEMSTRUCT lpDrawItem; + lpDrawItem = (LPDRAWITEMSTRUCT) lParam; + if(lpDrawItem->CtlID == IDC_SETTINGS_SPECTRUM) + { + HDC hdcMem; + hdcMem = CreateCompatibleDC(lpDrawItem->hDC); + if (hdcMem != NULL) + { + SelectObject(hdcMem, hBitmap); + StretchBlt(lpDrawItem->hDC, lpDrawItem->rcItem.left, lpDrawItem->rcItem.top, + lpDrawItem->rcItem.right - lpDrawItem->rcItem.left, + lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top, + hdcMem, 0, 0, cxSource, cySource, SRCCOPY); + DeleteDC(hdcMem); + } + } + } case WM_COMMAND: { DWORD controlId = LOWORD(wParam); @@ -762,6 +797,8 @@ SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPar } HeapFree(GetProcessHeap(), 0, pGlobalData); + + DeleteObject(hBitmap); } } return FALSE;