shdocvw 2: Added [get|put]_Visible implementation.

Jacek Caban jacek at codeweavers.com
Sun Apr 30 07:51:31 CDT 2006


Robert Shearman wrote:
> Jacek Caban wrote:
>
>> static HRESULT WINAPI WebBrowser_put_Visible(IWebBrowser2 *iface,
>> VARIANT_BOOL Value)
>> {
>>     WebBrowser *This = WEBBROWSER_THIS(iface);
>> -    FIXME("(%p)->(%x)\n", This, Value);
>> -    return E_NOTIMPL;
>> +    VARIANTARG arg;
>> +    DISPPARAMS dispparams = {&arg, NULL, 1, 0};
>> +
>> +    TRACE("(%p)->(%x)\n", This, Value);
>> +
>> +    This->visible = Value;
>> +
>> +    V_VT(&arg) = VT_BOOL;
>> +    V_BOOL(&arg) = Value;
>> +    call_sink(This->doc_host.cp_wbe2, DISPID_ONVISIBLE, &dispparams);
>> +
>> +    return S_OK;
>>  
>>
>
> You don't actually show or hide the window, so it would be good to
> keep the FIXME there.
That's all we should do here. This function is implemented in
InternetExplorer object, but not in WebBrowser. See:
http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/webbrowser.asp
http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
and from here:
http://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/iwebbrowser2/visible.asp
"This method only applies when automating Internet Explorer."

I also have tests showing that we do exactly what we should. The same
applies to a few of my other similar patches.

Jacek



More information about the wine-devel mailing list