zoukankan      html  css  js  c++  java
  • vc++编程之在程序中加入网址链接

           在vc++对话框编程中,我们处于某种需要(介绍自己的软件或者自己的博客)可以在对话框上增加一个网址链接,用户只要一点击,就进入了相应的网页,我在此演示下如何完成。

     

      1 打开编译器,我们新建一个基于对话框的工程(其他形式的也可以),我们以对话框为例,在资源视图中去除原有的静态文本控件,然后为对话框添加一个静态文本框(注:其他控件也可以实现,例如编辑框控件,按钮控件,都可以)。

      2 修改ID为IDC_MyBolg_STATIC,标题改为:“我的博客“,最重要的一点就是一定要把,该控件的notify属性改为true(否则无法对其添加响应函数),然后右键或者双击为该控件添加消息响应函数,在其响应函数中添加如下代码即可。


    其中我们用到了一个API函数,ShellExecute(),我们看下他的解释。

    c++的API定义如下:

    ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。

    HINSTANCE ShellExecute(

        HWND hwnd,

        LPCTSTR lpOperation,

        LPCTSTR lpFile,

        LPCTSTR lpParameters,

        LPCTSTR lpDirectory,

        INT nShowCmd

    );

     


             现在我要解释下此函数的作用:

    ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory:PChar; ShowCmd: Integer): HINST; stdcall;

      ●hWnd:用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Windows消息窗口的父窗口。例如,可以将其设置为应用程序主窗口

    句柄,即Application.Handle,也可以将其设置为桌面窗口句柄(用GetDesktopWindow函数获得)。

      ●Operation:用于指定要进行的操作。其中“open”操作表示执行由FileName参数指定的程序,或打开由FileName参数指定的文件或文件

    夹;“print”操作表示打印由FileName参数指定的文件;“explore”操作表示浏览由FileName参数指定的文件夹。当参数设为nil时,表示执

    行默认操作“open”。

      ●FileName:用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名。

      ●Parameters:若FileName参数是一个可执行程序,则此参数指定命令行参数,否则此参数应为nil或PChar(0)。

      ●Directory:用于指定默认目录。

      ●ShowCmd:若FileName参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。

    若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。

     

    现在说明一下此函数的打开网页的用法:如果将FileName参数设置为“http:”协议格式,那么该函数将打开默认浏览器并链接到指定的URL地址。若用户机器中安装了多个浏览器,则该函数将根据Windows 9x/NT注册表中http协议处理程序(Protocols Handler)的设置确定启动哪个浏览器(即电脑的默认浏览器)

    例如:ShellExecute(handle,'open', http:// ; www.zzu.edu.cn', nil, nil, SW_SHOWNORMAL);

     

    那么现在有一个疑问,就是我们没有包含该函数的头文件,却可以使用它,这是因为我们所写的是MFC程序,在windows.h中已经嵌套的包含了该函数,所以我们可以正常使用。


    此时我们运行程序。点击静态文本框,则弹出我们设置好的网页。


     

  • 相关阅读:
    CentOS7系统基本操作
    python3安装
    nodejs基础【持续更新中】
    基于Jenkins实现持续集成【持续更新中】
    git之merge和rebase的区别
    服务器为什么这么慢?耗尽了CPU、RAM和磁盘I/O资源
    编程的四个境界
    Gunicorn独角兽
    Python 中 logging 日志模块在多进程环境下的使用
    vue+webpack怎么分环境进行打包
  • 原文地址:https://www.cnblogs.com/zhangruilin/p/5769831.html
Copyright © 2011-2022 走看看