[desk.cpl]

- Overhaul the appearance tab
- Fixed and tested to work almost flawlessly on windows xp and windows 7
- Implement selecting the size of a scheme
- Implement loading the scheme from a visual style and allow the user to customize it before applying the visual style
- Implement showing visual styles preview 
- Properly load and apply system metrics 
- Store the scheme in memory as NONCLIENTMETRICS and ICONMETRICS structs instead of arrays of sizes and fonts 
- Store the loaded themes in a list instead of a global array

- Now that this works great in windows, it also mean that we have to modify our colour schemes in the registry to
be in the same format with windows and also fix uxtheme to handle system metrics properly

svn path=/trunk/; revision=58808
This commit is contained in:
Giannis Adamopoulos 2013-04-21 14:36:57 +00:00
parent 1408f94a8f
commit 303bb28fc4
32 changed files with 1293 additions and 870 deletions

View file

@ -22,6 +22,7 @@ add_library(desk SHARED
desk.rc desk.rc
draw.c draw.c
theme.c theme.c
muireg.c
${CMAKE_CURRENT_BINARY_DIR}/desk.def) ${CMAKE_CURRENT_BINARY_DIR}/desk.def)
set_module_type(desk cpl UNICODE) set_module_type(desk cpl UNICODE)
@ -37,6 +38,7 @@ add_importlibs(desk
ole32 ole32
setupapi setupapi
shell32 shell32
shlwapi
uxtheme uxtheme
kernel32 kernel32
ntdll) ntdll)

View file

@ -27,27 +27,27 @@ typedef struct
/* Size 1 (width) Size 2 (height) Color 1 Color 2 Font Fontcolor */ /* Size 1 (width) Size 2 (height) Color 1 Color 2 Font Fontcolor */
const ASSIGNMENT g_Assignment[NUM_ELEMENTS] = const ASSIGNMENT g_Assignment[NUM_ELEMENTS] =
{ {-1, -1, COLOR_DESKTOP, -1, -1, -1}, /* -Desktop */ { {-1, -1, COLOR_DESKTOP, -1, -1, -1}, /* -Desktop */
{SIZE_CAPTION_Y, -1, COLOR_INACTIVECAPTION, COLOR_GRADIENTINACTIVECAPTION, FONT_CAPTION, -1}, /* inactive window caption */ {SIZE_CAPTION_HEIGHT, -1, COLOR_INACTIVECAPTION, COLOR_GRADIENTINACTIVECAPTION, FONT_CAPTION, -1}, /* inactive window caption */
{SIZE_BORDER_X, SIZE_BORDER_Y, COLOR_INACTIVEBORDER, -1, -1, -1}, /* inactive window border */ {SIZE_BORDER_WIDTH, -1, COLOR_INACTIVEBORDER, -1, -1, -1}, /* inactive window border */
{SIZE_CAPTION_Y, -1, COLOR_ACTIVECAPTION, COLOR_GRADIENTACTIVECAPTION, FONT_CAPTION, COLOR_CAPTIONTEXT}, /* -active window caption */ {SIZE_CAPTION_HEIGHT, -1, COLOR_ACTIVECAPTION, COLOR_GRADIENTACTIVECAPTION, FONT_CAPTION, COLOR_CAPTIONTEXT}, /* -active window caption */
{SIZE_BORDER_X, SIZE_BORDER_Y, COLOR_ACTIVEBORDER, -1, -1, -1}, /* active window border */ {SIZE_BORDER_WIDTH, -1, COLOR_ACTIVEBORDER, -1, -1, -1}, /* active window border */
{SIZE_MENU_SIZE_X, SIZE_MENU_Y, COLOR_MENU, -1, FONT_MENU, COLOR_MENUTEXT}, /* menu */ {SIZE_MENU_HEIGHT, SIZE_MENU_WIDTH, COLOR_MENU, -1, FONT_MENU, COLOR_MENUTEXT}, /* menu */
{SIZE_MENU_SIZE_X, SIZE_MENU_Y, COLOR_HIGHLIGHT, -1, FONT_HILIGHT, COLOR_HIGHLIGHTTEXT}, /* marked element */ {SIZE_MENU_HEIGHT, SIZE_MENU_WIDTH, COLOR_HIGHLIGHT, -1, -1, COLOR_HIGHLIGHTTEXT},/* marked element */
{-1, -1, COLOR_WINDOW, -1 /*COLOR_WINDOWFRAME*/, -1, COLOR_WINDOWTEXT}, /* window */ {-1, -1, COLOR_WINDOW, -1 /*COLOR_WINDOWFRAME*/, -1, COLOR_WINDOWTEXT}, /* window */
{SIZE_SCROLL_X, SIZE_SCROLL_Y, COLOR_SCROLLBAR, -1, -1, -1}, /* scroll bar */ {SIZE_SCROLL_WIDTH, SIZE_SCROLL_HEIGHT, COLOR_SCROLLBAR, -1, -1, -1}, /* scroll bar */
{-1, -1, COLOR_3DFACE, -1, -1, COLOR_BTNTEXT}, /* 3d objects */ {-1, -1, COLOR_3DFACE, -1, -1, COLOR_BTNTEXT}, /* 3d objects */
{SIZE_SMCAPTION_Y, -1, -1, -1, FONT_SMCAPTION, -1}, /* palette window caption */ {SIZE_SM_CAPTION_HEIGHT, -1, -1, -1, FONT_SMCAPTION, -1}, /* palette window caption */
{-1, -1, -1, -1, -1, -1}, /* symbol caption FIXME: Access? */ {-1, -1, -1, -1, -1, -1}, /* symbol caption FIXME: Access? */
{SIZE_CAPTION_Y, -1, -1, -1, -1, -1}, /* caption bar */ {SIZE_CAPTION_HEIGHT, -1, -1, -1, -1, -1}, /* caption bar */
{-1, -1, -1, -1, -1, COLOR_GRAYTEXT}, /* inactive menu item FIXME: Access? */ {-1, -1, -1, -1, -1, COLOR_GRAYTEXT}, /* inactive menu item FIXME: Access? */
{-1, -1, -1, -1, FONT_DIALOG, COLOR_WINDOWTEXT}, /* dialog */ {-1, -1, -1, -1, FONT_MESSAGE, COLOR_WINDOWTEXT}, /* dialog */
{-1, -1, -1, -1, -1, -1}, /* scrollbar controls FIXME: Access? */ {-1, -1, -1, -1, -1, -1}, /* scrollbar controls FIXME: Access? */
{-1, -1, COLOR_APPWORKSPACE, -1, -1, -1}, /* application background */ {-1, -1, COLOR_APPWORKSPACE, -1, -1, -1}, /* application background */
{-1, -1, -1, -1, -1, -1}, /* small caption bar FIXME: Access? */ {-1, -1, -1, -1, -1, -1}, /* small caption bar FIXME: Access? */
{SIZE_ICON_SPC_X, -1, -1, -1, -1, -1}, /* symbol distance horiz. */ {SIZE_ICON_SPACE_X, -1, -1, -1, -1, -1}, /* symbol distance horiz. */
{SIZE_ICON_SPC_Y, -1, -1, -1, -1, -1}, /* symbol distance vert. */ {SIZE_ICON_SPACE_Y, -1, -1, -1, -1, -1}, /* symbol distance vert. */
{-1, -1, COLOR_INFOBK, -1, FONT_INFO, COLOR_INFOTEXT}, /* quickinfo */ {-1, -1, COLOR_INFOBK, -1, FONT_STATUS, COLOR_INFOTEXT}, /* quickinfo */
{SIZE_ICON_X, SIZE_ICON_Y, -1, -1, FONT_ICON, -1}}; /* symbol */ {SIZE_ICON, -1, -1, -1, FONT_ICON, -1}}; /* symbol */
/******************************************************************************/ /******************************************************************************/
@ -231,20 +231,20 @@ UpdateControls(HWND hwndDlg, GLOBALS *g)
UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_FONTCOLOR_B, 2, g_Assignment[iElement].FontColor); UpdateButtonColor(hwndDlg, g, IDC_ADVAPPEARANCE_FONTCOLOR_B, 2, g_Assignment[iElement].FontColor);
if (g_Assignment[iElement].Size != -1) if (g_Assignment[iElement].Size != -1)
SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, g->SchemeAdv.Size[g_Assignment[iElement].Size], FALSE); SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, SchemeGetMetric(&g->SchemeAdv, g_Assignment[iElement].Size), FALSE);
else else
SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, TEXT("")); SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, TEXT(""));
hdcDlg = GetDC(hwndDlg); hdcDlg = GetDC(hwndDlg);
if (g_Assignment[iElement].Font != -1) if (g_Assignment[iElement].Font != -1)
{ {
LOGFONT lfFont = g->SchemeAdv.lfFont[g_Assignment[iElement].Font]; PLOGFONTW plfFont = SchemeGetFont(&g->SchemeAdv, g_Assignment[iElement].Font);
SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, lfFont.lfFaceName); SetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, plfFont->lfFaceName);
SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, -MulDiv(g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfHeight, 72, GetDeviceCaps(hdcDlg, LOGPIXELSY)),FALSE); SetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, -MulDiv(plfFont->lfHeight, 72, GetDeviceCaps(hdcDlg, LOGPIXELSY)),FALSE);
SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, CB_FINDSTRINGEXACT, -1, (WPARAM)lfFont.lfFaceName); SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, CB_FINDSTRINGEXACT, -1, (WPARAM)plfFont->lfFaceName);
SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_SETCHECK, g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfWeight == FW_BOLD?1:0, 0); SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_SETCHECK, plfFont->lfWeight == FW_BOLD?1:0, 0);
SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_SETCHECK, g->SchemeAdv.lfFont[g_Assignment[iElement].Font].lfItalic, 0); SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_SETCHECK, plfFont->lfItalic, 0);
} }
else else
{ {
@ -266,15 +266,16 @@ SaveCurrentValues(HWND hwndDlg, GLOBALS *g)
if (g_Assignment[g->CurrentElement].Size != -1) if (g_Assignment[g->CurrentElement].Size != -1)
{ {
g->SchemeAdv.Size[g_Assignment[g->CurrentElement].Size] = GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, &bTranslated, FALSE); SchemeSetMetric(&g->SchemeAdv, g_Assignment[g->CurrentElement].Size, GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_SIZE_E, &bTranslated, FALSE));
} }
if (g_Assignment[g->CurrentElement].Font != -1) if (g_Assignment[g->CurrentElement].Font != -1)
{ {
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight = -MulDiv(GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, &bTranslated, FALSE), GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); PLOGFONTW plfFont = SchemeGetFont(&g->SchemeAdv, g_Assignment[g->CurrentElement].Font);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight = (SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0) == 1) ? FW_BOLD : FW_NORMAL; plfFont->lfHeight = -MulDiv(GetDlgItemInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E, &bTranslated, FALSE), GetDeviceCaps(hdcDlg, LOGPIXELSY), 72);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0); plfFont->lfWeight = (SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0) == 1) ? FW_BOLD : FW_NORMAL;
GetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName, LF_FACESIZE * sizeof(TCHAR)); plfFont->lfItalic = (BYTE)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0);
GetDlgItemText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, plfFont->lfFaceName, LF_FACESIZE * sizeof(TCHAR));
} }
ReleaseDC(hwndDlg, hdcDlg); ReleaseDC(hwndDlg, hdcDlg);
@ -379,7 +380,7 @@ AdvAppearanceDlg_Init(HWND hwndDlg, GLOBALS *g)
SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_SETCURSEL, iDeskIndex, 0); SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_SETCURSEL, iDeskIndex, 0);
/* Create font for bold button */ /* Create font for bold button */
lfButtonFont = g->Scheme.lfFont[FONT_DIALOG]; lfButtonFont = g->Scheme.ncMetrics.lfMessageFont;
lfButtonFont.lfWeight = FW_BOLD; lfButtonFont.lfWeight = FW_BOLD;
lfButtonFont.lfItalic = FALSE; lfButtonFont.lfItalic = FALSE;
hMyFont = CreateFontIndirect(&lfButtonFont); hMyFont = CreateFontIndirect(&lfButtonFont);
@ -501,27 +502,12 @@ GetSelectedComboInt(HWND hwnd, INT id)
return _ttoi(szBuffer); return _ttoi(szBuffer);
} }
static INT
GetEditedComboInt(HWND hwnd, INT id)
{
INT nCount;
BOOL bTranslated;
nCount = GetDlgItemInt(hwnd, id, &bTranslated, FALSE);
if (bTranslated == FALSE)
return 12;
return nCount;
}
INT_PTR CALLBACK INT_PTR CALLBACK
AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
INT iListIndex; INT iSelection, iProperty;
GLOBALS* g; GLOBALS* g;
PLOGFONTW plfFont;
g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER); g = (GLOBALS*)GetWindowLongPtr(hwndDlg, DWLP_USER);
@ -538,6 +524,9 @@ AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
break; break;
case WM_COMMAND: case WM_COMMAND:
if(g == NULL)
return TRUE;
switch(LOWORD(wParam)) switch(LOWORD(wParam))
{ {
case IDOK: case IDOK:
@ -561,197 +550,87 @@ AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (HIWORD(wParam) == CBN_SELCHANGE) if (HIWORD(wParam) == CBN_SELCHANGE)
{ {
SaveCurrentValues(hwndDlg, g); SaveCurrentValues(hwndDlg, g);
iListIndex = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETCURSEL, 0, 0); iSelection = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETCURSEL, 0, 0);
g->CurrentElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, (WPARAM)iListIndex, 0); g->CurrentElement = SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_ELEMENT, CB_GETITEMDATA, iSelection, 0);
UpdateControls(hwndDlg, g); UpdateControls(hwndDlg, g);
} }
break; break;
case IDC_ADVAPPEARANCE_SIZE_E: case IDC_ADVAPPEARANCE_SIZE_E:
if (g && HIWORD(wParam) == EN_CHANGE) if (HIWORD(wParam) == EN_CHANGE)
{ {
INT i = (INT)LOWORD(SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD, UDM_GETPOS,0,0L)); iProperty = g_Assignment[g->CurrentElement].Size;
if(iProperty == -1)
return TRUE;
switch (g->CurrentElement) iSelection = LOWORD(SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD, UDM_GETPOS,0,0L));
{ SchemeSetMetric(&g->SchemeAdv, iProperty, iSelection);
case IDX_INACTIVE_CAPTION: SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETSIZE, iProperty, iSelection);
case IDX_ACTIVE_CAPTION:
case IDX_CAPTION_BUTTON:
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYCAPTION, 0, i);
break;
case IDX_MENU: iProperty = g_Assignment[g->CurrentElement].Size2;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYMENU, 0, i); if(iProperty != -1)
break; SchemeSetMetric(&g->SchemeAdv, iProperty, iSelection);
case IDX_SCROLLBAR:
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCXSCROLLBAR, 0, i);
break;
case IDX_INACTIVE_BORDER:
case IDX_ACTIVE_BORDER:
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYSIZEFRAME, 0, i);
break;
}
} }
break; break;
case IDC_ADVAPPEARANCE_FONT_C: case IDC_ADVAPPEARANCE_FONT_C:
if (g && HIWORD(wParam) == CBN_SELCHANGE) if (HIWORD(wParam) == CBN_SELCHANGE)
{ {
switch (g->CurrentElement) iProperty = g_Assignment[g->CurrentElement].Font;
{ if(iProperty == -1)
case IDX_INACTIVE_CAPTION: return TRUE;
case IDX_ACTIVE_CAPTION:
GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C,
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_MENU: plfFont = SchemeGetFont(&g->SchemeAdv, iProperty);
GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C, plfFont->lfFaceName);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName); SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETFONT, iProperty, (LPARAM)plfFont);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_DIALOG:
GetSelectedComboText(hwndDlg, IDC_ADVAPPEARANCE_FONT_C,
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfFaceName);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
}
} }
break; break;
case IDC_ADVAPPEARANCE_FONTSIZE_E: case IDC_ADVAPPEARANCE_FONTSIZE_E:
if (g && HIWORD(wParam) == CBN_SELCHANGE) if ((HIWORD(wParam) == CBN_SELCHANGE || HIWORD(wParam) == CBN_EDITCHANGE))
{ {
HDC hdcDlg = GetDC(hwndDlg); HDC hdcDlg;
INT i;
switch (g->CurrentElement) iProperty = g_Assignment[g->CurrentElement].Font;
{ if(iProperty == -1)
case IDX_INACTIVE_CAPTION: return TRUE;
case IDX_ACTIVE_CAPTION:
i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E); hdcDlg = GetDC(hwndDlg);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight =
-MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72); plfFont = SchemeGetFont(&g->SchemeAdv, iProperty);
iSelection = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E);
plfFont->lfHeight = -MulDiv(iSelection , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv); SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_MENU:
i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight =
-MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_DIALOG:
i = GetSelectedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight =
-MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
}
ReleaseDC(hwndDlg, hdcDlg);
}
else if (g && HIWORD(wParam) == CBN_EDITCHANGE)
{
HDC hdcDlg = GetDC(hwndDlg);
INT i;
switch (g->CurrentElement)
{
case IDX_INACTIVE_CAPTION:
case IDX_ACTIVE_CAPTION:
i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight =
-MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_MENU:
i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight =
-MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_DIALOG:
i = GetEditedComboInt(hwndDlg, IDC_ADVAPPEARANCE_FONTSIZE_E);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfHeight =
-MulDiv(i , GetDeviceCaps(hdcDlg, LOGPIXELSY), 72);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
}
ReleaseDC(hwndDlg, hdcDlg); ReleaseDC(hwndDlg, hdcDlg);
} }
break; break;
case IDC_ADVAPPEARANCE_FONTBOLD: case IDC_ADVAPPEARANCE_FONTBOLD:
if (g && HIWORD(wParam) == BN_CLICKED) if (HIWORD(wParam) == BN_CLICKED)
{ {
INT i; iProperty = g_Assignment[g->CurrentElement].Font;
if(iProperty == -1)
return TRUE;
switch (g->CurrentElement) plfFont = SchemeGetFont(&g->SchemeAdv, iProperty);
{ iSelection = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0);
case IDX_INACTIVE_CAPTION: plfFont->lfWeight = (iSelection == BST_CHECKED) ? FW_BOLD : FW_NORMAL;
case IDX_ACTIVE_CAPTION: SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETFONT, iProperty, (LPARAM)plfFont);
i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight =
(i == BST_CHECKED) ? FW_BOLD : FW_NORMAL;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_MENU:
i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight =
(i == BST_CHECKED) ? FW_BOLD : FW_NORMAL;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_DIALOG:
i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTBOLD, BM_GETCHECK, 0, 0);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfWeight =
(i == BST_CHECKED) ? FW_BOLD : FW_NORMAL;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
}
} }
break; break;
case IDC_ADVAPPEARANCE_FONTITALIC: case IDC_ADVAPPEARANCE_FONTITALIC:
if (g && HIWORD(wParam) == BN_CLICKED) if (HIWORD(wParam) == BN_CLICKED)
{ {
INT i; iProperty = g_Assignment[g->CurrentElement].Font;
if(iProperty == -1)
return TRUE;
switch (g->CurrentElement) plfFont = SchemeGetFont(&g->SchemeAdv, iProperty);
{ iSelection = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0);
case IDX_INACTIVE_CAPTION: plfFont->lfItalic = (iSelection == BST_CHECKED) ? TRUE : FALSE;
case IDX_ACTIVE_CAPTION: SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETFONT, iProperty, (LPARAM)plfFont);
i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic =
(i == BST_CHECKED) ? TRUE : FALSE;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_MENU:
i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic =
(i == BST_CHECKED) ? TRUE : FALSE;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
case IDX_DIALOG:
i = (INT)SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_FONTITALIC, BM_GETCHECK, 0, 0);
g->SchemeAdv.lfFont[g_Assignment[g->CurrentElement].Font].lfItalic =
(i == BST_CHECKED) ? TRUE : FALSE;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->SchemeAdv);
break;
}
} }
break; break;

View file

@ -13,90 +13,154 @@
/******************************************************************************/ /******************************************************************************/
static void static void
AppearancePage_ShowColorScemes(GLOBALS *g, HWND hwndColor, INT ThemeId) AppearancePage_UpdateThemePreview(HWND hwndDlg, GLOBALS *g)
{ {
int i, iListIndex; if (g->ActiveTheme.ThemeActive == FALSE)
SendMessage(hwndColor, CB_RESETCONTENT , 0, 0);
if(g->bThemeActive == FALSE)
{ {
for(i = 0; i < g_TemplateCount; i++) SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme);
{ SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SET_HDC_PREVIEW, 0, 0);
iListIndex = SendMessage(hwndColor, CB_ADDSTRING, 0, (LPARAM)g_ColorSchemes[i].strLegacyName);
SendMessage(hwndColor, CB_SETITEMDATA, iListIndex, i);
if (lstrcmp(g_ColorSchemes[i].strKeyName, g->strSelectedStyle) == 0)
{
g->SchemeId = i;
SendMessage(hwndColor, CB_SETCURSEL, (WPARAM)iListIndex, 0);
}
}
} }
else else
{ {
PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, ThemeId); RECT rcWindow;
for(i = 0; i < pTheme->ColorsCount; i++) GetClientRect(GetDlgItem(hwndDlg, IDC_APPEARANCE_PREVIEW), &rcWindow);
DrawThemePreview(g->hdcThemePreview, &g->Scheme, &g->ActiveTheme, &rcWindow);
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SET_HDC_PREVIEW, 0, (LPARAM)g->hdcThemePreview);
}
}
static void
AppearancePage_LoadSelectedScheme(HWND hwndDlg, GLOBALS *g)
{
if (g->ActiveTheme.ThemeActive == FALSE )
{ {
PTHEME_STYLE pStyleName; LoadSchemeFromReg(&g->Scheme, &g->ActiveTheme);
pStyleName = (PTHEME_STYLE)DSA_GetItemPtr(pTheme->Colors, i); }
iListIndex = SendMessage(hwndColor, CB_ADDSTRING, 0, (LPARAM)pStyleName->DisplayName); else
SendMessage(hwndColor, CB_SETITEMDATA, iListIndex, i);
if(i == 0 || (g->pszColorName && wcscmp(pStyleName->StlyeName, g->pszColorName) == 0))
{ {
g->SchemeId = i; LoadSchemeFromTheme(&g->Scheme, &g->ActiveTheme);
SendMessage(hwndColor, CB_SETCURSEL, (WPARAM)iListIndex, 0); }
}
g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP];
}
static void
AppearancePage_ShowStyles(HWND hwndDlg, int nIDDlgItem, PTHEME_STYLE pStyles, PTHEME_STYLE pActiveStyle)
{
int iListIndex;
HWND hwndList = GetDlgItem(hwndDlg, nIDDlgItem);
PTHEME_STYLE pCurrentStyle;
SendMessage(hwndList, CB_RESETCONTENT , 0, 0);
for (pCurrentStyle = pStyles;
pCurrentStyle;
pCurrentStyle = pCurrentStyle->NextStyle)
{
iListIndex = SendMessage(hwndList, CB_ADDSTRING, 0, (LPARAM)pCurrentStyle->DisplayName);
SendMessage(hwndList, CB_SETITEMDATA, iListIndex, (LPARAM)pCurrentStyle);
if (pCurrentStyle == pActiveStyle)
{
SendMessage(hwndList, CB_SETCURSEL, (WPARAM)iListIndex, 0);
} }
} }
} }
static void
AppearancePage_ShowColorSchemes(HWND hwndDlg, GLOBALS *g)
{
AppearancePage_ShowStyles(hwndDlg,
IDC_APPEARANCE_COLORSCHEME,
g->ActiveTheme.Theme->ColoursList,
g->ActiveTheme.Color);
}
static void
AppearancePage_ShowSizes(HWND hwndDlg, GLOBALS *g)
{
PTHEME_STYLE pSizes;
if (g->ActiveTheme.Theme->SizesList)
pSizes = g->ActiveTheme.Theme->SizesList;
else
pSizes = g->ActiveTheme.Color->ChildStyle;
AppearancePage_ShowStyles(hwndDlg,
IDC_APPEARANCE_SIZE,
pSizes,
g->ActiveTheme.Size);
}
static INT_PTR static INT_PTR
AppearancePage_OnInit(HWND hwndDlg) AppearancePage_OnInit(HWND hwndDlg)
{ {
INT i, /*TemplateCount,*/ iListIndex; INT iListIndex;
HWND hwndColor, hwndTheme; HWND hwndColor, hwndTheme;
GLOBALS *g; GLOBALS *g;
RECT rcPreview;
HDC hdcScreen;
PTHEME pTheme;
g = (GLOBALS*)LocalAlloc(LPTR, sizeof(GLOBALS)); g = (GLOBALS*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBALS));
if (g == NULL) if (g == NULL)
return FALSE; return FALSE;
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g); SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)g);
LoadCurrentScheme(&g->Scheme);
g->SchemeAdv = g->Scheme;
g->bThemeChanged = FALSE;
g->bSchemeChanged = FALSE;
g->hBoldFont = g->hItalicFont = NULL;
g->hbmpColor[0] = g->hbmpColor[1] = g->hbmpColor[2] = NULL;
g->bInitializing = FALSE;
g->bThemeActive = FALSE;
LoadThemes(g);
/*TemplateCount = */ LoadSchemePresetEntries(g->strSelectedStyle);
hwndColor = GetDlgItem(hwndDlg, IDC_APPEARANCE_COLORSCHEME);
g->SchemeId = -1;
g->bInitializing = TRUE; g->bInitializing = TRUE;
if (!LoadCurrentScheme(&g->Scheme))
return FALSE;
g->pThemes = LoadThemes();
if (g->pThemes)
{
if (!GetActiveTheme(g->pThemes, &g->ActiveTheme))
g->ActiveTheme.ThemeActive = FALSE;
/*
* Keep a copy of the selected classic theme in order to select this
* when user selects the classic theme (and not a horrible random theme )
*/
if (!GetActiveClassicTheme(g->pThemes, &g->ClassicTheme))
{
g->ClassicTheme.Theme = g->pThemes;
g->ClassicTheme.Color = g->pThemes->ColoursList;
g->ClassicTheme.Size = g->ClassicTheme.Color->ChildStyle;
}
if (g->ActiveTheme.ThemeActive == FALSE)
g->ActiveTheme = g->ClassicTheme;
GetClientRect(GetDlgItem(hwndDlg, IDC_APPEARANCE_PREVIEW), &rcPreview);
hdcScreen = GetDC(NULL);
g->hbmpThemePreview = CreateCompatibleBitmap(hdcScreen, rcPreview.right, rcPreview.bottom);
g->hdcThemePreview = CreateCompatibleDC(hdcScreen);
SelectObject(g->hdcThemePreview, g->hbmpThemePreview);
ReleaseDC(NULL, hdcScreen);
hwndColor = GetDlgItem(hwndDlg, IDC_APPEARANCE_COLORSCHEME);
hwndTheme = GetDlgItem(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); hwndTheme = GetDlgItem(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE);
for(i = 0; i < g->ThemesCount; i++)
for (pTheme = g->pThemes; pTheme; pTheme = pTheme->NextTheme)
{ {
PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, i); iListIndex = SendMessage(hwndTheme, CB_ADDSTRING, 0, (LPARAM)pTheme->DisplayName);
iListIndex = SendMessage(hwndTheme, CB_ADDSTRING, 0, (LPARAM)pTheme->displayName); SendMessage(hwndTheme, CB_SETITEMDATA, iListIndex, (LPARAM)pTheme);
SendMessage(hwndTheme, CB_SETITEMDATA, iListIndex, i); if (pTheme == g->ActiveTheme.Theme)
if((!pTheme->themeFileName && !IsThemeActive()) ||
(pTheme->themeFileName && g->pszThemeFileName && wcscmp(pTheme->themeFileName, g->pszThemeFileName) == 0 ))
{ {
g->ThemeId = i;
g->bThemeActive = (pTheme->themeFileName != NULL);
SendMessage(hwndTheme, CB_SETCURSEL, (WPARAM)iListIndex, 0); SendMessage(hwndTheme, CB_SETCURSEL, (WPARAM)iListIndex, 0);
AppearancePage_ShowColorScemes(g, hwndColor, i); }
} }
if (g->ActiveTheme.Theme)
{
AppearancePage_ShowColorSchemes(hwndDlg, g);
AppearancePage_ShowSizes(hwndDlg, g);
AppearancePage_UpdateThemePreview(hwndDlg, g);
}
} }
g->bInitializing = FALSE; g->bInitializing = FALSE;
return FALSE; return FALSE;
@ -105,11 +169,11 @@ AppearancePage_OnInit(HWND hwndDlg)
static VOID static VOID
AppearancePage_OnDestroy(HWND hwndDlg, GLOBALS *g) AppearancePage_OnDestroy(HWND hwndDlg, GLOBALS *g)
{ {
LocalFree(g); HeapFree(GetProcessHeap(), 0, g);
} }
static INT static PVOID
GetSelectedId(HWND hwndDlg, int nIDDlgItem) GetSelectedData(HWND hwndDlg, int nIDDlgItem)
{ {
HWND hwndCombo; HWND hwndCombo;
INT sel; INT sel;
@ -117,8 +181,8 @@ GetSelectedId(HWND hwndDlg, int nIDDlgItem)
hwndCombo = GetDlgItem(hwndDlg, nIDDlgItem); hwndCombo = GetDlgItem(hwndDlg, nIDDlgItem);
sel = SendMessage(hwndCombo, CB_GETCURSEL, 0, 0); sel = SendMessage(hwndCombo, CB_GETCURSEL, 0, 0);
if (sel == CB_ERR) if (sel == CB_ERR)
return -1; return NULL;
return (INT)SendMessage(hwndCombo, CB_GETITEMDATA, (WPARAM)sel, 0); return (PVOID)SendMessage(hwndCombo, CB_GETITEMDATA, (WPARAM)sel, 0);
} }
INT_PTR CALLBACK INT_PTR CALLBACK
@ -139,6 +203,9 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
break; break;
case WM_COMMAND: case WM_COMMAND:
if(g == NULL || g->bInitializing)
return FALSE;
switch (LOWORD(wParam)) switch (LOWORD(wParam))
{ {
case IDC_APPEARANCE_EFFECTS: case IDC_APPEARANCE_EFFECTS:
@ -148,11 +215,6 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
PropSheet_Changed(GetParent(hwndDlg), hwndDlg); PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
g->Scheme = g->SchemeAdv; g->Scheme = g->SchemeAdv;
g->bSchemeChanged = TRUE; g->bSchemeChanged = TRUE;
// Effects dialog doesn't change the color scheme, therefore the following lines are commented out, until fixed finally
//g->SchemeId = -1; /* Customized */
//SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_SETCURSEL, (WPARAM)-1, 0);
//SetDlgItemText(hwndDlg, IDC_APPEARANCE_COLORSCHEME, TEXT(""));
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme);
} }
break; break;
@ -163,54 +225,71 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
PropSheet_Changed(GetParent(hwndDlg), hwndDlg); PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
g->bSchemeChanged = TRUE; g->bSchemeChanged = TRUE;
g->Scheme = g->SchemeAdv; g->Scheme = g->SchemeAdv;
g->SchemeId = -1; /* Customized */
g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP]; g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP];
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_COLORSCHEME, CB_SETCURSEL, (WPARAM)-1, 0); AppearancePage_UpdateThemePreview(hwndDlg, g);
SetDlgItemText(hwndDlg, IDC_APPEARANCE_COLORSCHEME, TEXT(""));
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme);
} }
break; break;
case IDC_APPEARANCE_COLORSCHEME: case IDC_APPEARANCE_COLORSCHEME:
if (HIWORD(wParam) == CBN_SELCHANGE && !g->bInitializing) if (HIWORD(wParam) == CBN_SELCHANGE)
{ {
INT SchemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_COLORSCHEME); g->ActiveTheme.Color = (PTHEME_STYLE)GetSelectedData(hwndDlg, IDC_APPEARANCE_COLORSCHEME);
if (g->ActiveTheme.Color->ChildStyle != NULL)
PropSheet_Changed(GetParent(hwndDlg), hwndDlg); g->ActiveTheme.Size = g->ActiveTheme.Color->ChildStyle;
if(g->bThemeActive == FALSE)
{
COLOR_SCHEME Scheme;
g->bSchemeChanged = TRUE; g->bSchemeChanged = TRUE;
if (SchemeId != -1 && LoadSchemeFromReg(&Scheme, SchemeId)) if (g->ActiveTheme.ThemeActive)
{
g->Scheme = Scheme;
g_GlobalData.desktop_color = g->Scheme.crColor[COLOR_DESKTOP];
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&Scheme);
}
}
else
{
g->bThemeChanged = TRUE; g->bThemeChanged = TRUE;
}
}
break;
case IDC_APPEARANCE_VISUAL_STYLE:
if (HIWORD(wParam) == CBN_SELCHANGE && !g->bInitializing)
{
INT ThemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE);
HWND hwndColor = GetDlgItem(hwndDlg, IDC_APPEARANCE_COLORSCHEME);
PropSheet_Changed(GetParent(hwndDlg), hwndDlg); PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
g->bThemeActive = (ThemeId!=0); AppearancePage_LoadSelectedScheme(hwndDlg, g);
g->bThemeChanged = TRUE; AppearancePage_ShowSizes(hwndDlg, g);
AppearancePage_ShowColorScemes(g, hwndColor, ThemeId); AppearancePage_UpdateThemePreview(hwndDlg, g);
} }
break; break;
case IDC_APPEARANCE_VISUAL_STYLE:
if (HIWORD(wParam) == CBN_SELCHANGE)
{
PTHEME pTheme = (PTHEME)GetSelectedData(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE);
if (g->ClassicTheme.Theme == pTheme)
g->ActiveTheme = g->ClassicTheme;
else
{
g->ActiveTheme.Theme = pTheme;
g->ActiveTheme.Size = pTheme->SizesList;
g->ActiveTheme.Color = pTheme->ColoursList;
g->ActiveTheme.ThemeActive = TRUE;
}
g->bThemeChanged = TRUE;
g->bSchemeChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
AppearancePage_ShowColorSchemes(hwndDlg, g);
AppearancePage_ShowSizes(hwndDlg, g);
AppearancePage_LoadSelectedScheme(hwndDlg, g);
AppearancePage_UpdateThemePreview(hwndDlg, g);
}
break;
case IDC_APPEARANCE_SIZE:
if (HIWORD(wParam) == CBN_SELCHANGE)
{
g->ActiveTheme.Size = (PTHEME_STYLE)GetSelectedData(hwndDlg, IDC_APPEARANCE_SIZE);
g->bSchemeChanged = TRUE;
if(g->ActiveTheme.ThemeActive)
g->bThemeChanged = TRUE;
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
AppearancePage_LoadSelectedScheme(hwndDlg, g);
AppearancePage_UpdateThemePreview(hwndDlg, g);
}
} }
break; break;
@ -220,21 +299,19 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
case PSN_APPLY: case PSN_APPLY:
g->ThemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_VISUAL_STYLE); if (g->bThemeChanged)
g->SchemeId = GetSelectedId(hwndDlg, IDC_APPEARANCE_COLORSCHEME);
if(g->bSchemeChanged)
{ {
ApplyScheme(&g->Scheme, g->SchemeId); ActivateTheme(&g->ActiveTheme);
} }
if(g->bThemeChanged) if (g->bSchemeChanged)
{ {
PTHEME pTheme = (PTHEME)DSA_GetItemPtr(g->Themes, g->ThemeId); ApplyScheme(&g->Scheme, &g->ActiveTheme);
ActivateTheme(pTheme, g->SchemeId, 0); if (g->ActiveTheme.ThemeActive == FALSE)
g->ClassicTheme = g->ActiveTheme;
} }
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); AppearancePage_UpdateThemePreview(hwndDlg, g);
g->bThemeChanged = FALSE; g->bThemeChanged = FALSE;
g->bSchemeChanged = FALSE; g->bSchemeChanged = FALSE;
SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, (LONG_PTR)PSNRET_NOERROR); SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, (LONG_PTR)PSNRET_NOERROR);
@ -248,7 +325,7 @@ AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
if (g->Scheme.crColor[COLOR_DESKTOP] != g_GlobalData.desktop_color) if (g->Scheme.crColor[COLOR_DESKTOP] != g_GlobalData.desktop_color)
{ {
g->Scheme.crColor[COLOR_DESKTOP] = g_GlobalData.desktop_color; g->Scheme.crColor[COLOR_DESKTOP] = g_GlobalData.desktop_color;
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_UPDATETHEME, 0, (LPARAM)&g->Scheme); AppearancePage_UpdateThemePreview(hwndDlg, g);
} }
break; break;
} }

View file

@ -1,36 +1,28 @@
/* Some definitions for theme */ /* Some definitions for theme */
#define SIZE_BORDER_X 0 #define SIZE_BORDER_WIDTH 0
#define SIZE_BORDER_Y 1 #define SIZE_SCROLL_WIDTH 1
#define SIZE_CAPTION_Y 2 #define SIZE_SCROLL_HEIGHT 2
#define SIZE_ICON_X 3 #define SIZE_CAPTION_WIDTH 3
#define SIZE_ICON_Y 4 #define SIZE_CAPTION_HEIGHT 4
#define SIZE_ICON_SPC_X 5 #define SIZE_SM_CAPTION_WIDTH 5
#define SIZE_ICON_SPC_Y 6 #define SIZE_SM_CAPTION_HEIGHT 6
#define SIZE_MENU_SIZE_X 7 #define SIZE_MENU_WIDTH 7
#define SIZE_MENU_Y 8 #define SIZE_MENU_HEIGHT 8
#define SIZE_SCROLL_X 9
#define SIZE_SCROLL_Y 10 #define SIZE_ICON_SPACE_X 9
#define SIZE_SMCAPTION_Y 11 #define SIZE_ICON_SPACE_Y 10
#define SIZE_EDGE_X 12 #define SIZE_ICON 11
#define SIZE_EDGE_Y 13
#define SIZE_FRAME_Y 14
#define SIZE_MENU_CHECK_X 15
#define SIZE_MENU_CHECK_Y 16
#define SIZE_MENU_SIZE_Y 17
#define SIZE_SIZE_X 18
#define SIZE_SIZE_Y 19
#define FONT_CAPTION 0 #define FONT_CAPTION 0
#define FONT_SMCAPTION 1 #define FONT_SMCAPTION 1
#define FONT_HILIGHT 2
#define FONT_MENU 2 #define FONT_MENU 2
#define FONT_ICON 3 #define FONT_STATUS 3
#define FONT_INFO 4 #define FONT_MESSAGE 4
#define FONT_DIALOG 5 #define FONT_ICON 5
#define NUM_ELEMENTS 22 #define NUM_ELEMENTS 22
#define NUM_FONTS 6 #define NUM_FONTS 6
#define NUM_SIZES 20 #define NUM_SIZES 9
#define NUM_COLORS 31 #define NUM_COLORS 31
#define MAX_TEMPLATES 50 #define MAX_TEMPLATES 50
#define MAX_TEMPLATENAMELENTGH 80 #define MAX_TEMPLATENAMELENTGH 80
@ -61,56 +53,66 @@ typedef struct
typedef struct typedef struct
{ {
NONCLIENTMETRICSW ncMetrics;
ICONMETRICSW icMetrics;
COLORREF crColor[NUM_COLORS]; COLORREF crColor[NUM_COLORS];
LOGFONT lfFont[NUM_FONTS]; INT iIconSize;
INT Size[NUM_SIZES];
BOOL bFlatMenus; BOOL bFlatMenus;
EFFECTS Effects; EFFECTS Effects;
} COLOR_SCHEME; } COLOR_SCHEME, *PCOLOR_SCHEME;
typedef struct /*
{ * The classic theme has several different 'colours' and every colour has
TCHAR strKeyName[4]; * several sizes. On visual styles however a theme has different colours
TCHAR strSizeName[4]; * and different sizes. In other words the user can select a combination
TCHAR strDisplayName[MAX_TEMPLATENAMELENTGH]; * of colour and size.
TCHAR strLegacyName[MAX_TEMPLATENAMELENTGH]; * That means that for the classic theme THEME.SizesList is unused and
} SCHEME_PRESET; * every color has some child styles that corespond its sizes.
* The themes for visual styles however will use both ColoursList and SizesList
* and ChildStyle will not be used.
*/
/* struct for holding theme colors and sizes */ /* struct for holding theme colors and sizes */
typedef struct _THEME_STYLE typedef struct _THEME_STYLE
{ {
WCHAR* StlyeName; struct _THEME_STYLE *NextStyle;
WCHAR* DisplayName; struct _THEME_STYLE *ChildStyle;
PWSTR StyleName;
PWSTR DisplayName;
} THEME_STYLE, *PTHEME_STYLE; } THEME_STYLE, *PTHEME_STYLE;
typedef struct _THEME typedef struct _THEME
{ {
WCHAR* themeFileName; struct _THEME *NextTheme;
WCHAR* displayName; PWSTR ThemeFileName;
HDSA Colors; PWSTR DisplayName;
int ColorsCount; THEME_STYLE *ColoursList;
HDSA Sizes; THEME_STYLE *SizesList;
int SizesCount;
} THEME, *PTHEME; } THEME, *PTHEME;
/* This is the global structure used to store the current values. typedef struct _THEME_SELECTION
A pointer of this get's passed to the functions either directly {
or by passing hwnd and getting the pointer by GetWindowLongPtr */ BOOL ThemeActive;
PTHEME Theme;
PTHEME_STYLE Color;
PTHEME_STYLE Size;
} THEME_SELECTION, *PTHEME_SELECTION;
/*
* This is the global structure used to store the current values.
* A pointer of this get's passed to the functions either directly
* or by passing hwnd and getting the pointer by GetWindowLongPtr.
*/
typedef struct tagGLOBALS typedef struct tagGLOBALS
{ {
HDSA Themes; PTHEME pThemes;
int ThemesCount;
BOOL bThemeActive;
INT ThemeId; /*
INT SchemeId; /* Theme is customized if SchemeId == -1 */ * Keep a copy of the selected classic theme in order to select this
INT SizeID; * when user selects the classic theme (and not a horrible random theme )
TCHAR strSelectedStyle[4]; */
THEME_SELECTION ClassicTheme;
LPWSTR pszThemeFileName; THEME_SELECTION ActiveTheme;
LPWSTR pszColorName;
LPWSTR pszSizeName;
COLOR_SCHEME Scheme; COLOR_SCHEME Scheme;
COLOR_SCHEME SchemeAdv; COLOR_SCHEME SchemeAdv;
@ -121,20 +123,25 @@ typedef struct tagGLOBALS
HFONT hBoldFont; HFONT hBoldFont;
HFONT hItalicFont; HFONT hItalicFont;
BOOL bInitializing; BOOL bInitializing;
HBITMAP hbmpThemePreview;
HDC hdcThemePreview;
} GLOBALS; } GLOBALS;
extern SCHEME_PRESET g_ColorSchemes[MAX_TEMPLATES];
extern INT g_TemplateCount;
/* prototypes for theme.c */ /* prototypes for theme.c */
VOID LoadCurrentScheme(COLOR_SCHEME* scheme); VOID SchemeSetMetric(COLOR_SCHEME *scheme, int id, int value);
BOOL LoadSchemeFromReg(COLOR_SCHEME* scheme, INT SchemeId); int SchemeGetMetric(COLOR_SCHEME *scheme, int id);
VOID ApplyScheme(COLOR_SCHEME* scheme, INT SchemeId); PLOGFONTW SchemeGetFont(COLOR_SCHEME *scheme, int id);
BOOL SaveScheme(COLOR_SCHEME* scheme, LPCTSTR strLegacyName); PTHEME LoadThemes(VOID);
INT LoadSchemePresetEntries(LPTSTR pszSelectedStyle); BOOL GetActiveTheme(PTHEME pThemeList, PTHEME_SELECTION pSelectedTheme);
VOID LoadThemes(GLOBALS *g); BOOL GetActiveClassicTheme(PTHEME pThemeList, PTHEME_SELECTION pSelectedTheme);
HRESULT ActivateTheme(PTHEME pTheme, int iColor, int iSize); BOOL LoadCurrentScheme(PCOLOR_SCHEME scheme);
void CleanupThemes(GLOBALS *g); BOOL LoadSchemeFromReg(PCOLOR_SCHEME scheme, PTHEME_SELECTION pSelectedTheme);
BOOL LoadSchemeFromTheme(PCOLOR_SCHEME scheme, PTHEME_SELECTION pSelectedTheme);
VOID ApplyScheme(PCOLOR_SCHEME scheme, PTHEME_SELECTION pSelectedTheme);
BOOL ActivateTheme(PTHEME_SELECTION pSelectedTheme);
void CleanupThemes(IN PTHEME pThemeList);
BOOL DrawThemePreview(HDC hdcMem, PCOLOR_SCHEME scheme, PTHEME_SELECTION pSelectedTheme, PRECT prcWindow);
/* prototypes for appearance.c */ /* prototypes for appearance.c */
INT_PTR CALLBACK AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); INT_PTR CALLBACK AppearancePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);

View file

@ -14,6 +14,8 @@
#include <cpl.h> #include <cpl.h>
#include <tchar.h> #include <tchar.h>
#include <setupapi.h> #include <setupapi.h>
#include <assert.h>
#include <shlwapi.h>
#include <shlobj.h> #include <shlobj.h>
#include <regstr.h> #include <regstr.h>
#include <cplext.h> #include <cplext.h>
@ -21,6 +23,7 @@
#include <cfgmgr32.h> #include <cfgmgr32.h>
#include <uxtheme.h> #include <uxtheme.h>
#include <uxundoc.h> #include <uxundoc.h>
#include <vssym32.h>
#include "appearance.h" #include "appearance.h"
#include "preview.h" #include "preview.h"
@ -105,6 +108,7 @@ typedef struct _GLOBAL_DATA
} GLOBAL_DATA, *PGLOBAL_DATA; } GLOBAL_DATA, *PGLOBAL_DATA;
extern GLOBAL_DATA g_GlobalData; extern GLOBAL_DATA g_GlobalData;
extern HWND hCPLWindow;
BOOL BOOL
DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice); DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice);
@ -116,3 +120,13 @@ HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY,LPCWSTR,UINT,IDataObject*);
INT_PTR CALLBACK INT_PTR CALLBACK
AdvGeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); AdvGeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
LONG
RegLoadMUIStringW(IN HKEY hKey,
IN LPCWSTR pszValue OPTIONAL,
OUT LPWSTR pszOutBuf,
IN DWORD cbOutBuf,
OUT LPDWORD pcbData OPTIONAL,
IN DWORD Flags,
IN LPCWSTR pszDirectory OPTIONAL);

View file

@ -98,6 +98,10 @@ MyIntDrawRectEdge(HDC hdc, LPRECT rc, UINT uType, UINT uFlags, COLOR_SCHEME *sch
RBOuterPen = GetStockObject(DC_PEN); RBOuterPen = GetStockObject(DC_PEN);
{ {
HBRUSH hbr; HBRUSH hbr;
if((uFlags & MY_BF_ACTIVEBORDER))
hbr = CreateSolidBrush(scheme->crColor[COLOR_ACTIVEBORDER]);
else
hbr = CreateSolidBrush(scheme->crColor[COLOR_BTNFACE]); hbr = CreateSolidBrush(scheme->crColor[COLOR_BTNFACE]);
FillRect(hdc, &InnerRect, hbr); FillRect(hdc, &InnerRect, hbr);
DeleteObject(hbr); DeleteObject(hbr);

View file

@ -10,3 +10,7 @@ BOOL
MyDrawCaptionTemp(HWND hwnd, HDC hdc, const RECT *rect, HFONT hFont, HICON hIcon, LPCWSTR str, UINT uFlags, COLOR_SCHEME *scheme); MyDrawCaptionTemp(HWND hwnd, HDC hdc, const RECT *rect, HFONT hFont, HICON hIcon, LPCWSTR str, UINT uFlags, COLOR_SCHEME *scheme);
DWORD DWORD
MyDrawMenuBarTemp(HWND Wnd, HDC DC, LPRECT Rect, HMENU Menu, HFONT Font, COLOR_SCHEME *scheme); MyDrawMenuBarTemp(HWND Wnd, HDC DC, LPRECT Rect, HMENU Menu, HFONT Font, COLOR_SCHEME *scheme);
#define MY_BF_ACTIVEBORDER 0x1000000
#define MY_BF_INACTIVEBORDER 0x2000000

View file

@ -46,7 +46,7 @@ BEGIN
PUSHBUTTON "Захранване...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "Захранване...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Облик" CAPTION "Облик"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -57,6 +57,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Разцветка", IDC_STATIC, 7, 160, 64, 7 LTEXT "Разцветка", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Ефекти", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Ефекти", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Още", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Още", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -233,6 +235,7 @@ BEGIN
IDS_MESSBOX "Кутия за съобщения" IDS_MESSBOX "Кутия за съобщения"
IDS_MESSTEXT "Текст на съобщенията" IDS_MESSTEXT "Текст на съобщенията"
IDS_BUTTEXT "Добре" IDS_BUTTEXT "Добре"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -50,7 +50,7 @@ BEGIN
PUSHBUTTON "Na&pájení...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "Na&pájení...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Vzhled" CAPTION "Vzhled"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -61,6 +61,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Schéma", IDC_STATIC, 7, 160, 64, 7 LTEXT "Schéma", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Upřesnit", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Upřesnit", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -237,6 +239,7 @@ BEGIN
IDS_MESSBOX "Okno zprávy" IDS_MESSBOX "Okno zprávy"
IDS_MESSTEXT "Text zprávy" IDS_MESSTEXT "Text zprávy"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "Energieoptionen", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "Energieoptionen", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Darstellung" CAPTION "Darstellung"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Farbschema", IDC_STATIC, 7, 160, 64, 7 LTEXT "Farbschema", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effekte...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effekte...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Erweitert", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Erweitert", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Dialogfeld" IDS_MESSBOX "Dialogfeld"
IDS_MESSTEXT "Dialogfeldtext" IDS_MESSTEXT "Dialogfeldtext"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "Ενέργεια...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "Ενέργεια...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Εμφάνιση" CAPTION "Εμφάνιση"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Συνδυασμός χρωμάτων", IDC_STATIC, 7, 160, 64, 7 LTEXT "Συνδυασμός χρωμάτων", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Μέγεθος", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Για προχωρημένους", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Για προχωρημένους", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Παράθυρο μηνύματος" IDS_MESSBOX "Παράθυρο μηνύματος"
IDS_MESSTEXT "Κείμενο μυνήματος" IDS_MESSTEXT "Κείμενο μυνήματος"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Κλασικό θέμα"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Appearance" CAPTION "Appearance"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Colorscheme", IDC_STATIC, 7, 160, 64, 7 LTEXT "Colorscheme", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Ad&vanced...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Ad&vanced...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Message Box" IDS_MESSBOX "Message Box"
IDS_MESSTEXT "Message Text" IDS_MESSTEXT "Message Text"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -52,7 +52,7 @@ BEGIN
PUSHBUTTON "E&nergía...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "E&nergía...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Apariencia" CAPTION "Apariencia"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -63,6 +63,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Com&binación de colores", IDC_STATIC, 7, 160, 90, 7 // 64 LTEXT "Com&binación de colores", IDC_STATIC, 7, 160, 90, 7 // 64
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Efectos...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Efectos...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Opciones &avanzadas", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Opciones &avanzadas", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -239,6 +241,7 @@ BEGIN
IDS_MESSBOX "Cuadro de mensaje" IDS_MESSBOX "Cuadro de mensaje"
IDS_MESSTEXT "Texto del mensaje" IDS_MESSTEXT "Texto del mensaje"
IDS_BUTTEXT "Aceptar" IDS_BUTTEXT "Aceptar"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -47,7 +47,7 @@ BEGIN
PUSHBUTTON "&Gestion de l'alimentation...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "&Gestion de l'alimentation...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Apparence" CAPTION "Apparence"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -58,6 +58,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Modèle de couleurs", IDC_STATIC, 7, 160, 64, 7 LTEXT "Modèle de couleurs", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effets...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effets...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Avancé", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Avancé", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -234,6 +236,7 @@ BEGIN
IDS_MESSBOX "Boîte de message" IDS_MESSBOX "Boîte de message"
IDS_MESSTEXT "Texte de message" IDS_MESSTEXT "Texte de message"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "מראה" CAPTION "מראה"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "ערכת צבעים", IDC_STATIC, 7, 160, 64, 7 LTEXT "ערכת צבעים", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "אפקטים...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "אפקטים...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "מתקדם...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "מתקדם...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Message Box" IDS_MESSBOX "Message Box"
IDS_MESSTEXT "Message Text" IDS_MESSTEXT "Message Text"
IDS_BUTTEXT "אישור" IDS_BUTTEXT "אישור"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -45,7 +45,7 @@ BEGIN
PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Megjelenés" CAPTION "Megjelenés"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -56,6 +56,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Colorscheme", IDC_STATIC, 7, 160, 64, 7 LTEXT "Colorscheme", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Advanced", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Advanced", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -232,6 +234,7 @@ BEGIN
IDS_MESSBOX "Message Box" IDS_MESSBOX "Message Box"
IDS_MESSTEXT "Message Text" IDS_MESSTEXT "Message Text"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Penampilan" CAPTION "Penampilan"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "SkemaWarna", IDC_STATIC, 7, 160, 64, 7 LTEXT "SkemaWarna", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Lanjutan", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Lanjutan", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Kotak Pesan" IDS_MESSBOX "Kotak Pesan"
IDS_MESSTEXT "Teks Pesan" IDS_MESSTEXT "Teks Pesan"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "Alim&entazione...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "Alim&entazione...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Aspetto" CAPTION "Aspetto"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Schema dei colori", IDC_STATIC, 7, 160, 64, 7 LTEXT "Schema dei colori", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effetti...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effetti...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "A&vanzato...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "A&vanzato...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Messaggi" IDS_MESSBOX "Messaggi"
IDS_MESSTEXT "Testo dei messaggi" IDS_MESSTEXT "Testo dei messaggi"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "電源(&O)...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "電源(&O)...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "デザイン" CAPTION "デザイン"
FONT 9, "MS UI Gothic" FONT 9, "MS UI Gothic"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "配色", IDC_STATIC, 7, 160, 64, 7 LTEXT "配色", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "効果(&E)...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "効果(&E)...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "詳細設定(&V)...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "詳細設定(&V)...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "メッセージ ボックス" IDS_MESSBOX "メッセージ ボックス"
IDS_MESSTEXT "メッセージ テキスト" IDS_MESSTEXT "メッセージ テキスト"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -46,7 +46,7 @@ BEGIN
PUSHBUTTON "&Energie...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "&Energie...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Vormgeving" CAPTION "Vormgeving"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -57,6 +57,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Kleurenschema", IDC_STATIC, 7, 160, 64, 7 LTEXT "Kleurenschema", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effecten...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effecten...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Geavan&ceerd...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Geavan&ceerd...", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -233,6 +235,7 @@ BEGIN
IDS_MESSBOX "Berichtvenster" IDS_MESSBOX "Berichtvenster"
IDS_MESSTEXT "Berichttekst" IDS_MESSTEXT "Berichttekst"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "S&trøm...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "S&trøm...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Utseende" CAPTION "Utseende"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Fargevalg", IDC_STATIC, 7, 160, 64, 7 LTEXT "Fargevalg", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effekter...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effekter...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Avansert", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Avansert", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Meldingboks" IDS_MESSBOX "Meldingboks"
IDS_MESSTEXT "Meldingtekst" IDS_MESSTEXT "Meldingtekst"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -53,7 +53,7 @@ BEGIN
PUSHBUTTON "Z&asilanie...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "Z&asilanie...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Wygląd" CAPTION "Wygląd"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -64,6 +64,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Schemat kolorów", IDC_STATIC, 7, 160, 64, 7 LTEXT "Schemat kolorów", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Zaawansowane", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Zaawansowane", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -240,6 +242,7 @@ BEGIN
IDS_MESSBOX "Okno komunikatu" IDS_MESSBOX "Okno komunikatu"
IDS_MESSTEXT "Treść wiadomości" IDS_MESSTEXT "Treść wiadomości"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -45,7 +45,7 @@ BEGIN
PUSHBUTTON "&Energie…", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "&Energie…", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Aspect" CAPTION "Aspect"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -56,6 +56,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Colorit", IDC_STATIC, 7, 160, 64, 7 LTEXT "Colorit", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Efecte…", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Efecte…", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "A&vansate…", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "A&vansate…", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -232,6 +234,7 @@ BEGIN
IDS_MESSBOX "Fereastră mesaj" IDS_MESSBOX "Fereastră mesaj"
IDS_MESSTEXT "Text mesaj" IDS_MESSTEXT "Text mesaj"
IDS_BUTTEXT "Î&nchide" IDS_BUTTEXT "Î&nchide"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -44,7 +44,7 @@ BEGIN
PUSHBUTTON "П&итание...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "П&итание...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Оформление" CAPTION "Оформление"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -55,6 +55,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Цветовая схема", IDC_STATIC, 7, 160, 64, 7 LTEXT "Цветовая схема", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Эффекты...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Эффекты...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Дополнительно", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Дополнительно", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -231,6 +233,7 @@ BEGIN
IDS_MESSBOX "Окно сообщения" IDS_MESSBOX "Окно сообщения"
IDS_MESSTEXT "Сообщение" IDS_MESSTEXT "Сообщение"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -52,7 +52,7 @@ BEGIN
PUSHBUTTON "N&apájanie...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "N&apájanie...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Vzhľad" CAPTION "Vzhľad"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -63,6 +63,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "&Farebná schéma", IDC_STATIC, 7, 160, 64, 7 LTEXT "&Farebná schéma", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "&Spresniť", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "&Spresniť", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -239,6 +241,7 @@ BEGIN
IDS_MESSBOX "Okno správy" IDS_MESSBOX "Okno správy"
IDS_MESSTEXT "Text správy" IDS_MESSTEXT "Text správy"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -47,7 +47,7 @@ BEGIN
PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "P&ower...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Utseende" CAPTION "Utseende"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -58,6 +58,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Item", IDC_STATIC, 7, 160, 64, 7 LTEXT "Item", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Effects...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Advanced", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Advanced", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -234,6 +236,7 @@ BEGIN
IDS_MESSBOX "Message Box" IDS_MESSBOX "Message Box"
IDS_MESSTEXT "Message Text" IDS_MESSTEXT "Message Text"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -52,7 +52,7 @@ BEGIN
PUSHBUTTON "&Живлення...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "&Живлення...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "Оформлення" CAPTION "Оформлення"
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
@ -63,6 +63,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Колірна схема", IDC_STATIC, 7, 160, 64, 7 LTEXT "Колірна схема", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "&Ефекти...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "&Ефекти...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "Додатково", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "Додатково", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -239,6 +241,7 @@ BEGIN
IDS_MESSBOX "Вікно повідомлення" IDS_MESSBOX "Вікно повідомлення"
IDS_MESSTEXT "Повідомлення" IDS_MESSTEXT "Повідомлення"
IDS_BUTTEXT "OK" IDS_BUTTEXT "OK"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -51,7 +51,7 @@ BEGIN
PUSHBUTTON "电源(&O)...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13 PUSHBUTTON "电源(&O)...", IDC_SCREENS_POWER_BUTTON, 165, 171, 61, 13
END END
IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 204 IDD_APPEARANCE DIALOGEX DISCARDABLE 0, 0, 246, 234
STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "外观" CAPTION "外观"
FONT 9, "MS Shell Dlg" FONT 9, "MS Shell Dlg"
@ -62,6 +62,8 @@ BEGIN
COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_VISUAL_STYLE, 7, 140, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "色彩方案", IDC_STATIC, 7, 160, 64, 7 LTEXT "色彩方案", IDC_STATIC, 7, 160, 64, 7
COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 170, 134, 90 , CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
LTEXT "Size", IDC_STATIC, 7, 190, 64, 7
COMBOBOX IDC_APPEARANCE_SIZE, 7, 200, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "效果(&E)...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 PUSHBUTTON "效果(&E)...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15
PUSHBUTTON "高级(&D)", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 PUSHBUTTON "高级(&D)", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15
END END
@ -238,6 +240,7 @@ BEGIN
IDS_MESSBOX "消息框" IDS_MESSBOX "消息框"
IDS_MESSTEXT "消息内容" IDS_MESSTEXT "消息内容"
IDS_BUTTEXT "确定" IDS_BUTTEXT "确定"
IDS_CLASSIC_THEME "Classic Theme"
END END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE

View file

@ -12,6 +12,8 @@ static const TCHAR szPreviewWndClass[] = TEXT("PreviewWndClass");
typedef struct _PREVIEW_DATA typedef struct _PREVIEW_DATA
{ {
HDC hdcPreview;
HWND hwndParent; HWND hwndParent;
COLOR_SCHEME Scheme; COLOR_SCHEME Scheme;
@ -80,27 +82,27 @@ static VOID UpdatePreviewTheme(HWND hwnd, PPREVIEW_DATA pPreviewData, COLOR_SCHE
DeleteObject(pPreviewData->hbrWindow); DeleteObject(pPreviewData->hbrWindow);
pPreviewData->hbrWindow = CreateSolidBrush(scheme->crColor[COLOR_WINDOW]); pPreviewData->hbrWindow = CreateSolidBrush(scheme->crColor[COLOR_WINDOW]);
pPreviewData->cxEdge = scheme->Size[SIZE_EDGE_X] - 2; /* SM_CXEDGE */ pPreviewData->cxEdge = 2; /* SM_CXEDGE */
pPreviewData->cyEdge = scheme->Size[SIZE_EDGE_Y] - 2; /* SM_CYEDGE */ pPreviewData->cyEdge = 2; /* SM_CYEDGE */
pPreviewData->cySizeFrame = scheme->Size[SIZE_FRAME_Y] - 1; /* SM_CYSIZEFRAME */ pPreviewData->cySizeFrame = scheme->ncMetrics.iBorderWidth; /* SM_CYSIZEFRAME */
pPreviewData->cyCaption = scheme->Size[SIZE_CAPTION_Y]; /* SM_CYCAPTION */ pPreviewData->cyCaption = scheme->ncMetrics.iCaptionHeight+1; /* SM_CYCAPTION */
pPreviewData->cyMenu = scheme->Size[SIZE_MENU_Y]; /* SM_CYMENU */ pPreviewData->cyMenu = scheme->ncMetrics.iMenuHeight -1; /* SM_CYMENU */
pPreviewData->cxScrollbar = scheme->Size[SIZE_SCROLL_X]; /* SM_CXVSCROLL */ pPreviewData->cxScrollbar = scheme->ncMetrics.iScrollWidth; /* SM_CXVSCROLL */
pPreviewData->cyBorder = scheme->Size[SIZE_BORDER_Y]; /* SM_CYBORDER */ pPreviewData->cyBorder = scheme->ncMetrics.iBorderWidth; /* SM_CYBORDER */
if (pPreviewData->hCaptionFont != NULL) if (pPreviewData->hCaptionFont != NULL)
DeleteObject(pPreviewData->hCaptionFont); DeleteObject(pPreviewData->hCaptionFont);
pPreviewData->hCaptionFont = CreateFontIndirect(&scheme->lfFont[FONT_CAPTION]); pPreviewData->hCaptionFont = CreateFontIndirect(&scheme->ncMetrics.lfCaptionFont);
if (pPreviewData->hMenuFont != NULL) if (pPreviewData->hMenuFont != NULL)
DeleteObject(pPreviewData->hMenuFont); DeleteObject(pPreviewData->hMenuFont);
pPreviewData->hMenuFont = CreateFontIndirect(&scheme->lfFont[FONT_MENU]); pPreviewData->hMenuFont = CreateFontIndirect(&scheme->ncMetrics.lfMenuFont);
if (pPreviewData->hMessageFont != NULL) if (pPreviewData->hMessageFont != NULL)
DeleteObject(pPreviewData->hMessageFont); DeleteObject(pPreviewData->hMessageFont);
pPreviewData->hMessageFont = CreateFontIndirect(&scheme->lfFont[FONT_DIALOG]); pPreviewData->hMessageFont = CreateFontIndirect(&scheme->ncMetrics.lfMessageFont);
pPreviewData->Scheme = *scheme; pPreviewData->Scheme = *scheme;
InvalidateRect(hwnd, NULL, FALSE); InvalidateRect(hwnd, NULL, FALSE);
@ -258,18 +260,25 @@ OnPaint(HWND hwnd, PPREVIEW_DATA pPreviewData)
hdc = BeginPaint(hwnd, &ps); hdc = BeginPaint(hwnd, &ps);
if(pPreviewData->hdcPreview)
{
BitBlt(hdc,0,0, pPreviewData->rcDesktop.right, pPreviewData->rcDesktop.bottom, pPreviewData->hdcPreview, 0,0, SRCCOPY);
EndPaint(hwnd, &ps);
return;
}
/* Desktop */ /* Desktop */
FillRect(hdc, &pPreviewData->rcDesktop, pPreviewData->hbrDesktop); FillRect(hdc, &pPreviewData->rcDesktop, pPreviewData->hbrDesktop);
/* Inactive Window */ /* Inactive Window */
MyDrawEdge(hdc, &pPreviewData->rcInactiveFrame, EDGE_RAISED, BF_RECT | BF_MIDDLE, scheme); MyDrawEdge(hdc, &pPreviewData->rcInactiveFrame, EDGE_RAISED, BF_RECT | BF_MIDDLE | MY_BF_INACTIVEBORDER, scheme);
SetTextColor(hdc, scheme->crColor[COLOR_INACTIVECAPTIONTEXT]); SetTextColor(hdc, scheme->crColor[COLOR_INACTIVECAPTIONTEXT]);
MyDrawCaptionTemp(NULL, hdc, &pPreviewData->rcInactiveCaption, pPreviewData->hCaptionFont, MyDrawCaptionTemp(NULL, hdc, &pPreviewData->rcInactiveCaption, pPreviewData->hCaptionFont,
NULL, pPreviewData->lpInAct, DC_GRADIENT | DC_ICON | DC_TEXT, scheme); NULL, pPreviewData->lpInAct, DC_GRADIENT | DC_ICON | DC_TEXT, scheme);
MyDrawCaptionButtons(hdc, &pPreviewData->rcInactiveCaption, TRUE, pPreviewData->cyCaption - 2, scheme); MyDrawCaptionButtons(hdc, &pPreviewData->rcInactiveCaption, TRUE, pPreviewData->cyCaption - 2, scheme);
/* Active Window */ /* Active Window */
MyDrawEdge(hdc, &pPreviewData->rcActiveFrame, EDGE_RAISED, BF_RECT | BF_MIDDLE, scheme); MyDrawEdge(hdc, &pPreviewData->rcActiveFrame, EDGE_RAISED, BF_RECT | BF_MIDDLE | MY_BF_ACTIVEBORDER, scheme);
SetTextColor(hdc, scheme->crColor[COLOR_CAPTIONTEXT]); SetTextColor(hdc, scheme->crColor[COLOR_CAPTIONTEXT]);
MyDrawCaptionTemp(NULL, hdc, &pPreviewData->rcActiveCaption, pPreviewData->hCaptionFont, MyDrawCaptionTemp(NULL, hdc, &pPreviewData->rcActiveCaption, pPreviewData->hCaptionFont,
NULL, pPreviewData->lpAct, DC_ACTIVE | DC_GRADIENT | DC_ICON | DC_TEXT, scheme); NULL, pPreviewData->lpAct, DC_ACTIVE | DC_GRADIENT | DC_ICON | DC_TEXT, scheme);
@ -308,7 +317,7 @@ OnPaint(HWND hwnd, PPREVIEW_DATA pPreviewData)
CopyRect(&rc, &pPreviewData->rcDialogClient); CopyRect(&rc, &pPreviewData->rcDialogClient);
rc.left += 4; rc.left += 4;
rc.top += 2; rc.top += 2;
SetTextColor(hdc, scheme->crColor[COLOR_BTNTEXT]); SetTextColor(hdc, scheme->crColor[COLOR_WINDOWTEXT]);
hOldFont = SelectObject(hdc, pPreviewData->hMessageFont); hOldFont = SelectObject(hdc, pPreviewData->hMessageFont);
DrawText(hdc, pPreviewData->lpMessText, -1, &rc, DT_LEFT); DrawText(hdc, pPreviewData->lpMessText, -1, &rc, DT_LEFT);
SelectObject(hdc, hOldFont); SelectObject(hdc, hOldFont);
@ -445,56 +454,78 @@ PreviewWndProc(HWND hwnd,
HeapFree(GetProcessHeap(), 0, pPreviewData); HeapFree(GetProcessHeap(), 0, pPreviewData);
break; break;
case PVM_GETCYCAPTION:
return pPreviewData->cyCaption;
case PVM_SETCYCAPTION:
if ((INT)lParam > 0)
{
pPreviewData->cyCaption = (INT)lParam;
CalculateItemSize(pPreviewData);
InvalidateRect(hwnd, NULL, FALSE);
}
break;
case PVM_GETCYMENU:
return pPreviewData->cyMenu;
case PVM_SETCYMENU:
if ((INT)lParam > 0)
{
pPreviewData->cyMenu = (INT)lParam;
CalculateItemSize(pPreviewData);
InvalidateRect(hwnd, NULL, FALSE);
}
break;
case PVM_GETCXSCROLLBAR:
return pPreviewData->cxScrollbar;
case PVM_SETCXSCROLLBAR:
if ((INT)lParam > 0)
{
pPreviewData->cxScrollbar = (INT)lParam;
CalculateItemSize(pPreviewData);
InvalidateRect(hwnd, NULL, FALSE);
}
break;
case PVM_GETCYSIZEFRAME:
return pPreviewData->cySizeFrame;
case PVM_SETCYSIZEFRAME:
if ((INT)lParam > 0)
{
pPreviewData->cySizeFrame = (INT)lParam;
CalculateItemSize(pPreviewData);
InvalidateRect(hwnd, NULL, FALSE);
}
break;
case PVM_UPDATETHEME: case PVM_UPDATETHEME:
UpdatePreviewTheme(hwnd, pPreviewData, (COLOR_SCHEME *)lParam); UpdatePreviewTheme(hwnd, pPreviewData, (COLOR_SCHEME *)lParam);
CalculateItemSize(pPreviewData);
InvalidateRect(hwnd, NULL, FALSE);
break;
case PVM_SETSIZE:
SchemeSetMetric(&pPreviewData->Scheme, wParam, lParam);
pPreviewData->cySizeFrame = pPreviewData->Scheme.ncMetrics.iBorderWidth; /* SM_CYSIZEFRAME */
pPreviewData->cyCaption = pPreviewData->Scheme.ncMetrics.iCaptionHeight+1; /* SM_CYCAPTION */
pPreviewData->cyMenu = pPreviewData->Scheme.ncMetrics.iMenuHeight -1; /* SM_CYMENU */
pPreviewData->cxScrollbar = pPreviewData->Scheme.ncMetrics.iScrollWidth; /* SM_CXVSCROLL */
pPreviewData->cyBorder = pPreviewData->Scheme.ncMetrics.iBorderWidth; /* SM_CYBORDER */
CalculateItemSize(pPreviewData);
InvalidateRect(hwnd, NULL, FALSE);
break;
case PVM_SETFONT:
{
PLOGFONTW plfFont;
HFONT* phFont;
switch(wParam)
{
case FONT_CAPTION: phFont = &pPreviewData->hCaptionFont; break;
case FONT_MENU: phFont = &pPreviewData->hMenuFont; break;
case FONT_MESSAGE: phFont = &pPreviewData->hMessageFont; break;
default: return TRUE;
}
plfFont = SchemeGetFont(&pPreviewData->Scheme, wParam);
memcpy(plfFont, (PVOID)lParam, sizeof(LOGFONTW));
DeleteObject(*phFont);
*phFont = CreateFontIndirect(plfFont);
InvalidateRect(hwnd, NULL, FALSE);
break;
}
case PVM_SETCOLOR:
pPreviewData->Scheme.crColor[wParam] = lParam;
switch(wParam)
{
case COLOR_SCROLLBAR:
DeleteObject(pPreviewData->hbrScrollbar);
pPreviewData->hbrScrollbar = CreateSolidBrush(pPreviewData->Scheme.crColor[wParam]);
break;
case COLOR_DESKTOP:
DeleteObject(pPreviewData->hbrDesktop);
pPreviewData->hbrDesktop = CreateSolidBrush(pPreviewData->Scheme.crColor[wParam]);
break;
case COLOR_WINDOW:
DeleteObject(pPreviewData->hbrWindow);
pPreviewData->hbrWindow = CreateSolidBrush(pPreviewData->Scheme.crColor[wParam]);
break;
}
CalculateItemSize(pPreviewData);
InvalidateRect(hwnd, NULL, FALSE);
break;
case PVM_GETSIZE:
return SchemeGetMetric(&pPreviewData->Scheme, wParam);
case PVM_GETFONT:
return (LRESULT)SchemeGetFont(&pPreviewData->Scheme, wParam);
case PVM_GETCOLOR:
return pPreviewData->Scheme.crColor[wParam];
case PVM_SET_HDC_PREVIEW:
pPreviewData->hdcPreview = (HDC)lParam;
InvalidateRect(hwnd, NULL, FALSE);
break; break;
default: default:

View file

@ -21,19 +21,14 @@
#define IDX_APPSPACE 16 #define IDX_APPSPACE 16
#define IDX_QUICKINFO 20 #define IDX_QUICKINFO 20
#define PVM_GETCYCAPTION (WM_USER+1) #define PVM_SETSIZE (WM_USER+1)
#define PVM_SETCYCAPTION (WM_USER+2) #define PVM_GETSIZE (WM_USER+2)
#define PVM_SETFONT (WM_USER+3)
#define PVM_GETCYMENU (WM_USER+3) #define PVM_GETFONT (WM_USER+4)
#define PVM_SETCYMENU (WM_USER+4) #define PVM_SETCOLOR (WM_USER+5)
#define PVM_GETCOLOR (WM_USER+6)
#define PVM_GETCXSCROLLBAR (WM_USER+5) #define PVM_SET_HDC_PREVIEW (WM_USER+7)
#define PVM_SETCXSCROLLBAR (WM_USER+6) #define PVM_UPDATETHEME (WM_USER+8)
#define PVM_GETCYSIZEFRAME (WM_USER+7)
#define PVM_SETCYSIZEFRAME (WM_USER+8)
#define PVM_UPDATETHEME (WM_USER+13)
BOOL RegisterPreviewControl(IN HINSTANCE hInstance); BOOL RegisterPreviewControl(IN HINSTANCE hInstance);
VOID UnregisterPreviewControl(IN HINSTANCE hInstance); VOID UnregisterPreviewControl(IN HINSTANCE hInstance);

View file

@ -97,6 +97,7 @@
#define IDC_APPEARANCE_EFFECTS 1503 #define IDC_APPEARANCE_EFFECTS 1503
#define IDC_APPEARANCE_ADVANCED 1504 #define IDC_APPEARANCE_ADVANCED 1504
#define IDC_APPEARANCE_VISUAL_STYLE 1505 #define IDC_APPEARANCE_VISUAL_STYLE 1505
#define IDC_APPEARANCE_SIZE 1506
#define IDS_INACTWIN 1510 #define IDS_INACTWIN 1510
#define IDS_ACTWIN 1511 #define IDS_ACTWIN 1511
@ -104,6 +105,7 @@
#define IDS_MESSBOX 1513 #define IDS_MESSBOX 1513
#define IDS_MESSTEXT 1514 #define IDS_MESSTEXT 1514
#define IDS_BUTTEXT 1515 #define IDS_BUTTEXT 1515
#define IDS_CLASSIC_THEME 1516
/* Update these IDs when you change the string id list */ /* Update these IDs when you change the string id list */
#define IDS_ITEM_FIRST (IDS_ITEM_3D_OBJECTS) #define IDS_ITEM_FIRST (IDS_ITEM_3D_OBJECTS)

File diff suppressed because it is too large Load diff