comdlg32: In the file dialog change the position of the file browser when the application changes that of the invisible listbox control.

This commit is contained in:
Rein Klazes 2009-08-08 11:19:42 +02:00 committed by Alexandre Julliard
parent a30625306d
commit 1b740dd14a
1 changed files with 13 additions and 1 deletions

View File

@ -1150,7 +1150,7 @@ INT_PTR CALLBACK FileOpenDlgProc95(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM l
case WM_INITDIALOG:
{
FileOpenDlgInfos * fodInfos = (FileOpenDlgInfos *)lParam;
RECT rc;
RECT rc, rcstc;
int gripx = GetSystemMetrics( SM_CYHSCROLL);
int gripy = GetSystemMetrics( SM_CYVSCROLL);
@ -1185,6 +1185,18 @@ INT_PTR CALLBACK FileOpenDlgProc95(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM l
SendCustomDlgNotificationMessage(hwnd,CDN_FOLDERCHANGE);
}
/* if the app has changed the position of the invisible listbox,
* change that of the listview (browser) as well */
GetWindowRect( fodInfos->ShellInfos.hwndView, &rc);
GetWindowRect( GetDlgItem( hwnd, IDC_SHELLSTATIC ), &rcstc);
if( !EqualRect( &rc, &rcstc))
{
MapWindowPoints( NULL, hwnd, (LPPOINT) &rcstc, 2);
SetWindowPos( fodInfos->ShellInfos.hwndView, NULL,
rcstc.left, rcstc.top, rcstc.right - rcstc.left, rcstc.bottom - rcstc.top,
SWP_NOACTIVATE | SWP_NOZORDER);
}
if (fodInfos->ofnInfos->Flags & OFN_ENABLESIZING)
{
GetWindowRect( hwnd, &rc);