基于对话框的应用程序,点击button打开一个网页

时间:2023-03-09 02:55:17
基于对话框的应用程序,点击button打开一个网页

核心:使用Webbrowser控件

加入一个新的对话框,右键 Insert ActiveX control,选中

基于对话框的应用程序,点击button打开一个网页

双击对话框生成响应的类(Web)。并为webbrowser绑定成员变量(m_Web)

在OnInitDialog()函数中加:

//填入自己想訪问的网址

m_Web.Navigate("http://202.200.144.63/(gac14yvwcsjrzj45cx1fq4ed)/default2.aspx?", NULL, NULL, NULL, NULL);

让对话框有最大化和最小化,选中对话框属性选中:

基于对话框的应用程序,点击button打开一个网页

让webbrowser随着对话框的最大化最小化发生响应的变化:

在对话框类中加OnPaint() 和OnSize()函数:

void Web::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy); // TODO: Add your message handler code here
Invalidate();//仅通知。要重绘
} void Web::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect;//重绘
GetClientRect(rect);
m_Web.MoveWindow(rect); // Do not call CDialog::OnPaint() for painting messages
}<pre name="code" class="cpp">

注意:这里假设仅仅有OnSize()函数(例如以下)。会发生以下错误

void Web::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
m_Web.MoveWindow(0,0,cx,cy); }

基于对话框的应用程序,点击button打开一个网页

最后一步:加入button点击事件中调用这个对话框页面

#include "Web.h"
void StudentMenu::OnWeb()
{
// TODO: Add your control notification handler code here
Web dlg;
dlg.DoModal();
}

结果展示:

基于对话框的应用程序,点击button打开一个网页

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">