Enable the user to set the size of captions, caption buttons, menu bars and croll bars.

svn path=/trunk/; revision=25844
This commit is contained in:
Eric Kohl
2007-02-19 16:12:38 +00:00
parent f49c3528f3
commit d8e1e7bba4
2 changed files with 52 additions and 22 deletions
+30
View File
@@ -11,6 +11,7 @@
#include "desk.h"
#include "appearance.h"
#include "preview.h"
@@ -480,6 +481,35 @@ AdvAppearanceDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
}
break;
case IDC_ADVAPPEARANCE_SIZE_E:
if (g && HIWORD(wParam) == EN_CHANGE)
{
int i = (int)LOWORD(SendDlgItemMessage(hwndDlg, IDC_ADVAPPEARANCE_SIZE_UD, UDM_GETPOS,0,0L));
switch (g->CurrentElement)
{
case IDX_INACTIVE_CAPTION:
case IDX_ACTIVE_CAPTION:
case IDX_CAPTION_BUTTON:
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYCAPTION, 0, i);
break;
case IDX_MENU:
SendDlgItemMessage(hwndDlg, IDC_APPEARANCE_PREVIEW, PVM_SETCYMENU, 0, i);
break;
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;
case IDC_ADVAPPEARANCE_COLOR1_B:
GetColor(hwndDlg, g, 0);
break;
+22 -22
View File
@@ -162,10 +162,10 @@ OnCreate(HWND hwnd, PPREVIEW_DATA pPreviewData)
pPreviewData->clrWindowText = GetSysColor(COLOR_WINDOWTEXT);
pPreviewData->clrButtonText = GetSysColor(COLOR_BTNTEXT);
pPreviewData->cxEdge = GetSystemMetrics(SM_CXEDGE);
pPreviewData->cyEdge = GetSystemMetrics(SM_CXEDGE);
pPreviewData->cxEdge = GetSystemMetrics(SM_CXEDGE) - 2;
pPreviewData->cyEdge = GetSystemMetrics(SM_CXEDGE) - 2;
pPreviewData->cySizeFrame = GetSystemMetrics(SM_CYSIZEFRAME);
pPreviewData->cySizeFrame = GetSystemMetrics(SM_CYSIZEFRAME) - 1;
pPreviewData->cyCaption = GetSystemMetrics(SM_CYCAPTION);
pPreviewData->cyMenu = GetSystemMetrics(SM_CYMENU);
@@ -216,10 +216,10 @@ CalculateItemSize(PPREVIEW_DATA pPreviewData)
pPreviewData->rcInactiveFrame.bottom = pPreviewData->rcDesktop.bottom - 30;
/* Calculate the inactive caption rectangle */
pPreviewData->rcInactiveCaption.left = pPreviewData->rcInactiveFrame.left + pPreviewData->cxEdge + 1/*3*/ + 1;
pPreviewData->rcInactiveCaption.top = pPreviewData->rcInactiveFrame.top + pPreviewData->cyEdge + 1/*3*/ + 1;
pPreviewData->rcInactiveCaption.right = pPreviewData->rcInactiveFrame.right - pPreviewData->cxEdge - 1/*3*/ - 1;
pPreviewData->rcInactiveCaption.bottom = pPreviewData->rcInactiveFrame.top + pPreviewData->cyCaption + 1 + 2;
pPreviewData->rcInactiveCaption.left = pPreviewData->rcInactiveFrame.left + pPreviewData->cxEdge + pPreviewData->cySizeFrame + 1;
pPreviewData->rcInactiveCaption.top = pPreviewData->rcInactiveFrame.top + pPreviewData->cyEdge + pPreviewData->cySizeFrame + 1;
pPreviewData->rcInactiveCaption.right = pPreviewData->rcInactiveFrame.right - pPreviewData->cxEdge - pPreviewData->cySizeFrame - 1;
pPreviewData->rcInactiveCaption.bottom = pPreviewData->rcInactiveCaption.top + pPreviewData->cyCaption;
/* Calculate the inactive caption buttons rectangle */
pPreviewData->rcInactiveCaptionButtons.left = pPreviewData->rcInactiveCaption.right - 2 - 2 - 3 * 16;
@@ -228,16 +228,16 @@ CalculateItemSize(PPREVIEW_DATA pPreviewData)
pPreviewData->rcInactiveCaptionButtons.bottom = pPreviewData->rcInactiveCaption.bottom - 2;
/* Calculate the active window rectangle */
pPreviewData->rcActiveFrame.left = pPreviewData->rcInactiveFrame.left + 3 + 1;
pPreviewData->rcActiveFrame.left = pPreviewData->rcInactiveFrame.left + 3 + pPreviewData->cySizeFrame;
pPreviewData->rcActiveFrame.top = pPreviewData->rcInactiveCaption.bottom + 1;
pPreviewData->rcActiveFrame.right = pPreviewData->rcDesktop.right - 10;
pPreviewData->rcActiveFrame.bottom = pPreviewData->rcDesktop.bottom - 25;
/* Calculate the active caption rectangle */
pPreviewData->rcActiveCaption.left = pPreviewData->rcActiveFrame.left + 3 + 1;
pPreviewData->rcActiveCaption.top = pPreviewData->rcActiveFrame.top + 3 + 1;
pPreviewData->rcActiveCaption.right = pPreviewData->rcActiveFrame.right - 3 - 1;
pPreviewData->rcActiveCaption.bottom = pPreviewData->rcActiveFrame.top + pPreviewData->cyCaption + 1 + 2;
pPreviewData->rcActiveCaption.left = pPreviewData->rcActiveFrame.left + pPreviewData->cxEdge + pPreviewData->cySizeFrame + 1;
pPreviewData->rcActiveCaption.top = pPreviewData->rcActiveFrame.top + pPreviewData->cxEdge + pPreviewData->cySizeFrame + 1;
pPreviewData->rcActiveCaption.right = pPreviewData->rcActiveFrame.right - pPreviewData->cxEdge - pPreviewData->cySizeFrame - 1;
pPreviewData->rcActiveCaption.bottom = pPreviewData->rcActiveCaption.top + pPreviewData->cyCaption;
/* Calculate the active caption buttons rectangle */
pPreviewData->rcActiveCaptionButtons.left = pPreviewData->rcActiveCaption.right - 2 - 2 - 3 * 16;
@@ -246,16 +246,16 @@ CalculateItemSize(PPREVIEW_DATA pPreviewData)
pPreviewData->rcActiveCaptionButtons.bottom = pPreviewData->rcActiveCaption.bottom - 2;
/* Calculate the active menu bar rectangle */
pPreviewData->rcActiveMenuBar.left = pPreviewData->rcActiveFrame.left + 3 + 1;
pPreviewData->rcActiveMenuBar.left = pPreviewData->rcActiveFrame.left + pPreviewData->cxEdge + pPreviewData->cySizeFrame + 1;
pPreviewData->rcActiveMenuBar.top = pPreviewData->rcActiveCaption.bottom + 1;
pPreviewData->rcActiveMenuBar.right = pPreviewData->rcActiveFrame.right - 3 - 1;
pPreviewData->rcActiveMenuBar.right = pPreviewData->rcActiveFrame.right - pPreviewData->cxEdge - pPreviewData->cySizeFrame - 1;
pPreviewData->rcActiveMenuBar.bottom = pPreviewData->rcActiveMenuBar.top + pPreviewData->cyMenu + 1;
/* Calculate the active client rectangle */
pPreviewData->rcActiveClient.left = pPreviewData->rcActiveFrame.left + 3 + 1;
pPreviewData->rcActiveClient.top = pPreviewData->rcActiveMenuBar.bottom; // + 1;
pPreviewData->rcActiveClient.right = pPreviewData->rcActiveFrame.right - 3 - 1;
pPreviewData->rcActiveClient.bottom = pPreviewData->rcActiveFrame.bottom - 3 - 1;
pPreviewData->rcActiveClient.left = pPreviewData->rcActiveFrame.left + pPreviewData->cxEdge + pPreviewData->cySizeFrame + 1;
pPreviewData->rcActiveClient.top = pPreviewData->rcActiveMenuBar.bottom;
pPreviewData->rcActiveClient.right = pPreviewData->rcActiveFrame.right - pPreviewData->cxEdge - pPreviewData->cySizeFrame - 1;
pPreviewData->rcActiveClient.bottom = pPreviewData->rcActiveFrame.bottom - pPreviewData->cyEdge - pPreviewData->cySizeFrame - 1;
/* Calculate the active scroll rectangle */
pPreviewData->rcActiveScroll.left = pPreviewData->rcActiveClient.right - 2 - pPreviewData->cxScrollbar;
@@ -340,10 +340,10 @@ OnPaint(HWND hwnd, PPREVIEW_DATA pPreviewData)
NULL, pPreviewData->lpAct, DC_ACTIVE | DC_GRADIENT | DC_ICON | DC_TEXT);
DrawCaptionButtons(hdc, &pPreviewData->rcActiveCaption, TRUE, pPreviewData->cyCaption - 2);
/* FIXME: Draw the menu bar */
/* Draw the menu bar */
DrawMenuBarTemp(hwnd, hdc, &pPreviewData->rcActiveMenuBar,
pPreviewData->hMenu /*HMENU hMenu*/,
pPreviewData->hMessageFont /*HFONT hFont*/);
pPreviewData->hMenu,
pPreviewData->hMessageFont);
/* Draw the client area */
CopyRect(&rc, &pPreviewData->rcActiveClient);
@@ -578,7 +578,7 @@ RegisterPreviewControl(IN HINSTANCE hInstance)
wc.lpfnWndProc = PreviewWndProc;
wc.hInstance = hInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)NULL; //(COLOR_BTNFACE + 1);
wc.hbrBackground = (HBRUSH)NULL;
wc.lpszClassName = szPreviewWndClass;
return RegisterClassEx(&wc) != (ATOM)0;