mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[DESK] Show monitor on "Settings" page when only one monitor detected
Hide multiple monitor selection controls in this case. Otherwise, show them when multiple monitors are detected and hide the monitor preview bitmap. This fixes the focus on the resolution slider when tested in Windows XP. Also use the monitor bitmap globally, because it's used on multiple pages. CORE-17939 CORE-10606
This commit is contained in:
parent
311fcc612e
commit
3aa5e8b897
34 changed files with 152 additions and 66 deletions
|
@ -37,18 +37,6 @@ typedef enum
|
|||
PLACEMENT_VALUE_FILL = 10
|
||||
} PLACEMENT_VALUE;
|
||||
|
||||
/* The values in these macros are dependent on the
|
||||
* layout of the monitor image and they must be adjusted
|
||||
* if that image will be changed.
|
||||
*/
|
||||
#define MONITOR_LEFT 20
|
||||
#define MONITOR_TOP 8
|
||||
#define MONITOR_RIGHT 140
|
||||
#define MONITOR_BOTTOM 92
|
||||
|
||||
#define MONITOR_WIDTH (MONITOR_RIGHT-MONITOR_LEFT)
|
||||
#define MONITOR_HEIGHT (MONITOR_BOTTOM-MONITOR_TOP)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
BOOL bWallpaper; /* Is this background a wallpaper */
|
||||
|
@ -74,10 +62,6 @@ typedef struct _BACKGROUND_DATA
|
|||
|
||||
int listViewItemCount;
|
||||
|
||||
HBITMAP hBitmap;
|
||||
int cxSource;
|
||||
int cySource;
|
||||
|
||||
ULONG_PTR gdipToken;
|
||||
} BACKGROUND_DATA, *PBACKGROUND_DATA;
|
||||
|
||||
|
@ -468,7 +452,6 @@ InitBackgroundDialog(HWND hwndDlg, PBACKGROUND_DATA pData)
|
|||
HKEY regKey;
|
||||
TCHAR szBuffer[3];
|
||||
DWORD bufferSize = sizeof(szBuffer);
|
||||
BITMAP bitmap;
|
||||
|
||||
AddListViewItems(hwndDlg, pData);
|
||||
|
||||
|
@ -490,15 +473,6 @@ InitBackgroundDialog(HWND hwndDlg, PBACKGROUND_DATA pData)
|
|||
SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_SETCURSEL, PLACEMENT_CENTER, 0);
|
||||
pData->placementSelection = PLACEMENT_CENTER;
|
||||
|
||||
pData->hBitmap = (HBITMAP) LoadImage(hApplet, MAKEINTRESOURCE(IDC_MONITOR), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
|
||||
if (pData->hBitmap != NULL)
|
||||
{
|
||||
GetObject(pData->hBitmap, sizeof(BITMAP), &bitmap);
|
||||
|
||||
pData->cxSource = bitmap.bmWidth;
|
||||
pData->cySource = bitmap.bmHeight;
|
||||
}
|
||||
|
||||
/* Load the default settings from the registry */
|
||||
if (RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Control Panel\\Desktop"), 0, KEY_QUERY_VALUE, ®Key) != ERROR_SUCCESS)
|
||||
{
|
||||
|
@ -822,7 +796,7 @@ DrawBackgroundPreview(LPDRAWITEMSTRUCT draw, PBACKGROUND_DATA pData)
|
|||
};
|
||||
|
||||
hDC = CreateCompatibleDC(draw->hDC);
|
||||
hOldObj = SelectObject(hDC, pData->hBitmap);
|
||||
hOldObj = SelectObject(hDC, g_GlobalData.hMonitorBitmap);
|
||||
|
||||
if (pData->backgroundItems[pData->backgroundSelection].bWallpaper == FALSE)
|
||||
{
|
||||
|
@ -997,12 +971,12 @@ DrawBackgroundPreview(LPDRAWITEMSTRUCT draw, PBACKGROUND_DATA pData)
|
|||
|
||||
GdiTransparentBlt(draw->hDC,
|
||||
draw->rcItem.left, draw->rcItem.top,
|
||||
draw->rcItem.right-draw->rcItem.left+1,
|
||||
draw->rcItem.bottom-draw->rcItem.top+1,
|
||||
draw->rcItem.right - draw->rcItem.left + 1,
|
||||
draw->rcItem.bottom - draw->rcItem.top + 1,
|
||||
hDC,
|
||||
0, 0,
|
||||
pData->cxSource, pData->cySource,
|
||||
0xFF00FF);
|
||||
g_GlobalData.bmMonWidth, g_GlobalData.bmMonHeight,
|
||||
MONITOR_ALPHA);
|
||||
|
||||
SelectObject(hDC, hOldObj);
|
||||
DeleteDC(hDC);
|
||||
|
@ -1265,7 +1239,6 @@ BackgroundPageProc(HWND hwndDlg,
|
|||
if (pData->pWallpaperBitmap != NULL)
|
||||
DibFreeImage(pData->pWallpaperBitmap);
|
||||
|
||||
DeleteObject(pData->hBitmap);
|
||||
GdiplusShutdown(pData->gdipToken);
|
||||
HeapFree(GetProcessHeap(), 0, pData);
|
||||
break;
|
||||
|
|
|
@ -150,6 +150,7 @@ DisplayApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
|||
LPCWSTR pwszFile = NULL;
|
||||
LPCWSTR pwszAction = NULL;
|
||||
INT nPage = 0;
|
||||
BITMAP bitmap;
|
||||
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
|
||||
|
@ -197,6 +198,16 @@ DisplayApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
|||
g_GlobalData.pwszAction = pwszAction;
|
||||
g_GlobalData.desktop_color = GetSysColor(COLOR_DESKTOP);
|
||||
|
||||
/* Initialize the monitor preview bitmap, used on multiple pages */
|
||||
g_GlobalData.hMonitorBitmap = LoadBitmapW(hApplet, MAKEINTRESOURCEW(IDC_MONITOR));
|
||||
if (g_GlobalData.hMonitorBitmap != NULL)
|
||||
{
|
||||
GetObjectW(g_GlobalData.hMonitorBitmap, sizeof(bitmap), &bitmap);
|
||||
|
||||
g_GlobalData.bmMonWidth = bitmap.bmWidth;
|
||||
g_GlobalData.bmMonHeight = bitmap.bmHeight;
|
||||
}
|
||||
|
||||
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
||||
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||
psh.dwFlags = PSH_USECALLBACK | PSH_PROPTITLE | PSH_USEICONID;
|
||||
|
@ -238,6 +249,8 @@ DisplayApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
|
|||
PropertySheet(&psh);
|
||||
|
||||
cleanup:
|
||||
DeleteObject(g_GlobalData.hMonitorBitmap);
|
||||
|
||||
if (hpsxa != NULL)
|
||||
SHDestroyPropSheetExtArray(hpsxa);
|
||||
|
||||
|
|
|
@ -63,6 +63,21 @@ INT AllocAndLoadString(LPTSTR *lpTarget,
|
|||
|
||||
ULONG __cdecl DbgPrint(PCCH Format,...);
|
||||
|
||||
/*
|
||||
* The values in these macros are dependent on the
|
||||
* layout of the monitor image and they must be adjusted
|
||||
* if that image is changed.
|
||||
*/
|
||||
#define MONITOR_LEFT 20
|
||||
#define MONITOR_TOP 8
|
||||
#define MONITOR_RIGHT 140
|
||||
#define MONITOR_BOTTOM 92
|
||||
|
||||
#define MONITOR_WIDTH (MONITOR_RIGHT-MONITOR_LEFT)
|
||||
#define MONITOR_HEIGHT (MONITOR_BOTTOM-MONITOR_TOP)
|
||||
|
||||
#define MONITOR_ALPHA 0xFF00FF
|
||||
|
||||
#define MAX_DESK_PAGES 32
|
||||
#define NUM_SPECTRUM_BITMAPS 3
|
||||
|
||||
|
@ -106,6 +121,9 @@ typedef struct _GLOBAL_DATA
|
|||
COLORREF desktop_color;
|
||||
LPCWSTR pwszFile;
|
||||
LPCWSTR pwszAction;
|
||||
HBITMAP hMonitorBitmap;
|
||||
LONG bmMonWidth;
|
||||
LONG bmMonHeight;
|
||||
} GLOBAL_DATA, *PGLOBAL_DATA;
|
||||
|
||||
extern GLOBAL_DATA g_GlobalData;
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Настройки"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Завлачете значетата на мониторите така, че да отговарят на действителното разположение на мониторите ви.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Завлачете значетата на мониторите така, че да отговарят на действителното разположение на мониторите ви.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Екран:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -140,7 +140,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Nastavení"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Tažením nastavte ikony monitorů, aby odpovídaly fyzickému uspořádání vašich monitorů.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Tažením nastavte ikony monitorů, aby odpovídaly fyzickému uspořádání vašich monitorů.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Obrazovka:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Einstellungen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Verschieben Sie die Monitor-Symbole, sodass sie der physischen Anordnung Ihrer Monitore entsprechen.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Verschieben Sie die Monitor-Symbole, sodass sie der physischen Anordnung Ihrer Monitore entsprechen.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Anzeige:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Ρυθμίσεις"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Σύρετε τα εικονίδια της οθόνης, ώστε να ταιριάξουν με τη φυσική διάταξη των οθονών σας.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Σύρετε τα εικονίδια της οθόνης, ώστε να ταιριάξουν με τη φυσική διάταξη των οθονών σας.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Εμφάνιση:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Settings"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Display:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Settings"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Display:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -144,7 +144,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Configuración"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Arrastre los iconos para ajustar el orden físico de sus monitores.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Arrastre los iconos para ajustar el orden físico de sus monitores.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "Mostrar:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -141,7 +141,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Sätted"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Lohista monitori ikoone kuni see kattub teie füüsilise monitoride järjekorraga.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Lohista monitori ikoone kuni see kattub teie füüsilise monitoride järjekorraga.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Kuva:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -136,7 +136,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Paramètres"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Déplacez les icônes de moniteur pour qu'elles correspondent à l'arrangement physique de vos moniteurs.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Déplacez les icônes de moniteur pour qu'elles correspondent à l'arrangement physique de vos moniteurs.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Affichage :", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "הגדרות"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "תצוגה:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -136,7 +136,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Beállítások"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Mozgassa a monitor ikonokat úgy, hogy megegyezzen a monitorjai fizikai elrendezésével.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Mozgassa a monitor ikonokat úgy, hogy megegyezzen a monitorjai fizikai elrendezésével.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Képernyő:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Setelan"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Geser ikon monitor untuk mencocokkan penyesuaian fisik monitor.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Geser ikon monitor untuk mencocokkan penyesuaian fisik monitor.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Tampilan:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Impostazioni"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Trascinare le icone dei monitor in modo corrispondente alla disposizione fisica dei vostri monitor.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Trascinare le icone dei monitor in modo corrispondente alla disposizione fisica dei vostri monitor.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Schermo:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "設定"
|
||||
FONT 9, "MS UI Gothic"
|
||||
BEGIN
|
||||
LTEXT "モニタのアイコンを実際のモニタの配列と一致するように移動してください。", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "モニタのアイコンを実際のモニタの配列と一致するように移動してください。", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "ディスプレイ(&D):", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Instellingen"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Scherm:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Innstillinger"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Dra skjermikonene for å tilpasse fysisk til din skjerm.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Dra skjermikonene for å tilpasse fysisk til din skjerm.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Skjerm:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -144,7 +144,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Ustawienia"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Przeciągnij ikony monitorów tak, by przedstawiały fizyczne rozmieszczenie twoich monitorów.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Przeciągnij ikony monitorów tak, by przedstawiały fizyczne rozmieszczenie twoich monitorów.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Ekran:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Configurações"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Arraste os ícones de monitor para que corresponda à disposição física de seus monitores.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Arraste os ícones de monitor para que corresponda à disposição física de seus monitores.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "Vídeo:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -139,7 +139,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Definições"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Arraste os ícones dos monitores, para que correspondam à disposição física dos seus monitores.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Arraste os ícones dos monitores, para que correspondam à disposição física dos seus monitores.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 250, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "Monitor:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -139,7 +139,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Configurare"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Mișcați miniaturile ecranelor până vor corespunde cu amplasamentul fizic al ecranelor (opțiune pentru ecrane multiple).", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Mișcați miniaturile ecranelor până vor corespunde cu amplasamentul fizic al ecranelor (opțiune pentru ecrane multiple).", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Dispozitive de afișare:", 1820, 3, 107, 75, 9
|
||||
|
|
|
@ -134,7 +134,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Параметры"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Разместите значки мониторов в соответствии с их расположением.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Разместите значки мониторов в соответствии с их расположением.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Дисплей:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -136,7 +136,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Nastavenie"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ťahaním zoraďte ikony podľa fyzického rozmiestnenia monitorov.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Ťahaním zoraďte ikony podľa fyzického rozmiestnenia monitorov.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Monitor:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -138,7 +138,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Cilësimet"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Terheq monitorimin e ikonave të përputhet me marrëveshje fizike të vëzhguesit tuaj.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Terheq monitorimin e ikonave të përputhet me marrëveshje fizike të vëzhguesit tuaj.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Ekran:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -136,7 +136,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Inställningar"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Drag the monitor icons to match the physical arrangement of your monitors.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Bild:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -136,7 +136,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Ayarlar"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Monitörlerinizin fiziksel düzenlenmesini karşılaştırmak için monitör simgelerini sürükleyiniz.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Monitörlerinizin fiziksel düzenlenmesini karşılaştırmak için monitör simgelerini sürükleyiniz.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "Görü&ntü:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -142,7 +142,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "Параметри"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Розташуйте значки моніторів відповідно до фактичного розташування моніторів.", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "Розташуйте значки моніторів відповідно до фактичного розташування моніторів.", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "&Дисплей:", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -144,7 +144,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "设置"
|
||||
FONT 9, "宋体"
|
||||
BEGIN
|
||||
LTEXT "拖动监视器图标以匹配监视器的物理排列。", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "拖动监视器图标以匹配监视器的物理排列。", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "显示(&D):", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -142,7 +142,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "設定"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
LTEXT "拖動顯示器圖示以便符合顯示器的實際設定。", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "拖動顯示器圖示以便符合顯示器的實際設定。", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "顯示(&D):", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -143,7 +143,8 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
|
|||
CAPTION "設定"
|
||||
FONT 9, "新細明體"
|
||||
BEGIN
|
||||
LTEXT "拖動顯示器圖示以便符合顯示器的實際設定。", -1, 3, 3, 240, 20
|
||||
CONTROL "", IDC_RESOLUTION_PREVIEW, "Static", SS_OWNERDRAW, 70, 10, 105, 74, 0
|
||||
LTEXT "拖動顯示器圖示以便符合顯示器的實際設定。", IDC_SETTINGS_MONTEXT, 3, 3, 240, 20
|
||||
CONTROL "", IDC_SETTINGS_MONSEL, "MONITORSELWNDCLASS", WS_CHILD | WS_VISIBLE |
|
||||
WS_TABSTOP, 3, 23, 240, 82, WS_EX_CLIENTEDGE
|
||||
LTEXT "顯示(&D):", 1820, 3, 107, 70, 9
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#define IDC_COLOR_BUTTON 1004
|
||||
#define IDC_PLACEMENT_COMBO 1005
|
||||
#define IDS_BACKGROUND_COMDLG_FILTER 1006
|
||||
#define IDC_RESOLUTION_PREVIEW 1007
|
||||
|
||||
/* Screensaver Page */
|
||||
#define IDC_SCREENS_PREVIEW 1010
|
||||
|
@ -65,10 +66,11 @@
|
|||
#define IDC_SETTINGS_ADVANCED 205
|
||||
#define IDC_SETTINGS_MONSEL 206
|
||||
#define IDC_SETTINGS_SPECTRUM 207
|
||||
#define IDC_SETTINGS_MONTEXT 208
|
||||
|
||||
#define IDB_SPECTRUM_4 208
|
||||
#define IDB_SPECTRUM_8 209
|
||||
#define IDB_SPECTRUM_16 210
|
||||
#define IDB_SPECTRUM_4 209
|
||||
#define IDB_SPECTRUM_8 210
|
||||
#define IDB_SPECTRUM_16 211
|
||||
|
||||
#define IDR_PREVIEW_MENU 2100
|
||||
#define ID_MENU_NORMAL 2101
|
||||
|
|
|
@ -360,6 +360,9 @@ SettingsOnInitDialog(IN HWND hwndDlg)
|
|||
/* Single video adapter */
|
||||
OnDisplayDeviceChanged(hwndDlg, pData, pData->DisplayDeviceList);
|
||||
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_MONTEXT), SW_HIDE);
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_SETTINGS_MONSEL), SW_HIDE);
|
||||
|
||||
monitors.Position.x = monitors.Position.y = 0;
|
||||
monitors.Size.cx = pData->CurrentDisplayDevice->CurrentSettings->dmPelsWidth;
|
||||
monitors.Size.cy = pData->CurrentDisplayDevice->CurrentSettings->dmPelsHeight;
|
||||
|
@ -377,6 +380,8 @@ SettingsOnInitDialog(IN HWND hwndDlg)
|
|||
|
||||
OnDisplayDeviceChanged(hwndDlg, pData, pData->DisplayDeviceList);
|
||||
|
||||
ShowWindow(GetDlgItem(hwndDlg, IDC_RESOLUTION_PREVIEW), SW_HIDE);
|
||||
|
||||
pMonitors = (PMONSL_MONINFO)HeapAlloc(GetProcessHeap(), 0, sizeof(MONSL_MONINFO) * Result);
|
||||
if (pMonitors)
|
||||
{
|
||||
|
@ -421,6 +426,40 @@ SettingsOnInitDialog(IN HWND hwndDlg)
|
|||
}
|
||||
}
|
||||
|
||||
static VOID
|
||||
ShowResolutionPreview(IN LPDRAWITEMSTRUCT draw, IN PSETTINGS_DATA pData)
|
||||
{
|
||||
HBRUSH hBrush;
|
||||
HDC hDC;
|
||||
HGDIOBJ hOldObj;
|
||||
RECT rcItem = {
|
||||
MONITOR_LEFT,
|
||||
MONITOR_TOP,
|
||||
MONITOR_RIGHT,
|
||||
MONITOR_BOTTOM
|
||||
};
|
||||
|
||||
hDC = CreateCompatibleDC(draw->hDC);
|
||||
hOldObj = SelectObject(hDC, g_GlobalData.hMonitorBitmap);
|
||||
|
||||
/* FIXME: Draw resolution preview bitmap inside monitor. */
|
||||
hBrush = CreateSolidBrush(g_GlobalData.desktop_color);
|
||||
FillRect(hDC, &rcItem, hBrush);
|
||||
DeleteObject(hBrush);
|
||||
|
||||
GdiTransparentBlt(draw->hDC,
|
||||
draw->rcItem.left, draw->rcItem.top,
|
||||
draw->rcItem.right - draw->rcItem.left + 1,
|
||||
draw->rcItem.bottom - draw->rcItem.top + 1,
|
||||
hDC,
|
||||
0, 0,
|
||||
g_GlobalData.bmMonWidth, g_GlobalData.bmMonHeight,
|
||||
MONITOR_ALPHA);
|
||||
|
||||
SelectObject(hDC, hOldObj);
|
||||
DeleteDC(hDC);
|
||||
}
|
||||
|
||||
/* Get the ID for SETTINGS_DATA::hSpectrumBitmaps */
|
||||
static VOID
|
||||
ShowColorSpectrum(IN HDC hDC, IN LPRECT client, IN DWORD BitsPerPel, IN PSETTINGS_DATA pData)
|
||||
|
@ -576,6 +615,7 @@ OnResolutionChanged(IN HWND hwndDlg, IN PSETTINGS_DATA pData, IN DWORD NewPositi
|
|||
}
|
||||
|
||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||
InvalidateRect(GetDlgItem(hwndDlg, IDC_RESOLUTION_PREVIEW), NULL, TRUE);
|
||||
|
||||
dmBitsPerPel = Current->dmBitsPerPel;
|
||||
dmDisplayFrequency = Current->dmDisplayFrequency;
|
||||
|
@ -854,8 +894,19 @@ SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lPar
|
|||
LPDRAWITEMSTRUCT lpDrawItem;
|
||||
lpDrawItem = (LPDRAWITEMSTRUCT) lParam;
|
||||
|
||||
if (lpDrawItem->CtlID == IDC_SETTINGS_SPECTRUM)
|
||||
ShowColorSpectrum(lpDrawItem->hDC, &lpDrawItem->rcItem, pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel, pData);
|
||||
switch (lpDrawItem->CtlID)
|
||||
{
|
||||
case IDC_RESOLUTION_PREVIEW:
|
||||
{
|
||||
ShowResolutionPreview(lpDrawItem, pData);
|
||||
break;
|
||||
}
|
||||
case IDC_SETTINGS_SPECTRUM:
|
||||
{
|
||||
ShowColorSpectrum(lpDrawItem->hDC, &lpDrawItem->rcItem, pData->CurrentDisplayDevice->CurrentSettings->dmBitsPerPel, pData);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_COMMAND:
|
||||
|
|
Loading…
Reference in a new issue