interface ICoreWebView2_9
interface ICoreWebView2_9
: public ICoreWebView2_8
This interface is an extension of ICoreWebView2_8 that default download dialog positioning and anchoring.
Summary
Members | Descriptions |
---|---|
add_IsDefaultDownloadDialogOpenChanged | Raised when the IsDefaultDownloadDialogOpen property changes. |
CloseDefaultDownloadDialog | Close the default download dialog. |
get_DefaultDownloadDialogCornerAlignment | Get the default download dialog corner alignment. |
get_DefaultDownloadDialogMargin | Get the default download dialog margin. |
get_IsDefaultDownloadDialogOpen | TRUE if the default download dialog is currently open. |
OpenDefaultDownloadDialog | Open the default download dialog. |
put_DefaultDownloadDialogCornerAlignment | Set the default download dialog corner alignment. |
put_DefaultDownloadDialogMargin | Set the default download dialog margin relative to the WebView corner specified by DefaultDownloadDialogCornerAlignment . |
remove_IsDefaultDownloadDialogOpenChanged | Remove an event handler previously added with add_IsDefaultDownloadDialogOpenChanged . |
Applies to
Product | Introduced |
---|---|
WebView2 Win32 | 1.0.1072.54 |
WebView2 Win32 Prerelease | 1.0.1083 |
Members
add_IsDefaultDownloadDialogOpenChanged
Raised when the IsDefaultDownloadDialogOpen
property changes.
public HRESULT add_IsDefaultDownloadDialogOpenChanged(ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * handler, EventRegistrationToken * token)
This event comes after the DownloadStarting
event. Setting the Handled
property on the DownloadStartingEventArgs
disables the default download dialog and ensures that this event is never raised.
CloseDefaultDownloadDialog
Close the default download dialog.
public HRESULT CloseDefaultDownloadDialog()
Calling this method raises the IsDefaultDownloadDialogOpenChanged
event if the dialog was open. No effect if the dialog is already closed.
get_DefaultDownloadDialogCornerAlignment
Get the default download dialog corner alignment.
public HRESULT get_DefaultDownloadDialogCornerAlignment(COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT * value)
get_DefaultDownloadDialogMargin
Get the default download dialog margin.
public HRESULT get_DefaultDownloadDialogMargin(POINT * value)
get_IsDefaultDownloadDialogOpen
TRUE
if the default download dialog is currently open.
public HRESULT get_IsDefaultDownloadDialogOpen(BOOL * value)
The value of this property changes only when the default download dialog is explicitly opened or closed. Hiding the WebView implicitly hides the dialog, but does not change the value of this property.
OpenDefaultDownloadDialog
Open the default download dialog.
public HRESULT OpenDefaultDownloadDialog()
If the dialog is opened before there are recent downloads, the dialog shows all past downloads for the current profile. Otherwise, the dialog shows only the recent downloads with a "See more" button for past downloads. Calling this method raises the IsDefaultDownloadDialogOpenChanged
event if the dialog was closed. No effect if the dialog is already open.
void ViewComponent::ToggleDefaultDownloadDialog()
{
if (m_webView2_9)
{
BOOL isOpen;
m_webView2_9->get_IsDefaultDownloadDialogOpen(&isOpen);
if (isOpen)
{
m_webView2_9->CloseDefaultDownloadDialog();
}
else
{
m_webView2_9->OpenDefaultDownloadDialog();
}
}
}
put_DefaultDownloadDialogCornerAlignment
Set the default download dialog corner alignment.
public HRESULT put_DefaultDownloadDialogCornerAlignment(COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value)
The dialog can be aligned to any of the WebView corners (see COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT). When the WebView or dialog changes size, the dialog keeps its position relative to the corner. The dialog may become partially or completely outside of the WebView bounds if the WebView is small enough. Set the margin relative to the corner with the DefaultDownloadDialogMargin
property. The corner alignment and margin should be set during initialization to ensure that they are correctly applied when the layout is first computed, otherwise they will not take effect until the next time the WebView position or size is updated.
void ViewComponent::SetDefaultDownloadDialogPosition()
{
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT cornerAlignment =
COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT;
POINT margin = {m_downloadsButtonMargin,
(m_downloadsButtonMargin + m_downloadsButtonHeight)};
CHECK_FAILURE(
m_webView2_9->put_DefaultDownloadDialogCornerAlignment(
cornerAlignment));
CHECK_FAILURE(
m_webView2_9->put_DefaultDownloadDialogMargin(margin));
}
put_DefaultDownloadDialogMargin
Set the default download dialog margin relative to the WebView corner specified by DefaultDownloadDialogCornerAlignment
.
public HRESULT put_DefaultDownloadDialogMargin(POINT value)
The margin is a point that describes the vertical and horizontal distances between the chosen WebView corner and the default download dialog corner nearest to it. Positive values move the dialog towards the center of the WebView from the chosen WebView corner, and negative values move the dialog away from it. Use (0, 0) to align the dialog to the WebView corner with no margin. The corner alignment and margin should be set during initialization to ensure that they are correctly applied when the layout is first computed, otherwise they will not take effect until the next time the WebView position or size is updated.
remove_IsDefaultDownloadDialogOpenChanged
Remove an event handler previously added with add_IsDefaultDownloadDialogOpenChanged
.
public HRESULT remove_IsDefaultDownloadDialogOpenChanged(EventRegistrationToken token)