C++编程:WebBrowser控件使用与隐藏显示技巧

需积分: 3 136 下载量 184 浏览量 更新于2024-09-16 收藏 3KB TXT 举报
"这是关于在C++环境中使用CWebBrowser2控件进行网页浏览和控制的笔记。" 在C++编程中,有时我们需要集成Web浏览器功能到桌面应用中,这时可以利用CWebBrowser2控件来实现。CWebBrowser2是Microsoft ActiveX技术的一部分,它允许开发者在MFC(Microsoft Foundation Classes)应用程序中嵌入一个Internet Explorer引擎,以便显示网页内容或者执行与网页相关的交互操作。 首先,为了创建一个CWebBrowser2实例,我们需要进行初始化工作。在代码中,`m_Web`被声明为CWebBrowser2类型的指针,然后通过`new CWebBrowser2`分配内存并创建对象。接着,使用`Create`方法设置控件的属性,如父窗口、样式、位置和大小。在这个例子中,控件被设置为子窗口,并且可见,其坐标和尺寸分别为(0,0,500,500)。 `Navigate`函数是用于加载网页的关键,它接受一个URL参数,例如这里加载了"http://www.bbc.co.uk/iplayer/console/bbc_world_service"。通过调用这个函数,CWebBrowser2控件会打开指定的网页。 在显示和隐藏CWebBrowser2控件时,可以使用`ShowWindow`函数,但存在一些注意事项。在注释中提到,直接使用`ShowWindow`可能会遇到问题,特别是当控件没有设置`WS_VISIBLE`风格时。为了解决这个问题,建议使用`IOleControl::DoVerb`方法来控制WebBrowser控件的可见性,这能更有效地处理控件的显示状态。 此外,笔记还提到了自定义消息`WM_SHOWTASK`,这通常用于应用程序内部通信,比如在需要显示或隐藏WebBrowser控件时发送此消息。在`iplayerDlg.cpp`和`iplayerDlg.h`中,定义和处理这个自定义消息的函数需要被实现。 这段代码展示了如何在C++的MFC应用中集成CWebBrowser2控件,以及如何进行基本的网页浏览和控件显示控制。开发者需要注意控件的创建、导航操作、以及正确处理控件的显示状态,以确保程序的正常运行。

2023-06-08T02:25:37.583259Z 1 [Note] WSREP: GCache history reset: 00000000-0000-0000-0000-000000000000:0 -> c443b2d8-05a0-11ee-86b8-2e0fddf21737:0 2023-06-08T02:25:39.261528Z WSREP_SST: [INFO] Streaming with xbstream 2023-06-08T02:25:39.273174Z WSREP_SST: [INFO] WARNING: Stale temporary SST directory: /data/mysql//.sst from previous state transfer. Removing 2023-06-08T02:25:39.279749Z WSREP_SST: [INFO] Proceeding with SST......... 2023-06-08T02:25:39.519583Z 0 [Note] WSREP: (c05c7a4e, 'tcp://0.0.0.0:4567') turning message relay requesting off 2023-06-08T02:25:39.553817Z WSREP_SST: [INFO] ............Waiting for SST streaming to complete! 2023-06-08T02:25:49.257301Z WSREP_SST: [ERROR] ******************* FATAL ERROR ********************** 2023-06-08T02:25:49.260159Z WSREP_SST: [ERROR] xtrabackup_checkpoints missing. xtrabackup/SST failed on DONOR. Check DONOR log 2023-06-08T02:25:49.262811Z WSREP_SST: [ERROR] ****************************************************** 2023-06-08T02:25:49.266472Z WSREP_SST: [ERROR] Cleanup after exit with status:2 2023-06-08T02:25:49.289335Z 0 [Warning] WSREP: 1.0 (host78): State transfer to 0.0 (host79) failed: -22 (Invalid argument) 2023-06-08T02:25:49.289400Z 0 [ERROR] WSREP: gcs/src/gcs_group.cpp:gcs_group_handle_join_msg():811: Will never receive state. Need to abort. 2023-06-08T02:25:49.289465Z 0 [Note] WSREP: gcomm: terminating thread 2023-06-08T02:25:49.289494Z 0 [Note] WSREP: gcomm: joining thread 2023-06-08T02:25:49.289662Z 0 [Note] WSREP: gcomm: closing backend 2023-06-08T02:25:49.593055Z 0 [ERROR] WSREP: Process completed with error: wsrep_sst_xtrabackup-v2 --role 'joiner' --address '10.106.113.79' --datadir '/data/mysql/' --defaults-file '/etc/my.cnf' --defaults-group-suffix '' --parent '9996' --mysqld-version '5.7.41-44-57' '' : 2 (No such file or directory) 2023-06-08T02:25:49.593124Z 0 [ERROR] WSREP: Failed to read uuid:seqno from joiner script. 2023-06-08T02:25:49.593137Z 0 [ERROR] WSREP: SST script aborted with error 2 (No such file or directory) 2023-06-08T02:25:49.593186Z 0 [ERROR] WSREP: SST failed: 2 (No such file or directory) 2023-06-08T02:25:49.593234Z 0 [ERROR] Aborting 2023-06-08T02:25:49.593269Z 0 [Note] WSREP: Signalling cancellation of the SST request. 2023-06-08T02:25:49.593306Z 0 [Note] WSREP: SST request was cancelled 2023-06-08T02:25:49.593337Z 0 [Note] Giving 2 client threads a chance to die gracefully 2023-06-08T02:25:49.593357Z 1 [Note] WSREP: Closing send monitor... 2023-06-08T02:25:49.593370Z 1 [Note] WSREP: Closed send monitor. 2023-06-08T02:25:50.292465Z 0 [Note] WSREP: Current view of cluster as seen by this node

2023-06-09 上传