[SHELL32] Add line bar to About dialog for consistence
authorStanislav Motylkov <x86corez@gmail.com>
Sat, 23 Mar 2019 17:53:01 +0000 (20:53 +0300)
committerHermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Sat, 23 Mar 2019 18:11:28 +0000 (19:11 +0100)
Addendum to f9d2931. CORE-15215

dll/win32/shell32/bitmap_res.rc
dll/win32/shell32/res/bitmaps/line.bmp [new file with mode: 0644]
dll/win32/shell32/shresdef.h
dll/win32/shell32/wine/shell32_main.c

index f267eb7..80dfa6f 100644 (file)
@@ -1,4 +1,5 @@
 IDB_REACTOS BITMAP "res/bitmaps/reactos.bmp"
+IDB_LINEBAR BITMAP "res/bitmaps/line.bmp"
 
 IDB_SHELL_IEXPLORE_LG        BITMAP "res/bitmaps/204.bmp"
 IDB_SHELL_IEXPLORE_LG_HOT    BITMAP "res/bitmaps/205.bmp"
diff --git a/dll/win32/shell32/res/bitmaps/line.bmp b/dll/win32/shell32/res/bitmaps/line.bmp
new file mode 100644 (file)
index 0000000..08717d3
Binary files /dev/null and b/dll/win32/shell32/res/bitmaps/line.bmp differ
index 0a8cb72..9f7d674 100644 (file)
@@ -27,6 +27,7 @@
 
 /* Bitmaps */
 #define IDB_REACTOS                 131
+#define IDB_LINEBAR                 138
 #define IDB_SHELL_IEXPLORE_LG       204
 #define IDB_SHELL_IEXPLORE_LG_HOT   205
 #define IDB_SHELL_IEXPLORE_SM       206
index 5b9ca5e..4ae3ea0 100644 (file)
@@ -1132,8 +1132,8 @@ INT_PTR CALLBACK AboutAuthorsDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM
 static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
 {
     static DWORD   cxLogoBmp;
-    static DWORD   cyLogoBmp;
-    static HBITMAP hLogoBmp;
+    static DWORD   cyLogoBmp, cyLineBmp;
+    static HBITMAP hLogoBmp, hLineBmp;
     static HWND    hWndAuthors;
 
     switch(msg)
@@ -1153,8 +1153,9 @@ static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM
 
                 // Preload the ROS bitmap
                 hLogoBmp = (HBITMAP)LoadImage(shell32_hInstance, MAKEINTRESOURCE(IDB_REACTOS), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
+                hLineBmp = (HBITMAP)LoadImage(shell32_hInstance, MAKEINTRESOURCE(IDB_LINEBAR), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
 
-                if(hLogoBmp)
+                if(hLogoBmp && hLineBmp)
                 {
                     BITMAP bmpLogo;
 
@@ -1162,6 +1163,9 @@ static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM
 
                     cxLogoBmp = bmpLogo.bmWidth;
                     cyLogoBmp = bmpLogo.bmHeight;
+
+                    GetObject( hLineBmp, sizeof(BITMAP), &bmpLogo );
+                    cyLineBmp = bmpLogo.bmHeight;
                 }
 
                 // Set App-specific stuff (icon, app name, szOtherStuff string)
@@ -1258,20 +1262,25 @@ static INT_PTR CALLBACK AboutDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM
 
         case WM_PAINT:
         {
-            if(hLogoBmp)
+            if(hLogoBmp && hLineBmp)
             {
                 PAINTSTRUCT ps;
                 HDC hdc;
                 HDC hdcMem;
+                HGDIOBJ hOldObj;
 
                 hdc = BeginPaint(hWnd, &ps);
                 hdcMem = CreateCompatibleDC(hdc);
 
                 if(hdcMem)
                 {
-                    SelectObject(hdcMem, hLogoBmp);
+                    hOldObj = SelectObject(hdcMem, hLogoBmp);
                     BitBlt(hdc, 0, 0, cxLogoBmp, cyLogoBmp, hdcMem, 0, 0, SRCCOPY);
 
+                    SelectObject(hdcMem, hLineBmp);
+                    BitBlt(hdc, 0, cyLogoBmp, cxLogoBmp, cyLineBmp, hdcMem, 0, 0, SRCCOPY);
+
+                    SelectObject(hdcMem, hOldObj);
                     DeleteDC(hdcMem);
                 }