Visual C++ 网络编程经典案例详解 代码走马观花
网络编程 或者 网络程序开发会有借鉴意义
试一试里面的代码 运行一下 看一下结果 提一下里面的内容
时间有限 无法照抄全部内容
eyetired
这个作者很懒,什么都没留下…
展开
-
Visual C++网络编程经典案例详解 第9章 实用播放器 数据读取与播放控制 播放控制 实现播放功能
播放按钮播放音乐获取当前列表选中的mp3文件路径根据路径调用mci函数进行播放void CMyDlg::OnPlay() //播放按钮消息响应函数{ MCI_OPEN_PARMS open={0};//定义并初始化结构体 char str1[100]; //定义字符数组 POSITION pos=m_list.GetFirstSelectedItemPosition(); //获取用于选择的位置 if(pos==NULL) //如果选择为空 { MessageBox("当前没有选择!"原创 2020-05-28 08:57:45 · 456 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 CHtmlView类 刷新功能 上一步函数
用户浏览网页时可以使用类中提供的刷新功能获取更新后的当前网页内容也可以在工程中查看已经浏览过的网页void CHTMLView::OnRefrush() //刷新网页内容{ this->Refresh();}vodi CHTML1View::OnPre() //查看上一步浏览的网页{ this->GoBack();}void CHTML1View::OnNext(...原创 2019-01-09 21:14:53 · 238 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 CHtmlView类 Navigate2()原型
CHtmlView类在mfc中是专门用来显示网页的视图类通常情况下 用户只需将类作为视图类的父类便可以调用其类中的函数方法进行网页的显示以及刷新等功能向该类中部分函数的作用以及使用方法实现连接打开网页,调用该类的函数Navigate2()便可以实现这个功能void Navigate2(LPCTSTR lpszURL,DWORD dwFlags = 0, LPCTSTRlpszTarg...原创 2019-01-08 16:58:57 · 783 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 CHtmlView类 CHtmlView
CHtmlView类在mfc中专门用来显示网页的视图类通常情况下用户只需将类作为视图类的父类便可以调用其类中的函数方法进行网页的显示以及刷新等功能继承的好处就是可以用一些方法方法不用重新写一次减少工作量不过父类要设计好父类弄一个通用的 能适用大多数情况的如果父类只能适用某种情况 不好用工作量也不会减少...原创 2019-01-07 10:16:52 · 230 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 控件对象属性方法 浏览器其他功能
网页浏览器的各个功能与CWebBrowser2类的各个函数方法的作用相同实现浏览器中其他功能void CMainFrame::OnNext()//前进按钮消息响应函数{ web.GoForward();//调用CWebBrowser2类的成员函数}void CMainFrame::OnPre()//后退按钮消息响应函数{ web.GoBack();//调用CWebBrowser2类...原创 2019-01-06 21:59:53 · 514 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 控件对象属性方法 OnRefrush()函数
如果用户需要刷新画面则在工具栏 刷新按钮的 响应函数中使用CWebBrowser2类对象 web调用Refresh()函数对页面进行刷新void CMainFrame::OnRefrush() //刷新按钮消息响应函数{ web.Refresh(); //调用CWebBrowser2类刷新方法刷新页面}...原创 2019-01-05 09:35:12 · 365 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 控件对象属性方法 CWebBrowser2类常用方法
void CWebBrowser2::GoHome(); //返回主页void CWebBrowser2::GoForward(); //页面前进void CWebBrowser2::GoBack(); //页面返回void CWebBrowser2::Refresh(); //页面刷新void CWebBrowser2::Stop(); //页面停止...原创 2019-01-04 08:18:16 · 280 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 控件对象属性方法 OnButton()函数
在程序中实现浏览网页等功能是通过CWebBrowser2类实现连接按钮的响应函数中使用OnButton()函数浏览网页void CMainFrame::OnButton() //连接按钮响应函数{ CString str; //定义字符串变量 GetDlgItem(IDC_OCMBO1)->GetWindowText(str); //获得地址栏输入的字符串 web.Navigat...原创 2019-01-03 08:21:05 · 278 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 添加控件 创建CWebBrowser2对象
用户插入web组件成功那么必须创建组件类对象再利用对象调用相应的方法实现网页浏览功能1 头文件MainFrm.h 中包含Web组件类的头文件webbrowser2.h#include"webbrowser2.h" //包含组件类的头文件class CMainFrame: public CFrameWnd { ...//类定义完成}//类定义完成2 在CMainFrame类的定义...原创 2019-01-02 11:07:05 · 530 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 添加控件 添加COM组件
1 选择工程 增加到工程命令 添加COM对象2 选择Components and Controls Gallery命令以后会弹出插入组件对话框3 双击第一个文件夹 找到Microsoft Web Browser组件并单击Insert按钮弹出一个询问对话框 直接单击 确定 按钮用户可以用Web组件插入到工程中4 将Web组件添加到工程中 需要用户为组件生成一个相应的类在弹出设置好的对话...原创 2019-01-01 12:13:46 · 365 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 添加控件
一般情况下用户在vc中可以利用菜单向工程添加控件如果控件没有在程序所运行的系统中进行注册那么用户需要用相关工具代码或者Windows命令进行注册控件控件添加成功还需要为该控件生成相应的类...原创 2018-12-31 09:51:28 · 256 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件 建立MFC工程
在VC中 创建浏览器的步骤和FTP工程大致相同不同的是1 工程设置为单文档2 程序的工具栏样式设置为 类似IE完成工程设置后 编译器回到vc界面并添加 MicroSoftWeb 浏览器 组件...原创 2018-12-29 13:20:26 · 272 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 使用Microsoft Web浏览器控件
在MFC中用户可以使用组件对象开发浏览器COM 是组件对象使用COM进行编程不但可以缩短开发周期还可以进一步理解面向对象开发的意义原创 2018-12-28 07:04:00 · 313 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 如何实现收藏夹功能 添加消息响应函数
用户将网址添加到收藏夹以后便可以直接单击菜单菜单中的网址进行浏览用户单击菜单的消息响应函数重要首先在CMainFrame类的头文件MainFrm.h 中定义一个弹出菜单的消息响应函数代码如下afx_msg void OnMenuClick(int nID); //定义响应函数然后在消息映射里添加菜单命令消息宏ON_COMMAND_RANGE代码如下BEGIN_MESSAGE_MA...原创 2018-12-27 07:16:38 · 356 阅读 · 1 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 如何实现收藏夹功能 添加消息响应函数
按钮T的消息响应函数定义如下int i=0; //定义全局变量ivoid CMainFrame::OnAddnetaddres(){ i=::GetMenuItemCount(::GetSubMenu((HMENU)::GetDlgItem(this->m_hWnd,IDR_MAINFRAME),3); //获取当前菜单总项数 CString addstr; //定义字符串 t...原创 2018-12-26 17:38:06 · 217 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 如何实现收藏夹功能 添加菜单和按钮
首先,在资源管理器的菜单栏中添加一个菜单项名称是网址收藏夹属性设置为弹出菜单其他为默认然后在工具栏中添加一个按钮名称设置为TID为ID_ADDNETADDRES意思是添加网址到收藏夹工具栏中所添加的按钮可以将用户感兴趣的网址添加到网址收藏夹菜单下,当用户需要浏览这些网站时,打开网址收藏夹菜单选择相应网站即可浏览...原创 2018-12-25 10:46:55 · 309 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 如何实现收藏夹功能
当用户上网时,如果感觉某个网页的内容很吸引人或者具有参考价值当用户又不愿意记下那些冗长难记的网址这时用户就可以使用浏览器上的收藏夹对该网址进行标记方便下次继续浏览网页...原创 2018-12-24 06:55:12 · 239 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应上一步下一步刷新浏览记录函数
程序将用户单击处的网址设置为组合框的内容后,单击连接按钮,调用CMainFrame::OnMybutton()函数现在程序已经实现了浏览网页和保存查看浏览记录等功能关于上一步,下一步和刷新等功能的实现非常简单消息响应函数的创建和连接按钮的响应函数创建方法一样功能代码如下void CMainFrame::OnNext() //下一步按钮消息响应函数{ m_view.GoForwa...原创 2018-12-23 07:00:11 · 200 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 OnSelchangeCom()函数
如果用户从下拉列表框中选择浏览网址,则程序还需要响应组合框的CBN_SELCHANGE消息该响应函数定义如下void CMainFrame::OnSelchangeCom(){ CString str;//定义字符串变量 int i=GetDlgItem(IDC_COMBO1)->GetCurSel();//获得用户单击下拉列表框的索引 GetDlgItem(IDC_COMBO...原创 2018-12-22 06:25:31 · 191 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 OnCreate()函数
程序在启动时还应该从recode.URL文件中读取浏览过的网址,并添加到地址栏的下拉列表框中供用户查看该功能在函数CMainFrame::OnCreate()中实现,因为该函数是程序启动后的第一个调用的函数代码如下int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ ...//省略部分代码 CFile file("re...原创 2018-12-21 20:41:59 · 221 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 OnButton()函数添加代码
当用户每次输入网页地址后,程序需要将该地址存入URL文件中,以便用户查看浏览记录和向下拉列表框中添加已浏览网页的网络地址,所以需要在连接按钮的响应函数中添加代码。代码如下:void CMainFrame::OnButton(){ CString str; //定义字符串变量 GetDlgItem(IDC_COMBO1)->GetWindowText(str); //获得地址...原创 2018-12-20 08:11:09 · 215 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 设置框架类CMainFrame的成员变量
参数lpszURl 表示网页的网络地址其他参数均默认为NULL在视图类中自定义函数成功之后,将视图类对象设置为框架类CMainFrame的成员变量方法如下#include<HTML1View.h>class CMainFrame: public CFrameWnd //包含视图类头文件{ protected: CMainFrame(); DECLARE_DYNC...原创 2018-12-19 07:40:51 · 208 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 Navigate2()函数
函数Navigate2()是CHtmlView类成员函数用于打开指定网络地址的网页,其原型如下void Navigate2(LPCTSTR lpszURL,DWORD dwFlags = 0, LPCTSTRlpszTargetFrameName = NULL, LPCTSTR lpszHeaders = NULL, LPVOIDlpvPostData = NULL, DWORD dwP...原创 2018-12-18 08:01:10 · 447 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 getpage()函数
m_view.getpage(str)表示调用视图类中的自定义函数打开指定网页用户要使用该函数,必须在视图类中进行定义首先在CHTML1View类的头文件"HTML1View.h"中定义函数getpage() 参数类型为CString类型代码如下class CHTML1View: public CHtml1View //视图类定义{ ...//省略部分代码 protected: ...原创 2018-12-17 08:05:15 · 227 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 OnButton()
用户添加了工具栏按钮和地址栏等控件,但是并没有为其添加消息响应函数。首先添加连接按钮的消息响应函数,在VC主界面中按下Ctrl+W快捷键弹出MFC向导对话框用户在Message Maps选项卡中找到连接按钮的ID,然后为其添加鼠标单击消息响应函数OnButton(),然后单击确定按钮完成函数添加其他工具栏按钮添加响应函数的方法与此相同函数代码如下void CMainFrame...原创 2018-12-16 08:56:29 · 278 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 工具栏编程 添加工具栏按钮
制作网页浏览器时用户还需要添加一些功能。例如用户刷新上一步下一步和浏览记录等。这些操作在VC中实现非常简单。首先在资源管理器中,展开Toolbar项添加四个工具栏按钮按钮的ID分别为ID_VIEWRECORD、ID_PRE、ID_NEXT、ID_REFRUSH分别表示浏览记录上一步下一步和刷新然后编译执行该程序用户会发现在运行的程序中,刚添加的工具栏按钮是灰色的,这是因...原创 2018-12-15 16:57:16 · 185 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 工具栏编程 OnCreate()函数
在这里用户需要用到MFC中CReBar类该类相当于一个容器可以将多个控件组合在一起代码如下int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ ...//省略部分代码 if(dlg.m_hWnd==NULL) //判断CTooldlg类对象是否已经存在 { dlg.Create(ID_DILOG,this); //创...原创 2018-12-14 07:17:48 · 304 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 工具栏编程 添加对话框到工具栏
将ID为ID_DIALOG 的对话框添加到工具栏中,用户需要将类对象设置为CMainFrame类的成员变量首先,在CMainFrame类的头文件"MainFrm.h"开头处添加CTooldlg类的头文件“Tooldlg.h”... //省略部分代码#include"Tooldlg.h" //包含CTooldlg类的头文件。... //省略代码然后在CMainFrame类中声明C...原创 2018-12-13 07:52:51 · 199 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 工具栏编程 界面设计
在工程中添加一个对话框作为地址栏等控件的面板ID为 ID_DILOG将组合框与连接按钮放置到对话框面板上界面中的各个控件以及属性如表所示控件ID及其属性控件ID IDC_STATIC IDC_COMBO1 IDC_BUTTON1属性 地址 地址输入框 连接用处 标示 用户输入地址 ...原创 2018-12-12 13:06:16 · 317 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 工具栏编程
在VC中制作与IE功能相似的网页浏览器可以使用MFC中的CHtmlView类也可以使用ActiveX控件类CWebBrowser2实现网页浏览器的开发对于网络浏览器而言工具栏是很重要的一部分在工程中使用工具栏可以方便用户的操作。用户通过工具栏上的地址栏输入网页地址然后进行连接浏览工程中的工具栏应当包含浏览记录等功能按钮地址栏和连接按钮则放置到另一对话框上...原创 2018-12-11 09:00:39 · 344 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 实体数据 类获取响应消息的响应码
结构体的用法很简单。例如,利用该类获取响应消息的响应码代码如下...message msg; //结构体对象CString str; //存放响应码msg.messagehead=&recvdata; //recvdata 为接收到的响应消息for(int i=9;i<=11;i++) //响应码位于数据头的第九位{str+=msg....原创 2018-12-10 23:40:11 · 209 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 实体数据 自定义一个简单的消息体结构
总之,服务器返回的响应消息类似于C++语言中的结构体消息头和消息体就是这个结构体里面的元素。用户在使用HTTP编程时,可以根据需要自定义一个结构体存储该消息数据。例如,自定义一个简单的消息结构体typedef struct{ char *messagehead; //数据头指针 float i; //实体数据的大小 char *messagebody; //实体数据...原创 2018-12-09 17:09:48 · 153 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 实体数据 服务器的消息响应格式
在服务器的响应消息中包括了消息头和消息体两部分。其中消息体中包含的实体数据。并且在消息头和实体数据之间使用一个空白行进行分隔。例如 客户端向服务器请求一个页面GET.html服务器的响应消息格式如下HTTP/1.1 200 OK//消息头。Date: Mon,21 Nov 2008 18:33:22 GMTServer:Microsoft=IIS/6.0Accept-Ranges:...原创 2018-12-08 00:54:20 · 175 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 实体标题字段信息 Content-Length标题
该标题必须与Content-type标题一起使用用于表示实体数据的大小(以字节为单位)其用法如下HTTP/1.1 200 OKDate: Mon,21 Nov 2008 18:33:22 GMTSever: Microsoft-IIS/6.0Accept-Ranges: bytesContent-Type: image/bmpContent-Length: 1024Connect...原创 2018-12-07 07:22:23 · 182 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 实体标题字段信息 Content-type标题
在服务器的响应消息中含有实体数据Content-type标题可以用于指示实体数据的个数以及所使用的字符集Content-type:text/html; charset=ASCII实体数据是文本格式的HTML文件所使用的字符集为XLM如果服务器返回一幅 XLM 或其他格式的图片到客户端则该字段形式应如下Content-type: image/jpgContent-type: im...原创 2018-12-06 16:28:03 · 149 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 响应状态信息 响应标题字段信息 Server标题
该响应标题表示服务器使用的软件名称和版本信息Server: Microsoft-IIS/6.0Server标题标识了服务器端IIS软件的版本号原创 2018-12-04 23:01:40 · 359 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 响应状态信息 响应标题字段信息 Location标题
在响应标题字段信息中包含了服务器返回除响应行以外的其他信息当服务器上的资源被保存到其他地址以后服务器会将新地址到客户端这时在响应标题字段中会添加Location标题该标题表示资源的实际位置并且使绝对的URL地址HTTP/1.1 302 OKDate: Mon,21 Nov 2008 18:33:22 GMTSever: Microsoft-IIS/6.0Accept-Ranges...原创 2018-12-02 07:46:27 · 145 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 响应状态信息 响应码一些具体含义
如果用户需要了解响码具体情况,请参考RFC2068其中给出了具体响应码的含义。例如,响应码的一些具体含义。响应码意义201服务器创建了一个新资源202服务器收到请求,但未处理完毕204请求成功,但返回空数据300返回多个请求结果,供客户端选择301请求资源已经移动到新的永久URL上302请求资源被移动到一个临时URL上30...原创 2018-12-01 12:00:54 · 171 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应 响应状态信息 常见的响应码类别
响应的状态信息包含在响应消息的第一行由HTTP版本代号、响应码和响应状态描述文本组成其中响应码表示客户端此次请求是否成功或其他原因出错。用户可以从响应码中知道具体出错的原因。常见的一些响应码类别。部分常见的响应码类别响应码 分类 意义200~299 成功 表示请求已经被服务器成功接收,理解300~399 重定向 表示客户...原创 2018-11-30 11:23:10 · 127 阅读 · 0 评论 -
Visual C++网络编程经典案例详解 第5章 网页浏览器 HTTP响应
HTTP响应是指服务器对客户端的请求作出的反应服务器的响应也是通过消息实现的。与请求消息一样,响应消息也是分消息头和消息体两部分组成但是两者之间需要使用一个空白行分开。在消息头中包含的响应的当前状态和服务器的一些信息,消息体中则包含的响应的实体数据。HTTP/1.1 200 OKDate: Mon,21 Nov 2008 18:33:22 GMTServer: Microsoft...原创 2018-11-29 11:55:18 · 182 阅读 · 0 评论