diff --git a/reactos/dll/cpl/desk/Fr.rc b/reactos/dll/cpl/desk/Fr.rc index 4b33af23251..2219c5bdb4e 100644 --- a/reactos/dll/cpl/desk/Fr.rc +++ b/reactos/dll/cpl/desk/Fr.rc @@ -122,3 +122,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Images (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/It.rc b/reactos/dll/cpl/desk/It.rc index 9ed5775a541..07a75987fe1 100644 --- a/reactos/dll/cpl/desk/It.rc +++ b/reactos/dll/cpl/desk/It.rc @@ -116,3 +116,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Immagini (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/Ja.rc b/reactos/dll/cpl/desk/Ja.rc index 65052092ea0..50900ebf95f 100644 --- a/reactos/dll/cpl/desk/Ja.rc +++ b/reactos/dll/cpl/desk/Ja.rc @@ -120,3 +120,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "‰æ‘œ (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/Ru.rc b/reactos/dll/cpl/desk/Ru.rc index dc2dc3b8874..c00fcef1b26 100644 --- a/reactos/dll/cpl/desk/Ru.rc +++ b/reactos/dll/cpl/desk/Ru.rc @@ -142,3 +142,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Êàðòèíêè (*.bmp;*.dib)\000*.bmp;*.dib" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/Uk.rc b/reactos/dll/cpl/desk/Uk.rc index 6e79a92f76c..d5e568f68c2 100644 --- a/reactos/dll/cpl/desk/Uk.rc +++ b/reactos/dll/cpl/desk/Uk.rc @@ -124,3 +124,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Ìàëþíêè (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/cz.rc b/reactos/dll/cpl/desk/cz.rc index eedfaedc8bb..c05e5cfb134 100644 --- a/reactos/dll/cpl/desk/cz.rc +++ b/reactos/dll/cpl/desk/cz.rc @@ -114,3 +114,13 @@ BEGIN IDS_COLOR_32BIT "True Color (32 Bit)" IDS_PIXEL "%lux%lu bodù" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/de.rc b/reactos/dll/cpl/desk/de.rc index ce34484b524..ded2505b6f0 100644 --- a/reactos/dll/cpl/desk/de.rc +++ b/reactos/dll/cpl/desk/de.rc @@ -118,3 +118,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Bilddateien (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/en.rc b/reactos/dll/cpl/desk/en.rc index 88886dba5a6..c532a165c2e 100644 --- a/reactos/dll/cpl/desk/en.rc +++ b/reactos/dll/cpl/desk/en.rc @@ -6,7 +6,7 @@ CAPTION "Background" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_BACKGROUND_PREVIEW, "Static", SS_OWNERDRAW, 80, 10, 83, 57, WS_EX_STATICEDGE - CONTROL "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER + CONTROL "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | WS_BORDER | WS_TABSTOP, 8, 114, 174, 78 LTEXT "Select an image to use as your desktop wallpaper:", IDC_STATIC, 8, 103, 180, 9 PUSHBUTTON "&Browse...", IDC_BROWSE_BUTTON, 188, 114, 50, 15 @@ -23,7 +23,7 @@ BEGIN GROUPBOX "&Screensaver",IDC_SCREENS_DUMMY, 5, 7, 238, 136 LTEXT "Installed screensavers:",IDC_STATIC,13, 24, 150, 9 - CONTROL "",IDC_SCREENS_CHOICES,"SysListView32",LVS_REPORT | + CONTROL "",IDC_SCREENS_CHOICES,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP,13, 34, 170, 69 @@ -71,7 +71,7 @@ BEGIN LTEXT "More",1816,93,130,21,8,NOT WS_GROUP LTEXT "",IDC_SETTINGS_RESOLUTION_TEXT,10,150,100,10,NOT WS_GROUP | SS_CENTER GROUPBOX "&Colors",1817,125,120,115,43 - COMBOBOX IDC_SETTINGS_BPP,131,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | + 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 @@ -90,11 +90,11 @@ BEGIN END END -STRINGTABLE +STRINGTABLE BEGIN IDS_CPLNAME "Display" IDS_CPLDESCRIPTION "Customizes the desktop display and screen saver." - + IDS_NONE "(None)" IDS_CENTER "Center" IDS_STRETCH "Stretch" @@ -116,3 +116,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Pictures (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/es.rc b/reactos/dll/cpl/desk/es.rc index bfdf3bda6af..e3759274016 100644 --- a/reactos/dll/cpl/desk/es.rc +++ b/reactos/dll/cpl/desk/es.rc @@ -121,3 +121,13 @@ BEGIN IDS_COLOR_32BIT "La más alta (32 bits)" IDS_PIXEL "%lu por %lu píxeles" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/gr.rc b/reactos/dll/cpl/desk/gr.rc index 3ec020e6869..174d91360d1 100644 --- a/reactos/dll/cpl/desk/gr.rc +++ b/reactos/dll/cpl/desk/gr.rc @@ -120,3 +120,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Åéêüíåò (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/hu.rc b/reactos/dll/cpl/desk/hu.rc index 7277f58f292..24b2d012f59 100644 --- a/reactos/dll/cpl/desk/hu.rc +++ b/reactos/dll/cpl/desk/hu.rc @@ -108,3 +108,13 @@ BEGIN IDS_BACKGROUND_COMDLG_FILTER "Képek (*.bmp;*.dib)\0*.bmp;*.dib\0" IDS_SUPPORTED_EXT "*.bmp;*.dib" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/nl.rc b/reactos/dll/cpl/desk/nl.rc index e3d8b3ab617..ac71dec46f3 100644 --- a/reactos/dll/cpl/desk/nl.rc +++ b/reactos/dll/cpl/desk/nl.rc @@ -114,3 +114,13 @@ BEGIN IDS_COLOR_32BIT "Ware kleuren (32 Bit)" IDS_PIXEL "%lux%lu Pixel" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/pl.rc b/reactos/dll/cpl/desk/pl.rc index c3899d24f38..fa996a404c5 100644 --- a/reactos/dll/cpl/desk/pl.rc +++ b/reactos/dll/cpl/desk/pl.rc @@ -59,7 +59,7 @@ BEGIN CONTROL "", IDC_APPEARANCE_PREVIEW, "PreviewWndClass", WS_VISIBLE | WS_BORDER, 7, 7, 232, 120 LTEXT "To miejsce pozosta³o celowo puste",IDC_STATIC,66, - 1590,112,8 + 150,112,8 END IDD_SETTINGS DIALOGEX DISCARDABLE 0, 0, 246, 188 @@ -115,3 +115,13 @@ BEGIN IDS_COLOR_32BIT "True Color (32 Bitów)" IDS_PIXEL "%lux%lu pikseli" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END diff --git a/reactos/dll/cpl/desk/preview.c b/reactos/dll/cpl/desk/preview.c index 92b51314011..8c3685cdd27 100644 --- a/reactos/dll/cpl/desk/preview.c +++ b/reactos/dll/cpl/desk/preview.c @@ -39,6 +39,10 @@ typedef struct _PREVIEW_DATA RECT rcDialogButton; + LOGFONT CaptionFont; + LOGFONT DialogFont; + LOGFONT MenuFont; + } PREVIEW_DATA, *PPREVIEW_DATA; @@ -173,34 +177,63 @@ PreviewWndProc(HWND hwnd, PAINTSTRUCT ps; RECT rc; + static TCHAR szInAct[32]; + static TCHAR szAct[32]; + static TCHAR szWinTxt[32]; + static TCHAR szMessBox[32]; + static TCHAR szMessText[32]; + static TCHAR szButText[4]; + pPreviewData = (PPREVIEW_DATA)GetWindowLongPtr(hwnd, GWLP_USERDATA); switch (uMsg) { case WM_CREATE: + { + NONCLIENTMETRICS NonClientMetrics; + pPreviewData = (PPREVIEW_DATA)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(PREVIEW_DATA)); - if (pPreviewData) - { - SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pPreviewData); - pPreviewData->clrDesktop = GetSysColor(COLOR_DESKTOP); - pPreviewData->hbrDesktop = CreateSolidBrush(pPreviewData->clrDesktop); - pPreviewData->clrWindow = GetSysColor(COLOR_WINDOW); - pPreviewData->hbrWindow = CreateSolidBrush(pPreviewData->clrWindow); + if (!pPreviewData) + return -1; - pPreviewData->cxEdge = GetSystemMetrics(SM_CXEDGE); - pPreviewData->cyEdge = GetSystemMetrics(SM_CXEDGE); + SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pPreviewData); + pPreviewData->clrDesktop = GetSysColor(COLOR_DESKTOP); + pPreviewData->hbrDesktop = CreateSolidBrush(pPreviewData->clrDesktop); + pPreviewData->clrWindow = GetSysColor(COLOR_WINDOW); + pPreviewData->hbrWindow = CreateSolidBrush(pPreviewData->clrWindow); + + pPreviewData->cxEdge = GetSystemMetrics(SM_CXEDGE); + pPreviewData->cyEdge = GetSystemMetrics(SM_CXEDGE); + + pPreviewData->cyCaption = 20; //GetSystemMetrics(SM_CYCAPTION); + + /* load font info */ + NonClientMetrics.cbSize = sizeof(NONCLIENTMETRICS); + SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &NonClientMetrics, 0); + pPreviewData->CaptionFont = NonClientMetrics.lfCaptionFont; + pPreviewData->MenuFont = NonClientMetrics.lfMenuFont; + pPreviewData->DialogFont = NonClientMetrics.lfMessageFont; + + LoadString(hApplet, IDS_INACTWIN, szInAct, sizeof(szInAct)); + LoadString(hApplet, IDS_ACTWIN, szAct, sizeof(szAct)); + LoadString(hApplet, IDS_WINTEXT, szWinTxt, sizeof(szWinTxt)); + LoadString(hApplet, IDS_MESSBOX, szMessBox, sizeof(szMessBox)); + LoadString(hApplet, IDS_MESSTEXT, szMessText, sizeof(szMessText)); + LoadString(hApplet, IDS_BUTTEXT, szButText, sizeof(szButText)); - pPreviewData->cyCaption = 20; //GetSystemMetrics(SM_CYCAPTION); - } break; + } case WM_SIZE: OnSize(LOWORD(lParam), HIWORD(lParam), pPreviewData); break; case WM_PAINT: + { + RECT tmpRc; + hdc = BeginPaint(hwnd, &ps); /* Desktop */ @@ -210,19 +243,40 @@ PreviewWndProc(HWND hwnd, DrawEdge(hdc, &pPreviewData->rcInactiveFrame, EDGE_RAISED, BF_RECT | BF_MIDDLE); DrawCaption(hwnd, hdc, &pPreviewData->rcInactiveCaption, DC_GRADIENT | DC_TEXT); DrawCaptionButtons(hdc, &pPreviewData->rcInactiveCaption, TRUE); + CopyMemory(&tmpRc, &pPreviewData->rcInactiveCaption, sizeof(RECT)); + tmpRc.left += 4; + tmpRc.top += 2; + SelectObject(hdc, CreateFontIndirect(&pPreviewData->CaptionFont)); + SetTextColor(hdc, RGB(212,208,200)); + DrawText(hdc, szInAct, lstrlen(szInAct), &tmpRc, DT_LEFT); + DeleteObject(SelectObject(hdc, GetStockObject(SYSTEM_FONT))); /* Active Window */ DrawEdge(hdc, &pPreviewData->rcActiveFrame, EDGE_RAISED, BF_RECT | BF_MIDDLE); DrawCaption(hwnd, hdc, &pPreviewData->rcActiveCaption, DC_ACTIVE | DC_GRADIENT | DC_TEXT); DrawCaptionButtons(hdc, &pPreviewData->rcActiveCaption, TRUE); + CopyMemory(&tmpRc, &pPreviewData->rcActiveCaption, sizeof(RECT)); + tmpRc.left += 4; + tmpRc.top += 2; + SetTextColor(hdc, RGB(255,255,255)); // FIXME: don't hardcode colors + SelectObject(hdc, CreateFontIndirect(&pPreviewData->CaptionFont)); + DrawText(hdc, szAct, lstrlen(szAct), &tmpRc, DT_LEFT); + DeleteObject(SelectObject(hdc, GetStockObject(SYSTEM_FONT))); /* FIXME: Draw the menu bar */ CopyRect(&rc, &pPreviewData->rcActiveClient); DrawEdge(hdc, &rc, EDGE_SUNKEN, BF_RECT | BF_ADJUST); FillRect(hdc, &rc, pPreviewData->hbrWindow); - /* FIXME: Draw the client text */ + /* Draw the client text */ + CopyMemory(&tmpRc, &pPreviewData->rcActiveClient, sizeof(RECT)); + tmpRc.left += 4; + tmpRc.top += 2; + SetTextColor(hdc, RGB(0,0,0)); + SelectObject(hdc, CreateFontIndirect(&pPreviewData->DialogFont)); + DrawText(hdc, szWinTxt, lstrlen(szWinTxt), &tmpRc, DT_LEFT); + DeleteObject(SelectObject(hdc, GetStockObject(SYSTEM_FONT))); /* Draw the scroll bar */ DrawScrollbar(hdc, &pPreviewData->rcActiveScroll); @@ -232,13 +286,35 @@ PreviewWndProc(HWND hwnd, DrawEdge(hdc, &pPreviewData->rcDialogFrame, EDGE_RAISED, BF_RECT | BF_MIDDLE); DrawCaption(hwnd, hdc, &pPreviewData->rcDialogCaption, DC_ACTIVE | DC_GRADIENT | DC_TEXT); DrawCaptionButtons(hdc, &pPreviewData->rcDialogCaption, FALSE); + CopyMemory(&tmpRc, &pPreviewData->rcDialogCaption, sizeof(RECT)); + tmpRc.left += 4; + tmpRc.top += 2; + SetTextColor(hdc, RGB(255,255,255)); + SelectObject(hdc, CreateFontIndirect(&pPreviewData->CaptionFont)); + DrawText(hdc, szMessBox, lstrlen(szMessBox), &tmpRc, DT_LEFT); + DeleteObject(SelectObject(hdc, GetStockObject(SYSTEM_FONT))); + + /* draw the dialog text */ + CopyMemory(&tmpRc, &pPreviewData->rcDialogClient, sizeof(RECT)); + tmpRc.left += 4; + tmpRc.top += 2; + SetTextColor(hdc, RGB(0,0,0)); + SelectObject(hdc, CreateFontIndirect(&pPreviewData->DialogFont)); + DrawText(hdc, szMessText, lstrlen(szMessText), &tmpRc, DT_LEFT); + DeleteObject(SelectObject(hdc, GetStockObject(SYSTEM_FONT))); /* Draw Button */ DrawFrameControl(hdc, &pPreviewData->rcDialogButton, DFC_BUTTON, DFCS_BUTTONPUSH); + CopyMemory(&tmpRc, &pPreviewData->rcDialogButton, sizeof(RECT)); + tmpRc.top += 6; + SelectObject(hdc, CreateFontIndirect(&pPreviewData->DialogFont)); + DrawText(hdc, szButText, lstrlen(szButText), &tmpRc, DT_CENTER); + DeleteObject(SelectObject(hdc, GetStockObject(SYSTEM_FONT))); EndPaint(hwnd, &ps); break; + } case WM_DESTROY: DeleteObject(pPreviewData->hbrDesktop); diff --git a/reactos/dll/cpl/desk/resource.h b/reactos/dll/cpl/desk/resource.h index ef407e4697c..bdc9f0c83c3 100644 --- a/reactos/dll/cpl/desk/resource.h +++ b/reactos/dll/cpl/desk/resource.h @@ -82,5 +82,13 @@ /* Appearance Page */ #define IDC_APPEARANCE_PREVIEW 1500 +#define IDS_INACTWIN 1510 +#define IDS_ACTWIN 1511 +#define IDS_WINTEXT 1512 +#define IDS_MESSBOX 1513 +#define IDS_MESSTEXT 1514 +#define IDS_BUTTEXT 1515 + + #endif /* __CPL_DESK_RESOURCE_H__ */ diff --git a/reactos/dll/cpl/desk/sv.rc b/reactos/dll/cpl/desk/sv.rc index e2251013eda..3a473d407bb 100644 --- a/reactos/dll/cpl/desk/sv.rc +++ b/reactos/dll/cpl/desk/sv.rc @@ -117,3 +117,13 @@ BEGIN IDS_COLOR_32BIT "16,7 miljoner färger (32 Bit)" IDS_PIXEL "%lux%lu Pixlar" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INACTWIN "Inactive Window" + IDS_ACTWIN "Active Window" + IDS_WINTEXT "Window Text" + IDS_MESSBOX "Message Box" + IDS_MESSTEXT "Message Text" + IDS_BUTTEXT "OK" +END