mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
* colors.c: implement color dialog (reading from registry is not yet supported)
* font.c/layout.c/console.c/options.c: add UNREFERENCED_PARAMETER macros, fix sharing of global struct * console.def: fix building with MSVC svn path=/trunk/; revision=23629
This commit is contained in:
parent
74f108bb28
commit
44f2cc5731
9 changed files with 347 additions and 75 deletions
|
@ -9,6 +9,80 @@
|
||||||
|
|
||||||
#include "console.h"
|
#include "console.h"
|
||||||
|
|
||||||
|
|
||||||
|
static COLORREF s_Colors[] =
|
||||||
|
{
|
||||||
|
RGB(0, 0, 0),
|
||||||
|
RGB(0, 0, 128),
|
||||||
|
RGB(0, 128, 0),
|
||||||
|
RGB(0, 128, 128),
|
||||||
|
RGB(128, 0, 0),
|
||||||
|
RGB(128, 0, 128),
|
||||||
|
RGB(128, 128, 0),
|
||||||
|
RGB(192, 192, 192),
|
||||||
|
RGB(128, 128, 128),
|
||||||
|
RGB(0, 0, 255),
|
||||||
|
RGB(0, 255, 0),
|
||||||
|
RGB(0, 255, 255),
|
||||||
|
RGB(255, 0, 0),
|
||||||
|
RGB(255, 0, 255),
|
||||||
|
RGB(255, 255, 0),
|
||||||
|
RGB(255, 255, 255)
|
||||||
|
};
|
||||||
|
|
||||||
|
static TCHAR szText[1024];
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
BOOL
|
||||||
|
PaintStaticControls(HWND hwndDlg, PConsoleInfo pConInfo, LPDRAWITEMSTRUCT drawItem)
|
||||||
|
{
|
||||||
|
HBRUSH hBrush;
|
||||||
|
DWORD index;
|
||||||
|
|
||||||
|
if (drawItem->CtlID < IDC_STATIC_COLOR1 || drawItem->CtlID > IDC_STATIC_COLOR16)
|
||||||
|
{
|
||||||
|
COLORREF pbkColor, ptColor;
|
||||||
|
COLORREF nbkColor, ntColor;
|
||||||
|
/* draw static controls */
|
||||||
|
if (drawItem->CtlID == IDC_STATIC_SCREEN_COLOR)
|
||||||
|
{
|
||||||
|
nbkColor = pConInfo->ScreenBackground;
|
||||||
|
hBrush = CreateSolidBrush(nbkColor);
|
||||||
|
ntColor = pConInfo->ScreenText;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nbkColor = pConInfo->PopupBackground;
|
||||||
|
hBrush = CreateSolidBrush(nbkColor);
|
||||||
|
ntColor = pConInfo->PopupText;
|
||||||
|
}
|
||||||
|
FillRect(drawItem->hDC, &drawItem->rcItem, hBrush);
|
||||||
|
DeleteObject((HGDIOBJ)hBrush);
|
||||||
|
ptColor = SetTextColor(drawItem->hDC, ntColor);
|
||||||
|
pbkColor = SetBkColor(drawItem->hDC, nbkColor);
|
||||||
|
if (ntColor != nbkColor)
|
||||||
|
{
|
||||||
|
/* hide text when it has same background color as text color */
|
||||||
|
DrawText(drawItem->hDC, szText, _tcslen(szText), &drawItem->rcItem, 0);
|
||||||
|
}
|
||||||
|
SetTextColor(drawItem->hDC, ptColor);
|
||||||
|
SetBkColor(drawItem->hDC, pbkColor);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
index = drawItem->CtlID - IDC_STATIC_COLOR1;
|
||||||
|
hBrush = CreateSolidBrush(s_Colors[index]);
|
||||||
|
if (!hBrush)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
FillRect(drawItem->hDC, &drawItem->rcItem, hBrush);
|
||||||
|
DeleteObject((HGDIOBJ)hBrush);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
INT_PTR
|
INT_PTR
|
||||||
CALLBACK
|
CALLBACK
|
||||||
ColorsProc(
|
ColorsProc(
|
||||||
|
@ -18,14 +92,160 @@ ColorsProc(
|
||||||
LPARAM lParam
|
LPARAM lParam
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(hwndDlg)
|
PConsoleInfo pConInfo;
|
||||||
UNREFERENCED_PARAMETER(wParam)
|
LPNMUPDOWN lpnmud;
|
||||||
UNREFERENCED_PARAMETER(lParam)
|
|
||||||
|
pConInfo = (PConsoleInfo) GetWindowLongPtr(hwndDlg, DWLP_USER);
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
|
{
|
||||||
|
pConInfo = (PConsoleInfo) ((LPPROPSHEETPAGE)lParam)->lParam;
|
||||||
|
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pConInfo);
|
||||||
|
ZeroMemory(szText, sizeof(szText));
|
||||||
|
LoadString(hApplet, IDS_SCREEN_TEXT, szText, sizeof(szText) / sizeof(TCHAR));
|
||||||
|
SendMessage(GetDlgItem(hwndDlg, IDC_RADIO_SCREEN_BACKGROUND), BM_SETCHECK, BST_CHECKED, 0);
|
||||||
|
SendMessage(GetDlgItem(hwndDlg, IDC_UPDOWN_COLOR_RED), UDM_SETRANGE, 0, (LPARAM)MAKELONG(255, 0));
|
||||||
|
SendMessage(GetDlgItem(hwndDlg, IDC_UPDOWN_COLOR_GREEN), UDM_SETRANGE, 0, (LPARAM)MAKELONG(255, 0));
|
||||||
|
SendMessage(GetDlgItem(hwndDlg, IDC_UPDOWN_COLOR_BLUE), UDM_SETRANGE, 0, (LPARAM)MAKELONG(255, 0));
|
||||||
|
InvalidateRect(hwndDlg, NULL, TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
}
|
||||||
|
case WM_DRAWITEM:
|
||||||
|
{
|
||||||
|
return PaintStaticControls(hwndDlg, pConInfo, (LPDRAWITEMSTRUCT) lParam);
|
||||||
|
}
|
||||||
|
case WM_NOTIFY:
|
||||||
|
{
|
||||||
|
DWORD red = -1;
|
||||||
|
DWORD green = -1;
|
||||||
|
DWORD blue = -1;
|
||||||
|
|
||||||
|
lpnmud = (LPNMUPDOWN) lParam;
|
||||||
|
|
||||||
|
if (lpnmud->hdr.idFrom == IDC_UPDOWN_COLOR_RED)
|
||||||
|
{
|
||||||
|
red = lpnmud->iPos;
|
||||||
|
}
|
||||||
|
else if (lpnmud->hdr.idFrom == IDC_UPDOWN_COLOR_GREEN)
|
||||||
|
{
|
||||||
|
green = lpnmud->iPos;
|
||||||
|
}
|
||||||
|
else if (lpnmud->hdr.idFrom == IDC_UPDOWN_COLOR_BLUE)
|
||||||
|
{
|
||||||
|
blue = lpnmud->iPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (red == -1)
|
||||||
|
{
|
||||||
|
red = SendMessage(GetDlgItem(hwndDlg, IDC_UPDOWN_COLOR_RED), UDM_GETPOS, 0, 0);
|
||||||
|
if (HIWORD(red))
|
||||||
|
{
|
||||||
|
//TODO: handle error
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
red = LOBYTE(red);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (green == -1)
|
||||||
|
{
|
||||||
|
green = SendMessage(GetDlgItem(hwndDlg, IDC_UPDOWN_COLOR_GREEN), UDM_GETPOS, 0, 0);
|
||||||
|
if (HIWORD(green))
|
||||||
|
{
|
||||||
|
//TODO: handle error
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
green = LOBYTE(green);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (blue == -1)
|
||||||
|
{
|
||||||
|
blue = SendMessage(GetDlgItem(hwndDlg, IDC_UPDOWN_COLOR_BLUE), UDM_GETPOS, 0, 0);
|
||||||
|
if (HIWORD(blue))
|
||||||
|
{
|
||||||
|
//TODO: handle error
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
blue = LOBYTE(blue);
|
||||||
|
}
|
||||||
|
s_Colors[pConInfo->ActiveStaticControl] = RGB(red, green, blue);
|
||||||
|
InvalidateRect(hwndDlg, NULL, TRUE); //FIXME
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case WM_COMMAND:
|
||||||
|
{
|
||||||
|
switch(LOWORD(wParam))
|
||||||
|
{
|
||||||
|
case IDC_RADIO_SCREEN_TEXT:
|
||||||
|
{
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_RED, GetRValue(pConInfo->ScreenText), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_GREEN, GetGValue(pConInfo->ScreenText), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_BLUE, GetBValue(pConInfo->ScreenText), FALSE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_POPUP_COLOR), NULL, TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case IDC_RADIO_SCREEN_BACKGROUND:
|
||||||
|
{
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_RED, GetRValue(pConInfo->ScreenBackground), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_GREEN, GetGValue(pConInfo->ScreenBackground), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_BLUE, GetBValue(pConInfo->ScreenBackground), FALSE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_POPUP_COLOR), NULL, TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case IDC_RADIO_POPUP_TEXT:
|
||||||
|
{
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_RED, GetRValue(pConInfo->PopupText), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_GREEN, GetGValue(pConInfo->PopupText), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_BLUE, GetBValue(pConInfo->PopupText), FALSE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_POPUP_COLOR), NULL, TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case IDC_RADIO_POPUP_BACKGROUND:
|
||||||
|
{
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_RED, GetRValue(pConInfo->PopupBackground), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_GREEN, GetGValue(pConInfo->PopupBackground), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_BLUE, GetBValue(pConInfo->PopupBackground), FALSE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_POPUP_COLOR), NULL, TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (HIWORD(wParam) == STN_CLICKED && LOWORD(wParam) >= IDC_STATIC_COLOR1 && LOWORD(wParam) <= IDC_STATIC_COLOR16)
|
||||||
|
{
|
||||||
|
DWORD index = LOWORD(wParam) - IDC_STATIC_COLOR1;
|
||||||
|
|
||||||
|
pConInfo->ActiveStaticControl = index;
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_RED, GetRValue(s_Colors[index]), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_GREEN, GetGValue(s_Colors[index]), FALSE);
|
||||||
|
SetDlgItemInt(hwndDlg, IDC_EDIT_COLOR_BLUE, GetBValue(s_Colors[index]), FALSE);
|
||||||
|
|
||||||
|
/* update global struct */
|
||||||
|
if (SendMessage(GetDlgItem(hwndDlg, IDC_RADIO_SCREEN_TEXT), BM_GETCHECK, 0, 0) & BST_CHECKED)
|
||||||
|
{
|
||||||
|
pConInfo->ScreenText = s_Colors[index];
|
||||||
|
}
|
||||||
|
else if (SendMessage(GetDlgItem(hwndDlg, IDC_RADIO_SCREEN_BACKGROUND), BM_GETCHECK, 0, 0) & BST_CHECKED)
|
||||||
|
{
|
||||||
|
pConInfo->ScreenBackground = s_Colors[index];
|
||||||
|
}
|
||||||
|
else if (SendMessage(GetDlgItem(hwndDlg, IDC_RADIO_POPUP_TEXT), BM_GETCHECK, 0, 0) & BST_CHECKED)
|
||||||
|
{
|
||||||
|
pConInfo->PopupText = s_Colors[index];
|
||||||
|
}
|
||||||
|
else if (SendMessage(GetDlgItem(hwndDlg, IDC_RADIO_POPUP_BACKGROUND), BM_GETCHECK, 0, 0) & BST_CHECKED)
|
||||||
|
{
|
||||||
|
pConInfo->PopupBackground = s_Colors[index];
|
||||||
|
}
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_SCREEN_COLOR), NULL, TRUE);
|
||||||
|
InvalidateRect(GetDlgItem(hwndDlg, IDC_STATIC_POPUP_COLOR), NULL, TRUE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -26,7 +26,7 @@ APPLET Applets[NUM_APPLETS] =
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
|
InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc, LPARAM lParam)
|
||||||
{
|
{
|
||||||
ZeroMemory(psp, sizeof(PROPSHEETPAGE));
|
ZeroMemory(psp, sizeof(PROPSHEETPAGE));
|
||||||
psp->dwSize = sizeof(PROPSHEETPAGE);
|
psp->dwSize = sizeof(PROPSHEETPAGE);
|
||||||
|
@ -34,10 +34,11 @@ InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
|
||||||
psp->hInstance = hApplet;
|
psp->hInstance = hApplet;
|
||||||
psp->pszTemplate = MAKEINTRESOURCE(idDlg);
|
psp->pszTemplate = MAKEINTRESOURCE(idDlg);
|
||||||
psp->pfnDlgProc = DlgProc;
|
psp->pfnDlgProc = DlgProc;
|
||||||
|
psp->lParam = lParam;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL
|
PConsoleInfo
|
||||||
InitConsoleInfo(HWND hwnd)
|
InitConsoleInfo()
|
||||||
{
|
{
|
||||||
PConsoleInfo pConInfo;
|
PConsoleInfo pConInfo;
|
||||||
STARTUPINFO StartupInfo;
|
STARTUPINFO StartupInfo;
|
||||||
|
@ -46,15 +47,27 @@ InitConsoleInfo(HWND hwnd)
|
||||||
|
|
||||||
pConInfo = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(ConsoleInfo));
|
pConInfo = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(ConsoleInfo));
|
||||||
if (!pConInfo)
|
if (!pConInfo)
|
||||||
return FALSE;
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* initialize struct */
|
/* initialize struct */
|
||||||
pConInfo->InsertMode = TRUE;
|
pConInfo->InsertMode = TRUE;
|
||||||
pConInfo->HistoryBufferSize = 50;
|
pConInfo->HistoryBufferSize = 50;
|
||||||
pConInfo->NumberOfHistoryBuffers = 5;
|
pConInfo->NumberOfHistoryBuffers = 5;
|
||||||
|
pConInfo->ScreenText = RGB(192, 192, 192);
|
||||||
|
pConInfo->ScreenBackground = RGB(0, 0, 0);
|
||||||
|
pConInfo->PopupText = RGB(128, 0, 128);
|
||||||
|
pConInfo->PopupBackground = RGB(255, 255, 255);
|
||||||
|
|
||||||
|
|
||||||
|
GetModuleFileName(NULL, pConInfo->szProcessName, MAX_PATH);
|
||||||
|
//MessageBox(hwnd, pConInfo->szProcessName, _T("GetModuleFileName"), MB_OK);
|
||||||
|
|
||||||
GetStartupInfo(&StartupInfo);
|
GetStartupInfo(&StartupInfo);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ( StartupInfo.lpTitle )
|
if ( StartupInfo.lpTitle )
|
||||||
{
|
{
|
||||||
if ( _tcslen(StartupInfo.lpTitle) )
|
if ( _tcslen(StartupInfo.lpTitle) )
|
||||||
|
@ -89,11 +102,7 @@ InitConsoleInfo(HWND hwnd)
|
||||||
{
|
{
|
||||||
_tcscpy(pConInfo->szProcessName, _T("Console"));
|
_tcscpy(pConInfo->szProcessName, _T("Console"));
|
||||||
}
|
}
|
||||||
|
return pConInfo;
|
||||||
SetWindowText(hwnd, pConInfo->szProcessName);
|
|
||||||
SetWindowLongPtr(hwnd, DWLP_USER , (LONG)pConInfo);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT_PTR
|
INT_PTR
|
||||||
|
@ -107,7 +116,7 @@ ApplyProc(
|
||||||
{
|
{
|
||||||
HWND hDlgCtrl;
|
HWND hDlgCtrl;
|
||||||
|
|
||||||
UNREFERENCED_PARAMETER(lParam)
|
UNREFERENCED_PARAMETER(lParam);
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
|
@ -168,7 +177,7 @@ PropSheetProc(
|
||||||
LPARAM lParam
|
LPARAM lParam
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
PConsoleInfo pConInfo = (PConsoleInfo) GetWindowLongPtr(hwndDlg, DWLP_USER);
|
PConsoleInfo pConInfo = (PConsoleInfo) GetWindowLongPtr(GetParent(hwndDlg), DWLP_USER);
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
|
@ -197,10 +206,7 @@ PropSheetProc(
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PSCB_INITIALIZED:
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -214,13 +220,14 @@ InitApplet(HWND hwnd, UINT uMsg, LONG wParam, LONG lParam)
|
||||||
PROPSHEETPAGE psp[4];
|
PROPSHEETPAGE psp[4];
|
||||||
PROPSHEETHEADER psh;
|
PROPSHEETHEADER psh;
|
||||||
INT i=0;
|
INT i=0;
|
||||||
|
PConsoleInfo pConInfo;
|
||||||
|
|
||||||
UNREFERENCED_PARAMETER(hwnd)
|
UNREFERENCED_PARAMETER(hwnd);
|
||||||
UNREFERENCED_PARAMETER(uMsg)
|
UNREFERENCED_PARAMETER(uMsg);
|
||||||
UNREFERENCED_PARAMETER(wParam)
|
UNREFERENCED_PARAMETER(wParam);
|
||||||
UNREFERENCED_PARAMETER(lParam)
|
UNREFERENCED_PARAMETER(lParam);
|
||||||
|
|
||||||
|
|
||||||
|
pConInfo = InitConsoleInfo();
|
||||||
|
|
||||||
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
||||||
psh.dwSize = sizeof(PROPSHEETHEADER);
|
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||||
|
@ -234,10 +241,10 @@ InitApplet(HWND hwnd, UINT uMsg, LONG wParam, LONG lParam)
|
||||||
psh.ppsp = psp;
|
psh.ppsp = psp;
|
||||||
psh.pfnCallback = PropSheetProc;
|
psh.pfnCallback = PropSheetProc;
|
||||||
|
|
||||||
InitPropSheetPage(&psp[i++], IDD_PROPPAGEOPTIONS, (DLGPROC) OptionsProc);
|
InitPropSheetPage(&psp[i++], IDD_PROPPAGEOPTIONS, (DLGPROC) OptionsProc, (LPARAM)pConInfo);
|
||||||
InitPropSheetPage(&psp[i++], IDD_PROPPAGEFONT, (DLGPROC) FontProc);
|
InitPropSheetPage(&psp[i++], IDD_PROPPAGEFONT, (DLGPROC) FontProc, (LPARAM)pConInfo);
|
||||||
InitPropSheetPage(&psp[i++], IDD_PROPPAGELAYOUT, (DLGPROC) LayoutProc);
|
InitPropSheetPage(&psp[i++], IDD_PROPPAGELAYOUT, (DLGPROC) LayoutProc, (LPARAM)pConInfo);
|
||||||
InitPropSheetPage(&psp[i++], IDD_PROPPAGECOLORS, (DLGPROC) ColorsProc);
|
InitPropSheetPage(&psp[i++], IDD_PROPPAGECOLORS, (DLGPROC) ColorsProc, (LPARAM)pConInfo);
|
||||||
|
|
||||||
return (PropertySheet(&psh) != -1);
|
return (PropertySheet(&psh) != -1);
|
||||||
}
|
}
|
||||||
|
@ -287,7 +294,7 @@ DllMain(
|
||||||
DWORD dwReason,
|
DWORD dwReason,
|
||||||
LPVOID lpvReserved)
|
LPVOID lpvReserved)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(lpvReserved)
|
UNREFERENCED_PARAMETER(lpvReserved);
|
||||||
|
|
||||||
switch(dwReason)
|
switch(dwReason)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
LIBRARY console.dll
|
LIBRARY console.dll
|
||||||
|
|
||||||
EXPORTS
|
EXPORTS
|
||||||
CPlApplet@16
|
CPlApplet
|
||||||
|
|
||||||
; EOF
|
; EOF
|
||||||
|
|
|
@ -29,9 +29,17 @@ typedef struct TAGConsoleInfo
|
||||||
DWORD QuickEdit;
|
DWORD QuickEdit;
|
||||||
DWORD InsertMode;
|
DWORD InsertMode;
|
||||||
|
|
||||||
|
DWORD ActiveStaticControl;
|
||||||
|
COLORREF ScreenText;
|
||||||
|
COLORREF ScreenBackground;
|
||||||
|
COLORREF PopupText;
|
||||||
|
COLORREF PopupBackground;
|
||||||
|
|
||||||
} ConsoleInfo, *PConsoleInfo;
|
} ConsoleInfo, *PConsoleInfo;
|
||||||
|
|
||||||
BOOL WriteConsoleOptions(PConsoleInfo pConInfo);
|
BOOL WriteConsoleOptions(PConsoleInfo pConInfo);
|
||||||
BOOL InitConsoleInfo(HWND hwnd);
|
|
||||||
|
//globals
|
||||||
|
extern HINSTANCE hApplet;
|
||||||
|
|
||||||
#endif /* CONSOLE_H__ */
|
#endif /* CONSOLE_H__ */
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
* PROGRAMMERS: Johannes Anderwald (johannes.anderwald@student.tugraz.at)
|
* PROGRAMMERS: Johannes Anderwald (johannes.anderwald@student.tugraz.at)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <commctrl.h>
|
||||||
|
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
|
||||||
IDD_PROPPAGEOPTIONS DIALOGEX 0, 0, 250, 220
|
IDD_PROPPAGEOPTIONS DIALOGEX 0, 0, 250, 220
|
||||||
|
@ -101,31 +103,31 @@ LTEXT "&Red:", -1, 125, 25, 30, 10
|
||||||
EDITTEXT IDC_EDIT_COLOR_RED, 150, 25, 30, 10, ES_RIGHT | WS_GROUP
|
EDITTEXT IDC_EDIT_COLOR_RED, 150, 25, 30, 10, ES_RIGHT | WS_GROUP
|
||||||
CONTROL "", IDC_UPDOWN_COLOR_RED, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 165, 25, 30, 10
|
CONTROL "", IDC_UPDOWN_COLOR_RED, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 165, 25, 30, 10
|
||||||
LTEXT "&Green:", -1, 125, 35, 30, 10
|
LTEXT "&Green:", -1, 125, 35, 30, 10
|
||||||
EDITTEXT IDC_EDIT_COLOR_BLUE, 150, 35, 30, 10, ES_RIGHT | WS_GROUP
|
EDITTEXT IDC_EDIT_COLOR_GREEN, 150, 35, 30, 10, ES_RIGHT | WS_GROUP
|
||||||
CONTROL "", IDC_UPDOWN_COLOR_GREEN, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 165, 35, 30, 10
|
CONTROL "", IDC_UPDOWN_COLOR_GREEN, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 165, 35, 30, 10
|
||||||
LTEXT "&Blue:", -1, 125, 45, 30, 10
|
LTEXT "&Blue:", -1, 125, 45, 30, 10
|
||||||
EDITTEXT IDC_EDIT_COLOR_BLUE, 150, 45, 30, 10, ES_RIGHT | WS_GROUP
|
EDITTEXT IDC_EDIT_COLOR_BLUE, 150, 45, 30, 10, ES_RIGHT | WS_GROUP
|
||||||
CONTROL "", IDC_UPDOWN_COLOR_BLUE, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 165, 45, 30, 10
|
CONTROL "", IDC_UPDOWN_COLOR_BLUE, UPDOWN_CLASS, UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | WS_BORDER | WS_GROUP, 165, 45, 30, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR1, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 15, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR1, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 15, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR2, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 27, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR2, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 27, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR3, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 39, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR3, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 39, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR4, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 51, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR4, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 51, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR5, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 63, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR5, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 63, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR6, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 75, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR6, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 75, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR7, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 87, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR7, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 87, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR8, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 99, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR8, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 99, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR9, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 111, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR9, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 111, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR10, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 123, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR10, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 123, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR11, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 135, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR11, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 135, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR12, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 147, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR12, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 147, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR13, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 159, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR13, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 159, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR14, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 171, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR14, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 171, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR15, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 183, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR15, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 183, 90, 10, 10
|
||||||
CONTROL "", IDC_STATIC_COLOR16, "Static", SS_BLACKRECT | SS_NOTIFY | SS_SUNKEN, 195, 90, 10, 10
|
CONTROL "", IDC_STATIC_COLOR16, "Static", SS_NOTIFY | SS_SUNKEN | SS_OWNERDRAW, 195, 90, 10, 10
|
||||||
GROUPBOX "Selected Screen Colors", -1, 10, 110, 200, 40
|
GROUPBOX "Selected Screen Colors", -1, 10, 110, 200, 40
|
||||||
CONTROL "", IDC_STATIC_SCREEN_COLOR, "Static", SS_BLACKRECT | SS_SUNKEN, 15, 120, 180, 20
|
CONTROL "", IDC_STATIC_SCREEN_COLOR, "Static", SS_OWNERDRAW | SS_SUNKEN, 15, 120, 180, 20
|
||||||
GROUPBOX "Selected Popup Colors", -1, 10, 155, 200, 40
|
GROUPBOX "Selected Popup Colors", -1, 10, 155, 200, 40
|
||||||
CONTROL "", IDC_STATIC_POPUP_COLOR, "Static", SS_BLACKRECT | SS_SUNKEN, 15, 165, 180, 20
|
CONTROL "", IDC_STATIC_POPUP_COLOR, "Static", SS_OWNERDRAW | SS_SUNKEN, 15, 165, 180, 20
|
||||||
END
|
END
|
||||||
|
|
||||||
IDD_APPLYOPTIONS DIALOGEX 0, 0, 220, 100
|
IDD_APPLYOPTIONS DIALOGEX 0, 0, 220, 100
|
||||||
|
@ -144,4 +146,5 @@ BEGIN
|
||||||
IDS_CPLNAME "Console"
|
IDS_CPLNAME "Console"
|
||||||
IDS_CPLDESCRIPTION "Configures console properties."
|
IDS_CPLDESCRIPTION "Configures console properties."
|
||||||
IDS_APPLY_SHORTCUT_ALL "Modify &shortcut that started this window"
|
IDS_APPLY_SHORTCUT_ALL "Modify &shortcut that started this window"
|
||||||
|
IDS_SCREEN_TEXT "C:\ReactOS> dir\nSYSTEM <DIR> 10-01-99 5:00\nSYSTEM32 <DIR> 10-01-99 5:00"
|
||||||
END
|
END
|
||||||
|
|
|
@ -19,9 +19,9 @@ FontProc(
|
||||||
LPARAM lParam
|
LPARAM lParam
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(hwndDlg)
|
UNREFERENCED_PARAMETER(hwndDlg);
|
||||||
UNREFERENCED_PARAMETER(wParam)
|
UNREFERENCED_PARAMETER(wParam);
|
||||||
UNREFERENCED_PARAMETER(lParam)
|
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,15 +18,19 @@ LayoutProc(
|
||||||
LPARAM lParam
|
LPARAM lParam
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(hwndDlg)
|
PConsoleInfo pConInfo = (PConsoleInfo)GetWindowLongPtr(hwndDlg, DWLP_USER);
|
||||||
UNREFERENCED_PARAMETER(wParam)
|
|
||||||
UNREFERENCED_PARAMETER(lParam)
|
UNREFERENCED_PARAMETER(hwndDlg);
|
||||||
|
UNREFERENCED_PARAMETER(wParam);
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
|
{
|
||||||
|
pConInfo = (PConsoleInfo) ((LPPROPSHEETPAGE)lParam)->lParam;
|
||||||
|
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pConInfo);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,13 @@
|
||||||
|
|
||||||
#include "console.h"
|
#include "console.h"
|
||||||
|
|
||||||
BOOLEAN InitializeOptionsDialog();
|
static
|
||||||
|
void
|
||||||
|
UpdateDialogElements(HWND hwndDlg, PConsoleInfo pConInfo);
|
||||||
|
|
||||||
|
static
|
||||||
|
BOOL
|
||||||
|
InitializeOptionsFromReg(TCHAR * Path, PConsoleInfo pConInfo);
|
||||||
|
|
||||||
INT_PTR
|
INT_PTR
|
||||||
CALLBACK
|
CALLBACK
|
||||||
|
@ -25,13 +31,17 @@ OptionsProc(
|
||||||
HWND hDlgCtrl;
|
HWND hDlgCtrl;
|
||||||
LPPSHNOTIFY lppsn;
|
LPPSHNOTIFY lppsn;
|
||||||
|
|
||||||
pConInfo = (PConsoleInfo) GetWindowLongPtr(GetParent(hwndDlg), DWLP_USER);
|
pConInfo = (PConsoleInfo) GetWindowLongPtr(hwndDlg, DWLP_USER);
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
{
|
{
|
||||||
return InitializeOptionsDialog(hwndDlg);
|
pConInfo = (PConsoleInfo) ((LPPROPSHEETPAGE)lParam)->lParam;
|
||||||
|
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pConInfo);
|
||||||
|
InitializeOptionsFromReg(pConInfo->szProcessName, pConInfo);
|
||||||
|
UpdateDialogElements(hwndDlg, pConInfo);
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
case WM_NOTIFY:
|
case WM_NOTIFY:
|
||||||
{
|
{
|
||||||
|
@ -149,6 +159,7 @@ OptionsProc(
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
BOOL InitializeOptionsFromReg(TCHAR * Path, PConsoleInfo pConInfo)
|
BOOL InitializeOptionsFromReg(TCHAR * Path, PConsoleInfo pConInfo)
|
||||||
{
|
{
|
||||||
HKEY hKey;
|
HKEY hKey;
|
||||||
|
@ -157,7 +168,9 @@ BOOL InitializeOptionsFromReg(TCHAR * Path, PConsoleInfo pConInfo)
|
||||||
DWORD dwIndex;
|
DWORD dwIndex;
|
||||||
DWORD dwValueName;
|
DWORD dwValueName;
|
||||||
DWORD dwValue;
|
DWORD dwValue;
|
||||||
|
DWORD dwType;
|
||||||
TCHAR szValueName[MAX_PATH];
|
TCHAR szValueName[MAX_PATH];
|
||||||
|
TCHAR szValue[MAX_PATH];
|
||||||
DWORD Value;
|
DWORD Value;
|
||||||
|
|
||||||
if ( RegOpenCurrentUser(KEY_READ, &hKey) != ERROR_SUCCESS )
|
if ( RegOpenCurrentUser(KEY_READ, &hKey) != ERROR_SUCCESS )
|
||||||
|
@ -170,15 +183,28 @@ BOOL InitializeOptionsFromReg(TCHAR * Path, PConsoleInfo pConInfo)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
RegQueryInfoKey(hKey, NULL, NULL, NULL, &dwNumSubKeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL );
|
RegQueryInfoKey(hSubKey, NULL, NULL, NULL, &dwNumSubKeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL );
|
||||||
|
|
||||||
for (dwIndex = 0; dwIndex < dwNumSubKeys; dwIndex++)
|
for (dwIndex = 0; dwIndex < dwNumSubKeys; dwIndex++)
|
||||||
{
|
{
|
||||||
dwValue = sizeof(Value);
|
dwValue = sizeof(Value);
|
||||||
dwValueName = MAX_PATH;
|
dwValueName = MAX_PATH;
|
||||||
|
|
||||||
if ( RegEnumValue(hSubKey, dwIndex, szValueName, &dwValueName, NULL, NULL, (BYTE*)&Value, &dwValue) != ERROR_SUCCESS)
|
if ( RegEnumValue(hSubKey, dwIndex, szValueName, &dwValueName, NULL, &dwType, (BYTE*)&Value, &dwValue) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
if (dwType == REG_SZ)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* retry in case of string value
|
||||||
|
*/
|
||||||
|
dwValue = sizeof(szValue);
|
||||||
|
dwValueName = MAX_PATH;
|
||||||
|
if (RegEnumValue(hSubKey, dwIndex, szValueName, &dwValueName, NULL, NULL, (BYTE*)szValue, &dwValue) != ERROR_SUCCESS)
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if ( !_tcscmp(szValueName, _T("CursorSize")) )
|
if ( !_tcscmp(szValueName, _T("CursorSize")) )
|
||||||
{
|
{
|
||||||
|
@ -218,6 +244,7 @@ BOOL InitializeOptionsFromReg(TCHAR * Path, PConsoleInfo pConInfo)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
void
|
void
|
||||||
UpdateDialogElements(HWND hwndDlg, PConsoleInfo pConInfo)
|
UpdateDialogElements(HWND hwndDlg, PConsoleInfo pConInfo)
|
||||||
{
|
{
|
||||||
|
@ -321,8 +348,7 @@ BOOLEAN InitializeOptionsDialog(HWND hwndDlg)
|
||||||
if (!pConInfo)
|
if (!pConInfo)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
InitializeOptionsFromReg(pConInfo->szProcessName, pConInfo);
|
|
||||||
UpdateDialogElements(hwndDlg, pConInfo);
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,4 +88,8 @@
|
||||||
#define IDC_STATIC_COLOR15 626
|
#define IDC_STATIC_COLOR15 626
|
||||||
#define IDC_STATIC_COLOR16 627
|
#define IDC_STATIC_COLOR16 627
|
||||||
|
|
||||||
|
|
||||||
|
//string ids
|
||||||
|
#define IDS_SCREEN_TEXT 700
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue