diff --git a/reactos/base/applications/mstsc/connectdialog.c b/reactos/base/applications/mstsc/connectdialog.c index 42f57923c78..9573bf473ea 100644 --- a/reactos/base/applications/mstsc/connectdialog.c +++ b/reactos/base/applications/mstsc/connectdialog.c @@ -53,6 +53,7 @@ DoOpenFile(PINFO pInfo) } } + static VOID DoSaveAs(PINFO pInfo) { @@ -932,6 +933,8 @@ OnMainCreate(HWND hwnd, GWLP_USERDATA, (LONG_PTR)pInfo); + pInfo->hSelf = hwnd; + /* add main settings pointer */ pInfo->pRdpSettings = pRdpSettings; @@ -1090,16 +1093,79 @@ DlgProc(HWND hDlg, HDC hdcMem = CreateCompatibleDC(hdc); if (hdcMem) { + WCHAR lpBuffer[32]; + RECT bmpRc, txtRc; + LOGFONTW lf; + HFONT hFont; + + GetClientRect(pInfo->hSelf, &bmpRc); + SelectObject(hdcMem, pInfo->hHeader); - BitBlt(hdc, - 0, - 0, - pInfo->headerbitmap.bmWidth, - pInfo->headerbitmap.bmHeight, - hdcMem, - 0, - 0, - SRCCOPY); + StretchBlt(hdc, + 0, + 0, + bmpRc.right, + pInfo->headerbitmap.bmHeight, + hdcMem, + 0, + 0, + pInfo->headerbitmap.bmWidth, + pInfo->headerbitmap.bmHeight, + SRCCOPY); + + txtRc.left = bmpRc.right * 0.25; + txtRc.top = 10; + txtRc.right = bmpRc.right * 0.75; + txtRc.bottom = pInfo->headerbitmap.bmHeight * 0.5; + + ZeroMemory(&lf, sizeof(LOGFONT)); + + if (LoadStringW(hInst, IDS_HEADERTEXT1, lpBuffer, 32)) + { + lf.lfHeight = 24; + lf.lfCharSet = OEM_CHARSET; + lf.lfQuality = DEFAULT_QUALITY; + lf.lfWeight = FW_MEDIUM; + wcscpy(lf.lfFaceName, L"Tahoma"); + + hFont = CreateFontIndirectW(&lf); + if (hFont) + { + SelectObject(hdc, hFont); + + DPtoLP(hdc, (PPOINT)&txtRc, 2); + SetTextColor(hdc, RGB(255,255,255)); + SetBkMode(hdc, TRANSPARENT); + DrawTextW(hdc, lpBuffer, -1, &txtRc, DT_BOTTOM | DT_SINGLELINE); + DeleteObject(hFont); + } + } + + txtRc.left = bmpRc.right * 0.25; + txtRc.top = txtRc.bottom - 5; + txtRc.right = bmpRc.right * 0.75; + txtRc.bottom = pInfo->headerbitmap.bmHeight * 0.9; + + if (LoadStringW(hInst, IDS_HEADERTEXT2, lpBuffer, 32)) + { + lf.lfHeight = 30; + lf.lfCharSet = OEM_CHARSET; + lf.lfQuality = DEFAULT_QUALITY; + lf.lfWeight = FW_EXTRABOLD; + wcscpy(lf.lfFaceName, L"Tahoma"); + + hFont = CreateFontIndirectW(&lf); + if (hFont) + { + SelectObject(hdc, hFont); + + DPtoLP(hdc, (PPOINT)&txtRc, 2); + SetTextColor(hdc, RGB(255,255,255)); + SetBkMode(hdc, TRANSPARENT); + DrawTextW(hdc, lpBuffer, -1, &txtRc, DT_TOP | DT_SINGLELINE); + } + } + DeleteDC(hdcMem); } diff --git a/reactos/base/applications/mstsc/lang/en-US.rc b/reactos/base/applications/mstsc/lang/en-US.rc index 368187887ec..e5a1c04631b 100644 --- a/reactos/base/applications/mstsc/lang/en-US.rc +++ b/reactos/base/applications/mstsc/lang/en-US.rc @@ -38,14 +38,14 @@ BEGIN LTEXT "", IDC_SETTINGS_RESOLUTION_TEXT, 56, 62, 120, 10, SS_CENTER END -IDD_CONNECTDIALOG DIALOGEX 0, 0, 260, 267 +IDD_CONNECTDIALOG DIALOGEX 0, 0, 260, 262 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Remote Desktop Connection" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "Connect",IDOK,147,249,50,14 - PUSHBUTTON "Cancel",IDCANCEL,203,249,50,14 - CONTROL "",IDC_TAB,"SysTabControl32",0x0,7,54,246,190 + DEFPUSHBUTTON "Connect",IDOK,147,245,50,14 + PUSHBUTTON "Cancel",IDCANCEL,203,245,50,14 + CONTROL "",IDC_TAB,"SysTabControl32",0x0,7,50,246,190 END @@ -60,4 +60,6 @@ BEGIN IDS_PIXEL "%lux%lu Pixels" IDS_FULLSCREEN "Full Screen" IDS_BROWSESERVER "" + IDS_HEADERTEXT1 "Remote Desktop" + IDS_HEADERTEXT2 "Connection" END diff --git a/reactos/base/applications/mstsc/res/header.bmp b/reactos/base/applications/mstsc/res/header.bmp index 7ea6a6f2bc6..4a9fa6d52a4 100644 Binary files a/reactos/base/applications/mstsc/res/header.bmp and b/reactos/base/applications/mstsc/res/header.bmp differ diff --git a/reactos/base/applications/mstsc/res/header.pdn b/reactos/base/applications/mstsc/res/header.pdn index 03d67d85e06..2a52b3ed1e8 100644 Binary files a/reactos/base/applications/mstsc/res/header.pdn and b/reactos/base/applications/mstsc/res/header.pdn differ diff --git a/reactos/base/applications/mstsc/resource.h b/reactos/base/applications/mstsc/resource.h index c204d83ae72..a63bfffdaad 100644 --- a/reactos/base/applications/mstsc/resource.h +++ b/reactos/base/applications/mstsc/resource.h @@ -26,14 +26,17 @@ #define IDB_HEADER 1100 #define IDB_SPECT 1101 -#define IDI_LOGON 2000 -#define IDI_CONN 2001 -#define IDI_REMOTE 2002 -#define IDI_COLORS 2003 -#define IDI_MSTSC 2004 +#define IDI_MSTSC 2000 +#define IDI_LOGON 2001 +#define IDI_CONN 2002 +#define IDI_REMOTE 2003 +#define IDI_COLORS 2004 + #define IDS_TAB_DISPLAY 3000 #define IDS_TAB_GENERAL 3001 #define IDS_PIXEL 3006 #define IDS_FULLSCREEN 3007 #define IDS_BROWSESERVER 3008 +#define IDS_HEADERTEXT1 3009 +#define IDS_HEADERTEXT2 3010 diff --git a/reactos/base/applications/mstsc/rsrc.rc b/reactos/base/applications/mstsc/rsrc.rc index 4c7f3ff4f86..97fec45e0f9 100644 --- a/reactos/base/applications/mstsc/rsrc.rc +++ b/reactos/base/applications/mstsc/rsrc.rc @@ -14,7 +14,7 @@ IDI_COLORS ICON "res/colors.ico" IDB_HEADER BITMAP "res/header.bmp" IDB_SPECT BITMAP "res/spectrum.bmp" -#include "lang/de-DE.rc" +//#include "lang/de-DE.rc" #include "lang/en-US.rc" -#include "lang/fr-FR.rc" -#include "lang/ru-RU.rc" +//#include "lang/fr-FR.rc" +//#include "lang/ru-RU.rc"