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();
    }
    
    结果展示:

  • 相关阅读:
    Jessica's Reading Problem POJ
    FatMouse and Cheese HDU
    How many ways HDU
    Humble Numbers HDU
    Doing Homework again
    Stacks of Flapjacks UVA
    Party Games UVA
    24. 两两交换链表中的节点
    面试题 03.04. 化栈为队
    999. 可以被一步捕获的棋子数
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6943618.html
Copyright © 2011-2022 走看看