mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
Alexey Minnekhanov ([email protected]):
- Implement setting of desktop background color. This feature is tested to work in Windows XP, however in ReactOS the setting currently does no effect. - Improve russian translation, also check and fix layout/placement (so that russian words actually fit) svn path=/trunk/; revision=23171
This commit is contained in:
+100
-78
@@ -1,120 +1,142 @@
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_NEUTRAL
|
||||
|
||||
IDD_BACKGROUND DIALOGEX DISCARDABLE 0, 0, 246, 188
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
IDD_BACKGROUND DIALOGEX 0, 0, 246, 188
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Ôîí"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
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 | LVS_SHAREIMAGELISTS |
|
||||
WS_BORDER | WS_TABSTOP, 8, 114, 174, 68
|
||||
LTEXT "Âûáåðèòå èçîáðàæåíèå äëÿ ðàáî÷åãî ñòîëà:",
|
||||
IDC_STATIC, 8, 103, 180, 9
|
||||
PUSHBUTTON "&Îáçîð...", IDC_BROWSE_BUTTON, 188, 114, 50, 15
|
||||
PUSHBUTTON "&Öâåò...", IDC_COLOR_BUTTON, 188, 167, 50, 15
|
||||
LTEXT "Ðàñïîëîæåíèå:", IDC_STATIC, 188, 138, 50, 9
|
||||
COMBOBOX IDC_PLACEMENT_COMBO, 188, 149, 50, 54, CBS_DROPDOWNLIST |
|
||||
CONTROL "",IDC_BACKGROUND_PREVIEW,"Static",SS_OWNERDRAW,80,10,83,
|
||||
57,WS_EX_STATICEDGE
|
||||
CONTROL "",IDC_BACKGROUND_LIST,"SysListView32",LVS_REPORT |
|
||||
LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER |
|
||||
WS_BORDER | WS_TABSTOP,8,114,174,68
|
||||
LTEXT "Âûáåðèòå èçîáðàæåíèå äëÿ ðàáî÷åãî ñòîëà:",IDC_STATIC,8,
|
||||
103,180,9
|
||||
PUSHBUTTON "&Îáçîð...",IDC_BROWSE_BUTTON,188,114,55,15
|
||||
PUSHBUTTON "&Öâåò...",IDC_COLOR_BUTTON,188,167,55,15
|
||||
LTEXT "Ðàñïîëîæåíèå:",IDC_STATIC,188,138,55,9
|
||||
COMBOBOX IDC_PLACEMENT_COMBO,188,149,55,54,CBS_DROPDOWNLIST |
|
||||
CBS_SORT | WS_VSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_SCREENSAVER DIALOGEX DISCARDABLE 0, 0, 246, 188
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
IDD_SCREENSAVER DIALOGEX 0, 0, 246, 188
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Çàñòàâêà"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "&Çàñòàâêà",IDC_SCREENS_DUMMY, 5, 7, 238, 137
|
||||
|
||||
LTEXT "Ñïèñîê çàñòàâîê:",IDC_STATIC,13, 24, 150, 9
|
||||
GROUPBOX "&Çàñòàâêà",IDC_SCREENS_DUMMY,5,7,238,137
|
||||
LTEXT "Ñïèñîê çàñòàâîê:",IDC_STATIC,13,24,150,9
|
||||
CONTROL "",IDC_SCREENS_CHOICES,"SysListView32",LVS_REPORT |
|
||||
LVS_SINGLESEL | LVS_NOCOLUMNHEADER | LVS_SHAREIMAGELISTS |
|
||||
WS_BORDER | WS_TABSTOP,13, 34, 170, 69
|
||||
|
||||
PUSHBUTTON "&Íàñòðîéêà...",IDC_SCREENS_SETTINGS,188, 34, 50, 15,WS_GROUP
|
||||
PUSHBUTTON "Ïðî&ñìîòð",IDC_SCREENS_TESTSC,188, 52, 50, 15
|
||||
|
||||
CONTROL "&Çàùèòà ïàðîëåì.",IDC_SCREENS_USEPASSCHK,"button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP, 13, 121, 119, 18
|
||||
|
||||
LTEXT "&Èíòåðâàë:",IDC_STATIC, 13, 110, 20, 9
|
||||
EDITTEXT IDC_SCREENS_TIMEDELAY, 33, 109, 31, 12,ES_RIGHT | WS_GROUP
|
||||
CONTROL "",IDC_SCREENS_TIME ,UPDOWN_CLASS,UDS_SETBUDDYINT |
|
||||
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
|
||||
WS_BORDER | WS_GROUP, 52, 109, 12, 12
|
||||
LTEXT "ìèíóò äî îòîáðàæåíèÿ çàñòàâêè.",IDC_STATIC, 70, 111, 147, 9
|
||||
|
||||
GROUPBOX "&Ýíåðãîñáåðåãàþùèå ôóíêöèè ìîíèòîðà",IDC_SCREENS_DUMMY2, 5, 146, 238, 50
|
||||
LVS_SINGLESEL | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER |
|
||||
WS_BORDER | WS_TABSTOP,13,34,170,69
|
||||
PUSHBUTTON "&Íàñòðîéêà...",IDC_SCREENS_SETTINGS,188,34,50,15,
|
||||
WS_GROUP
|
||||
PUSHBUTTON "Ïðî&ñìîòð",IDC_SCREENS_TESTSC,188,52,50,15
|
||||
CONTROL "&Çàùèòà ïàðîëåì.",IDC_SCREENS_USEPASSCHK,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,13,121,119,18
|
||||
LTEXT "&Èíòåðâàë:",IDC_STATIC,13,110,35,9
|
||||
EDITTEXT IDC_SCREENS_TIMEDELAY,53,109,31,12,ES_RIGHT | WS_GROUP
|
||||
CONTROL "",IDC_SCREENS_TIME,"msctls_updown32",UDS_SETBUDDYINT |
|
||||
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |
|
||||
WS_BORDER | WS_GROUP,87,108,13,12
|
||||
LTEXT "ìèíóò äî îòîáðàæåíèÿ çàñòàâêè.",IDC_STATIC,109,110,118,
|
||||
9
|
||||
GROUPBOX "&Ýíåðãîñáåðåãàþùèå ôóíêöèè ìîíèòîðà",IDC_SCREENS_DUMMY2,
|
||||
5,146,238,50
|
||||
LTEXT "Äëÿ èçìåíåíèÿ ïàðàìåòðîâ ïèòàíèÿ ìîíèòîðà íàæìèòå êíîïêó Ïàðàìåòðû Ïèòàíèÿ.",
|
||||
IDC_STATIC, 16, 159, 145, 35
|
||||
PUSHBUTTON "Ïàðàìåòðû &Ïèòàíèÿ",IDC_SCREENS_POWER_BUTTON, 165, 162, 73, 15
|
||||
IDC_STATIC,16,159,145,35
|
||||
PUSHBUTTON "Ïàðàìåòðû &ïèòàíèÿ",IDC_SCREENS_POWER_BUTTON,157,162,81,
|
||||
15
|
||||
END
|
||||
|
||||
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 188
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
IDD_APPEARANCE DIALOGEX 0, 0, 246, 188
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Îôîðìëåíèå"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "Íàñòðîéêè âðåìåííî îòñóòñâóþò",IDC_STATIC,66,
|
||||
90,112,8
|
||||
LTEXT "Íàñòðîéêè âðåìåííî îòñóòñâóþò",IDC_STATIC,65,87,114,8
|
||||
END
|
||||
|
||||
IDD_SETTINGS DIALOGEX DISCARDABLE 0, 0, 246, 188
|
||||
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
IDD_SETTINGS DIALOGEX 0, 0, 246, 188
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Íàñòðîéêè"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "&Äèñïëåé:",1820,3,100,30,8
|
||||
LTEXT "<íåò>",IDC_SETTINGS_DEVICE,9,109,224,8
|
||||
GROUPBOX "&Îáëàñòü ýêðàíà",1818,3,120,119,43
|
||||
CONTROL "",IDC_SETTINGS_RESOLUTION,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,
|
||||
33,130,58,17
|
||||
CONTROL "",IDC_SETTINGS_RESOLUTION,"msctls_trackbar32",
|
||||
TBS_AUTOTICKS | WS_TABSTOP,33,130,58,17
|
||||
LTEXT "Ìåíüøå",1815,7,130,27,8,NOT WS_GROUP
|
||||
LTEXT "Áîëüøå",1816,91,130,27,8,NOT WS_GROUP
|
||||
LTEXT "",IDC_SETTINGS_RESOLUTION_TEXT,10,150,100,10,NOT WS_GROUP | SS_CENTER
|
||||
CTEXT "",IDC_SETTINGS_RESOLUTION_TEXT,10,150,100,10,NOT
|
||||
WS_GROUP
|
||||
GROUPBOX "&Öâåòà",1817,125,120,115,43
|
||||
COMBOBOX IDC_SETTINGS_BPP,133,130,103,80,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_SETTINGS_BPP,133,130,103,80,CBS_DROPDOWNLIST |
|
||||
CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "",1813,"Static",SS_BITMAP | SS_CENTERIMAGE | SS_SUNKEN,
|
||||
131,148,103,9
|
||||
PUSHBUTTON "Äî&ïîëíèòåëüíî...",IDC_SETTINGS_ADVANCED,306,165,56,14
|
||||
END
|
||||
|
||||
IDR_POPUP_MENU MENU DISCARDABLE
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDR_POPUP_MENU MENU
|
||||
BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "&Configure", ID_MENU_CONFIG
|
||||
MENUITEM "&Preview", ID_MENU_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Add", ID_MENU_ADD
|
||||
MENUITEM "&Delete\tDel", ID_MENU_DELETE
|
||||
END
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM "&Íàñòðîèòü", ID_MENU_CONFIG
|
||||
MENUITEM "&Ïðåäïðîñìîòð", ID_MENU_PREVIEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Äîáàâèòü", ID_MENU_ADD
|
||||
MENUITEM "&Óäàëèòü\tDel", ID_MENU_DELETE
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CPLNAME "Äèñïëåé"
|
||||
IDS_CPLDESCRIPTION "Âûáåðèòå äèñïëåé ðàáî÷åãî ñòîëà è çàñòàâêó."
|
||||
IDS_NONE "(íåò)"
|
||||
IDS_CENTER "Ïî öåíòðó"
|
||||
IDS_STRETCH "Ðàñòÿíóòü"
|
||||
IDS_TILE "Ïîâòîðÿòü"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CPLNAME "Äèñïëåé"
|
||||
IDS_CPLDESCRIPTION "Âûáåðèòå äèñïëåé ðàáî÷åãî ñòîëà è çàñòàâêó."
|
||||
|
||||
IDS_NONE "(íåò)"
|
||||
IDS_CENTER "Ïî öåíòðó"
|
||||
IDS_STRETCH "Ðàñòÿíóòü"
|
||||
IDS_TILE "Ïîâòîðÿòü"
|
||||
IDS_COLOR_4BIT "16 öâåòîâ"
|
||||
IDS_COLOR_8BIT "256 öâåòîâ"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_COLOR_4BIT "16 öâåòîâ"
|
||||
IDS_COLOR_8BIT "256 öâåòîâ"
|
||||
IDS_COLOR_16BIT "High Color (16 áèò)"
|
||||
IDS_COLOR_24BIT "True Color (24 áèòà)"
|
||||
IDS_COLOR_32BIT "True Color (32 áèòà)"
|
||||
IDS_PIXEL "%lux%lu òî÷åê"
|
||||
IDS_COLOR_16BIT "High Color (16 áèò)"
|
||||
IDS_COLOR_24BIT "True Color (24 áèòà)"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_BACKGROUND_COMDLG_FILTER "Êàðòèíêè (*.bmp;*.dib)\0*.bmp;*.dib\0"
|
||||
IDS_SUPPORTED_EXT "*.bmp;*.dib"
|
||||
IDS_COLOR_32BIT "True Color (32 áèòà)"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_PIXEL "%lux%lu òî÷åê"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_BACKGROUND_COMDLG_FILTER "Êàðòèíêè (*.bmp;*.dib)\000*.bmp;*.dib"
|
||||
IDS_SUPPORTED_EXT "*.bmp;*.dib"
|
||||
END
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
* PURPOSE: Background property page
|
||||
*
|
||||
* PROGRAMMERS: Trevor McCort ([email protected])
|
||||
* Alexey Minnekhanov ([email protected])
|
||||
*/
|
||||
|
||||
#include "desk.h"
|
||||
@@ -31,6 +32,7 @@ DIBitmap *g_pWallpaperBitmap = NULL;
|
||||
|
||||
int g_placementSelection = 0;
|
||||
int g_backgroundSelection = 0;
|
||||
COLORREF g_backgroundDesktopColor = 0;
|
||||
|
||||
int g_listViewItemCount = 0;
|
||||
|
||||
@@ -52,7 +54,7 @@ void AddListViewItems()
|
||||
WIN32_FIND_DATA fd;
|
||||
HANDLE hFind;
|
||||
TCHAR szSearchPath[MAX_PATH];
|
||||
TCHAR szFileTypes[MAX_PATH];
|
||||
TCHAR szFileTypes[MAX_PATH];
|
||||
LV_ITEM listItem;
|
||||
LV_COLUMN dummy;
|
||||
RECT clientRect;
|
||||
@@ -65,8 +67,8 @@ void AddListViewItems()
|
||||
LONG result;
|
||||
UINT i = 0;
|
||||
BackgroundItem *backgroundItem = NULL;
|
||||
TCHAR separators[] = TEXT(";");
|
||||
TCHAR *token;
|
||||
TCHAR separators[] = TEXT(";");
|
||||
TCHAR *token;
|
||||
|
||||
GetClientRect(g_hBackgroundList, &clientRect);
|
||||
|
||||
@@ -76,13 +78,10 @@ void AddListViewItems()
|
||||
dummy.cx = (clientRect.right - clientRect.left) - GetSystemMetrics(SM_CXVSCROLL);
|
||||
|
||||
(void)ListView_InsertColumn(g_hBackgroundList, 0, &dummy);
|
||||
|
||||
|
||||
/* Add the "None" item */
|
||||
|
||||
backgroundItem = &g_backgroundItems[g_listViewItemCount];
|
||||
|
||||
backgroundItem = &g_backgroundItems[g_listViewItemCount];
|
||||
backgroundItem->bWallpaper = FALSE;
|
||||
|
||||
LoadString(hApplet,
|
||||
IDS_NONE,
|
||||
backgroundItem->szDisplayName,
|
||||
@@ -102,9 +101,7 @@ void AddListViewItems()
|
||||
g_listViewItemCount++;
|
||||
|
||||
/* Add current wallpaper if any */
|
||||
|
||||
RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Control Panel\\Desktop"), 0, KEY_ALL_ACCESS, ®Key);
|
||||
|
||||
result = RegQueryValueEx(regKey, TEXT("Wallpaper"), 0, &varType, (LPBYTE)wallpaperFilename, &bufferSize);
|
||||
|
||||
if((result == ERROR_SUCCESS) && (_tcslen(wallpaperFilename) > 0))
|
||||
@@ -231,7 +228,9 @@ void InitBackgroundDialog()
|
||||
LONG result;
|
||||
BITMAP bitmap;
|
||||
|
||||
g_hBackgroundList = GetDlgItem(g_hBackgroundPage, IDC_BACKGROUND_LIST);
|
||||
g_backgroundDesktopColor = GetSysColor( COLOR_BACKGROUND );
|
||||
|
||||
g_hBackgroundList = GetDlgItem(g_hBackgroundPage, IDC_BACKGROUND_LIST);
|
||||
g_hBackgroundPreview = GetDlgItem(g_hBackgroundPage, IDC_BACKGROUND_PREVIEW);
|
||||
g_hPlacementCombo = GetDlgItem(g_hBackgroundPage, IDC_PLACEMENT_COMBO);
|
||||
g_hColorButton = GetDlgItem(g_hBackgroundPage, IDC_COLOR_BUTTON);
|
||||
@@ -297,7 +296,30 @@ void InitBackgroundDialog()
|
||||
|
||||
void OnColorButton()
|
||||
{
|
||||
MessageBox(NULL, TEXT("That button doesn't do anything yet"), TEXT("Whoops"), MB_OK);
|
||||
CHOOSECOLOR cc;
|
||||
COLORREF custom_colors[16];
|
||||
|
||||
cc.lStructSize = sizeof(CHOOSECOLOR);
|
||||
cc.hwndOwner = g_hBackgroundPage;
|
||||
cc.hInstance = NULL;
|
||||
cc.rgbResult = g_backgroundDesktopColor;
|
||||
|
||||
memset(custom_colors, RGB(255,255,255), sizeof(custom_colors));
|
||||
|
||||
cc.lpCustColors = custom_colors;
|
||||
cc.Flags = CC_ANYCOLOR | /* Causes the dialog box to display all available colors in the set of basic colors. */
|
||||
CC_FULLOPEN | /* opens dialog in full size */
|
||||
CC_RGBINIT ; /* init chosen color by rgbResult value */
|
||||
cc.lCustData = 0;
|
||||
cc.lpfnHook = NULL;
|
||||
cc.lpTemplateName = NULL;
|
||||
|
||||
if( ChooseColor( &cc ) )
|
||||
{
|
||||
g_backgroundDesktopColor = cc.rgbResult; /* save selected color to var */
|
||||
PropSheet_Changed( GetParent( g_hBackgroundPage ), g_hBackgroundPage ); /* Apply button will be activated */
|
||||
InvalidateRect(g_hBackgroundPreview, NULL, TRUE); /* window will be updated :) */
|
||||
}
|
||||
}
|
||||
|
||||
BOOL CheckListBoxFilename(HWND list, TCHAR *filename)
|
||||
@@ -314,9 +336,9 @@ void OnBrowseButton()
|
||||
TCHAR fileTitle[256];
|
||||
TCHAR filter[MAX_PATH];
|
||||
BackgroundItem *backgroundItem = NULL;
|
||||
SHFILEINFO sfi;
|
||||
LV_ITEM listItem;
|
||||
|
||||
SHFILEINFO sfi;
|
||||
LV_ITEM listItem;
|
||||
|
||||
ZeroMemory(&ofn, sizeof(OPENFILENAME));
|
||||
|
||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||
@@ -324,7 +346,7 @@ void OnBrowseButton()
|
||||
ofn.lpstrFile = filename;
|
||||
|
||||
LoadString(hApplet, IDS_BACKGROUND_COMDLG_FILTER, filter, sizeof(filter) / sizeof(TCHAR));
|
||||
|
||||
|
||||
/* Set lpstrFile[0] to '\0' so that GetOpenFileName does not
|
||||
* use the contents of szFile to initialize itself */
|
||||
ofn.lpstrFile[0] = TEXT('\0');
|
||||
@@ -337,7 +359,7 @@ void OnBrowseButton()
|
||||
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
|
||||
|
||||
if(GetOpenFileName(&ofn) == TRUE)
|
||||
{
|
||||
{
|
||||
/* Check if there is already a entry that holds this filename */
|
||||
if(CheckListBoxFilename(g_hBackgroundList, filename) == TRUE)
|
||||
return;
|
||||
@@ -414,7 +436,11 @@ void DrawBackgroundPreview(LPDRAWITEMSTRUCT draw)
|
||||
|
||||
if(g_backgroundItems[g_backgroundSelection].bWallpaper == FALSE)
|
||||
{
|
||||
FillRect(draw->hDC, &draw->rcItem, GetSysColorBrush(COLOR_BACKGROUND));
|
||||
HBRUSH hBrush = CreateSolidBrush( g_backgroundDesktopColor );
|
||||
//HBRUSH hBrushOld = SelectObject( draw->hDC, hBrush );
|
||||
FillRect(draw->hDC, &draw->rcItem, hBrush );
|
||||
//SelectObject( draw->hDC, hBrushOld );
|
||||
DeleteObject( hBrush );
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -534,6 +560,30 @@ void SetWallpaper()
|
||||
}
|
||||
}
|
||||
|
||||
void SetDesktopBackColor()
|
||||
{
|
||||
/* change system color */
|
||||
INT iElement = COLOR_BACKGROUND;
|
||||
if(!SetSysColors(1, &iElement, &g_backgroundDesktopColor))
|
||||
{
|
||||
MessageBox(g_hBackgroundPage, TEXT("SetSysColor() failed!"), /* these error texts can need internationalization? */
|
||||
TEXT("Error!"), MB_ICONSTOP );
|
||||
}
|
||||
|
||||
/* write color to registry key: HKEY_CURRENT_USER\Control Panel\Colors\Background */
|
||||
HKEY hKey = NULL;
|
||||
if( RegOpenKeyEx( HKEY_CURRENT_USER, TEXT("Control Panel\\Colors"), 0, KEY_WRITE, &hKey ) == ERROR_SUCCESS )
|
||||
{
|
||||
TCHAR clText[16] = {0}; // COLORREF(DWORD) holds colors as := 0x00BBGGRR
|
||||
DWORD red = (g_backgroundDesktopColor & 0x000000FF);
|
||||
DWORD green = (g_backgroundDesktopColor & 0x0000FF00) >> 8;
|
||||
DWORD blue = (g_backgroundDesktopColor & 0x00FF0000) >> 16;
|
||||
wsprintf( clText, TEXT("%d %d %d"), red, green, blue ); /* format string to be set to registry */
|
||||
RegSetValueEx( hKey, TEXT("Background"), 0, REG_SZ, (BYTE *)clText, lstrlen( clText )*sizeof(TCHAR) + sizeof(TCHAR) );
|
||||
RegCloseKey( hKey );
|
||||
}
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK BackgroundPageProc(HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
@@ -622,7 +672,7 @@ INT_PTR CALLBACK BackgroundPageProc(HWND hwndDlg,
|
||||
case PSN_APPLY:
|
||||
{
|
||||
SetWallpaper();
|
||||
|
||||
SetDesktopBackColor();
|
||||
return TRUE;
|
||||
} break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user