shell32/ebrowser: Implement EBO_NOBORDER option.
This commit is contained in:
parent
118c469598
commit
e46c32ab46
@ -876,7 +876,9 @@ static HRESULT WINAPI IExplorerBrowser_fnInitialize(IExplorerBrowser *iface,
|
|||||||
if (!RegisterClassW(&wc)) return E_FAIL;
|
if (!RegisterClassW(&wc)) return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
style = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_BORDER;
|
style = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS;
|
||||||
|
if (!(This->eb_options & EBO_NOBORDER))
|
||||||
|
style |= WS_BORDER;
|
||||||
This->hwnd_main = CreateWindowExW(WS_EX_CONTROLPARENT, EB_CLASS_NAME, NULL, style,
|
This->hwnd_main = CreateWindowExW(WS_EX_CONTROLPARENT, EB_CLASS_NAME, NULL, style,
|
||||||
prc->left, prc->top,
|
prc->left, prc->top,
|
||||||
prc->right - prc->left, prc->bottom - prc->top,
|
prc->right - prc->left, prc->bottom - prc->top,
|
||||||
@ -1030,7 +1032,7 @@ static HRESULT WINAPI IExplorerBrowser_fnSetOptions(IExplorerBrowser *iface,
|
|||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_IExplorerBrowser(iface);
|
ExplorerBrowserImpl *This = impl_from_IExplorerBrowser(iface);
|
||||||
static const EXPLORER_BROWSER_OPTIONS unsupported_options =
|
static const EXPLORER_BROWSER_OPTIONS unsupported_options =
|
||||||
EBO_ALWAYSNAVIGATE | EBO_NOWRAPPERWINDOW | EBO_HTMLSHAREPOINTVIEW;
|
EBO_ALWAYSNAVIGATE | EBO_NOWRAPPERWINDOW | EBO_HTMLSHAREPOINTVIEW | EBO_NOPERSISTVIEWSTATE;
|
||||||
|
|
||||||
TRACE("%p (0x%x)\n", This, dwFlag);
|
TRACE("%p (0x%x)\n", This, dwFlag);
|
||||||
|
|
||||||
|
@ -759,8 +759,10 @@ static void test_initialization(void)
|
|||||||
{
|
{
|
||||||
IExplorerBrowser *peb;
|
IExplorerBrowser *peb;
|
||||||
IShellBrowser *psb;
|
IShellBrowser *psb;
|
||||||
|
HWND eb_hwnd;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
ULONG lres;
|
ULONG lres;
|
||||||
|
LONG style;
|
||||||
RECT rc;
|
RECT rc;
|
||||||
|
|
||||||
ebrowser_instantiate(&peb);
|
ebrowser_instantiate(&peb);
|
||||||
@ -807,10 +809,9 @@ static void test_initialization(void)
|
|||||||
ok(hr == S_OK, "Got 0x%08x\n", hr);
|
ok(hr == S_OK, "Got 0x%08x\n", hr);
|
||||||
if(SUCCEEDED(hr))
|
if(SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
HWND eb_hwnd;
|
|
||||||
RECT eb_rc;
|
RECT eb_rc;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
LONG style, expected_style;
|
LONG expected_style;
|
||||||
static const RECT exp_rc = {0, 0, 48, 58};
|
static const RECT exp_rc = {0, 0, 48, 58};
|
||||||
|
|
||||||
hr = IShellBrowser_GetWindow(psb, &eb_hwnd);
|
hr = IShellBrowser_GetWindow(psb, &eb_hwnd);
|
||||||
@ -856,6 +857,29 @@ static void test_initialization(void)
|
|||||||
ok(lres == 0, "Got refcount %d\n", lres);
|
ok(lres == 0, "Got refcount %d\n", lres);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* check window style with EBO_NOBORDER */
|
||||||
|
ebrowser_instantiate(&peb);
|
||||||
|
hr = IExplorerBrowser_SetOptions(peb, EBO_NOBORDER);
|
||||||
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
rc.left = 50; rc.top = 20; rc.right = 100; rc.bottom = 80;
|
||||||
|
|
||||||
|
hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
|
||||||
|
ok(hr == S_OK, "got (0x%08x)\n", hr);
|
||||||
|
|
||||||
|
hr = IExplorerBrowser_QueryInterface(peb, &IID_IShellBrowser, (void**)&psb);
|
||||||
|
ok(hr == S_OK, "Got 0x%08x\n", hr);
|
||||||
|
|
||||||
|
hr = IShellBrowser_GetWindow(psb, &eb_hwnd);
|
||||||
|
ok(hr == S_OK, "Got 0x%08x\n", hr);
|
||||||
|
|
||||||
|
style = GetWindowLongPtrW(eb_hwnd, GWL_STYLE);
|
||||||
|
ok(!(style & WS_BORDER) || broken(style & WS_BORDER) /* before win8 */, "got style 0x%08x\n", style);
|
||||||
|
|
||||||
|
IShellBrowser_Release(psb);
|
||||||
|
IExplorerBrowser_Destroy(peb);
|
||||||
|
IExplorerBrowser_Release(peb);
|
||||||
|
|
||||||
|
/* empty rectangle */
|
||||||
ebrowser_instantiate(&peb);
|
ebrowser_instantiate(&peb);
|
||||||
rc.left = 0; rc.top = 0; rc.right = 0; rc.bottom = 0;
|
rc.left = 0; rc.top = 0; rc.right = 0; rc.bottom = 0;
|
||||||
hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
|
hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
|
||||||
|
@ -2258,7 +2258,9 @@ typedef [v1_enum] enum tagEXPLORER_BROWSER_OPTIONS {
|
|||||||
EBO_ALWAYSNAVIGATE = 0x04,
|
EBO_ALWAYSNAVIGATE = 0x04,
|
||||||
EBO_NOTRAVELLOG = 0x08,
|
EBO_NOTRAVELLOG = 0x08,
|
||||||
EBO_NOWRAPPERWINDOW = 0x10,
|
EBO_NOWRAPPERWINDOW = 0x10,
|
||||||
EBO_HTMLSHAREPOINTVIEW = 0x20
|
EBO_HTMLSHAREPOINTVIEW = 0x20,
|
||||||
|
EBO_NOBORDER = 0x40,
|
||||||
|
EBO_NOPERSISTVIEWSTATE = 0x80,
|
||||||
} EXPLORER_BROWSER_OPTIONS;
|
} EXPLORER_BROWSER_OPTIONS;
|
||||||
|
|
||||||
cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser")
|
cpp_quote("#define SID_SExplorerBrowserFrame IID_ICommDlgBrowser")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user