zoukankan      html  css  js  c++  java
  • 基于对话框的应用程序,点击button打开一个网页

    核心:使用Webbrowser控件

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

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

    在OnInitDialog()函数中加:

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

    m_Web.Navigate("http://202.200.144.63/(gac14yvwcsjrzj45cx1fq4ed)/default2.aspx?", NULL, NULL, NULL, NULL);
    让对话框有最大化和最小化,选中对话框属性选中:


    让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点击事件中调用这个对话框页面
    #include "Web.h"
    void StudentMenu::OnWeb() 
    {
    	// TODO: Add your control notification handler code here
    	Web dlg;
    	dlg.DoModal();
    }
    
    结果展示:

  • 相关阅读:
    Go语言基础之结构体练习
    多对多表操作
    一对多表操作
    单表操作
    flask中orm增删改查操作
    基于scoped_session实现线程安全
    SQLAlchemy
    wtforms 表单使用
    记一次攻防演练复盘之计中计
    【漏洞复现】CVE-2021-22205 GitLab 未授权RCE
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6943618.html
Copyright © 2011-2022 走看看