自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 Windows Socket五种I/O模型——select模型

<br />Select(选择)模型是Winsock中最常见的I/O模型。之所以称其为“Select模型”,是由于它的“中心思想”便是利用select函数,实现对I/O的管理。最初设计该模型时,主要面向的是某些使用UNIX操作系统的计算机,它们采用的是Berkeley套接字方案。Select模型已集成到Winsock 1.1中,它使那些想避免在套接字调用过程中被无辜“锁定”的应用程序,采取一种有序的方式,同时进行对多个套接字的管理。由于Winsock 1.1向后兼容于Berkeley套接字实施方案,所以假如

2011-02-10 16:04:00 843

原创 进度条前景色和背景色改变

<br />CProgressCtrl m_progress;<br />m_progress.SendMessage(PBM_SETBKCOLOR,   0,  RGB(255,   0,   0));//背景色 <br />m_progress.SendMessage(PBM_SETBARCOLOR,  0,  RGB(0,   255,   0));//前景色 <br />m_progress.SetPos(50);

2011-01-20 16:57:00 1510 1

转载 CComboBoxEx控件使用示例

<br />1)初始化部分<br />在资源中添加CComboBoxEx控件,在对话框类中声明变量:<br /> CComboBoxEx m_cmbex;<br /> HICON m_icon[3];<br /> CImageList m_image; <br />在对话框的OnInitDialog()函数中添加:<br />m_icon[0]=AfxGetApp()->LoadIcon(IDI_A);<br /> m_icon[1]=AfxGetApp()->LoadIcon(IDI_B);<br /> 

2011-01-15 08:54:00 1064

转载 Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

<br />Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个/0结尾,常用于txt文本文件<br />Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的/0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicode<br />UTF8是Unicode一种压缩形式,英文A在unicode中表示为0x0041,老外

2010-11-30 10:32:00 1447

原创 自绘对话框标题栏

<br />void CMainFrame::DrawTitleBar(CDC *pDC) { if (!m_hWnd) return; CRect rtWnd, rtTitle, rtButtons; GetWindowRect(&rtWnd); //整个Window的相对于屏幕的矩形 //取得整个Title bar的矩形 rtTitle.left=GetSystemMetrics(SM_CXFRAME); rtTitle.top=Get

2010-11-25 11:28:00 1841 1

转载 自绘CListCtrl类

<br />自绘CListCtrl类,重载虚函数DrawItem<br />void CNewListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)<br />{<br /> // TODO: Add your code to draw the specified item<br /> ASSERT(lpDrawItemStruct->CtlType == ODT_LISTVIEW);<br /> CDC dc; <br /> dc.Attach(lpDr

2010-11-19 14:20:00 804

转载 使用CBitmapButton类创建位图按钮

CBitmapButton是一个MFC内置的按钮类,提供图片按钮的功能,并且支持在不同状态下显示不同图片。其使用方法比较简单,比CButton更美观,比其它的第三方Button类更简洁,因此,制作位图按钮时经常需要用到它。方法一:1、在资源编辑的时候选中按钮的 Owner draw 属性,不需要选择 Bitmap 属性.       按钮右键-->Styles-->Owner draw 2、在程序中定义一个CBitmapButton成员变量。        注意:不能使用ClassWizard为按钮映射一个

2010-11-13 11:29:00 859

原创 GetWindowRect ScreenToClient GetClientRect

<br />GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。  <br />GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。  <br />用GetClientRect返回的RECT结构上左为零, 右下分别对应客户区的宽度和高度;<br /><br />Scree

2010-11-11 10:36:00 607

转载 CTreeCtrl用法 CTreeCtrl使用详解

<br />树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点。MFC中使用CTreeCtrl类来封装树形控件的各种操作。通过调用<br />BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格: <br />TVS_HASLINES 在父/子结点之间绘制连线 <br />TV

2010-11-10 14:06:00 735

转载 在MFC中获取窗口句柄

<br />要找到某个CWnd对象的HWND,用GetSafeHwnd()。<br /> <br />在窗口类中,有句柄的成员变量,可以直接访问:   m_hWnd   <br />  在窗口类外,可以用AfxGetMainWnd()->m_hWnd获得。<br /> <br /> 在MainFrame里直接用this;   <br />  其它地方用   <br />  CMainFrame*   pMainFrame   =   (CMainFrame*)theApp.m_pMainWnd;   <br

2010-11-09 17:02:00 705

原创 vc中怎么使用SendMessage自定义消息函数

<br />SendMessage的基本结构如下:<br />SendMessage(<br />    HWND hWnd,  //消息传递的目标窗口或线程的句柄。<br />    UINT Msg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,)<br />    WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的,<br />  //在vc编译器中右键有个“转到WPARAM的定义”的选项可以查看。 <br />    LPARAM lPa

2010-11-09 10:22:00 1072

转载 部分MFC和API函数(3)

<br />CGdiObject类:GDI绘图工具的基类 <br />CGdiObject::DeleteObject 释放与连接的GDI对象相关的所有系统存储,从内存中将其删除 <br />BOOL DeleteObject();<br />返回值:若GDI对象被成功删除,返回非0;否则返回0<br /> <br />CGdiObject::GetSafeHandle 获取连接的Windows GDI对象的句柄 <br />HGDIOBJ GetSafeHandle()const;<br />返回值:所连

2010-11-08 09:37:00 685

转载 部分MFC和API函数(2)

<br />CDialog类:所有对话框(模态或非模态)的基类<br />CDialog::DoModal 激活模态对话框,完成后返回对话框结果 <br />virtual int DoModal();<br />返回值:若不可创建对话框,返回-1;若错误返回IOABORT;若用户用“确定”按钮退出对话框,返回IDOK,否则返回IDCANCEL或0<br /> <br /> <br />CDocument类:提供用户定义的文档类的基本功能<br />CDocument::CanCloseFrame 在关闭框

2010-11-08 09:34:00 664

转载 部分MFC和API函数(1)

<br />CArchive类:用于二进制保存档案<br />CArchive::CArchive 建立一个CArchive对象 <br />CArchive(CFile* pFile,UINT nMode,int nBufSize=4096,void* lpBuf=NULL);<br />参数:pFile 指向CFile对象的指针,这个CFile对象是数据的最终源或目的;<br />nMode是标志,取值为CArchive::load时,从文档中加载数据(要求CFile读许可),取值为CArchive::

2010-11-08 09:32:00 738

转载 VC中Radio控件的用法,ComboBox控件用法详解

<br />先为对话框加上2个radio button,分别是Radio1和Radio2。<br />问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?<br />关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,<br />第一种:<br />((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上<br />((CButton *)GetDlgItem(IDC_RADIO1))->SetCh

2010-11-04 11:00:00 1852

转载 转:孙鑫老师大作 - 只运行一个实例

<br />我们在使用《金山词霸》时发现,在《金山词霸》已经运行了的情况下,再次点击《金山词霸》的图标,那么它不会再运行另外一个《金山词霸》,而是将已有的《金山词霸》给激活,始终只能运行一个《金山词霸》的实例。<br />在我们的程序当中如果要实现类似《金山词霸》的功能,就要解决两个问题,首先是要判断该程序已有一个实例在运行,其次是要将已运行的应用程序实例激活,同时退出第二个应用程序实例。<br />对于第一个问题,我们可以通过设置命名互斥对象或命名信标对象,在程序启动的时候检测互斥对象或信标对象,如互斥对

2010-11-03 14:00:00 749

转载 模拟HTTP请求, POST方法

#include #include #include #include "Wininet.h"#include #pragma comment(lib,"Wininet.lib")#pragma comment(lib,"nafxcwd.lib")#pragma comment(lib, "ws2_32.lib")//模拟浏览器发送HTTP请求函数CString HttpRequest(TCHAR * lpHostName,short sPort,TCHAR * lpUrl,TCHAR * lpMethod

2010-11-01 14:06:00 5346 1

原创 使用RichEdit控件技巧

<br />1. 在InitInstance()中加入初始化RichEdit相关的代码<br />AfxInitRichEdit();<br />m_hRichEdit = LoadLibrary("RICHED20.DLL");<br />(其中HMODULE m_hRichEdit;在对应的头文件中定义)<br />2.设置RichEdit中文字的显示样式<br /> CHARFORMAT cf;<br /> ZeroMemory(&cf, sizeof(CHARFORMAT));<br /> cf.c

2010-11-01 11:30:00 1084

转载 MFC设置字体及颜色

<br />设置字体<br />函数原型:<br />     BOOL CreateFont( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndF

2010-11-01 11:25:00 20044

转载 Dreamweaver网页制作超级技巧36则

1. 用Dreamweaver 4.0轻松设计会自动弹性调整的网页   首先需要保证的是你的页面内容采用了表格的格式,然后打开你要编辑的页面,按“Ctrl+F6”或者菜单“View→TableView→Layout?View”转换到布局视图。这时可以看到单元格的列宽,在列宽数字的旁边还有一个小小的下拉式箭头,点击你要设定弹性显示的列上方的小箭头,接着选择“将列设为弹性显示”(Make Column Autostretch)。该列方框上方就会出现一条波浪形的线,而不是刚才表示列宽的数字。完成后你的页面就变成了

2010-10-30 17:31:00 2337

原创 工具栏上创建一个组合框或一个按钮

<br />在一个界面友好的程序中,工具条(Toolbar)是不可缺少的工具,它方便了用户的操作,为熟练操作员节省了许多宝贵时间,因此,在我们常用的软件中充满了大量的工具条,在一些高级的编程语言中亦提供了对工具条的支持。如Visual   C++   4.0的应用程序向导(AppWizard)中基于单文档和多文档的程序就已经为用户创建了一个工具条,并提供了对工具条的可视化编辑,如图一所示。但是它提供的工具条仅仅是按纽(Button)的简单集合,不支持工具条中经常用到的组合框(ComboBox)控件,而在我们

2010-10-30 11:02:00 2157 2

原创 ASCII码对照表

<br />a~z = 97~122     A~Z = 65~90     0~9 = 48~57   <br /> <br />键盘常用ASCII码<br /> <br />ESC键 VK_ESCAPE (27)<br />回车键: VK_RETURN (13)<br />TAB键: VK_TAB (9)<br />Caps Lock键: VK_CAPITAL (20)<br />Shift键: VK_SHIFT ($10)<br />Ctrl键: VK_CONTROL (17)<br />Alt键:

2010-10-30 10:41:00 536

转载 MFC拆分字符串

<br />一._tcstok函数<br />在MFC中,一个CString str=“ab ac dd PM”,怎么把他分开成ab和ac和dd和PM这四个字符串,类似string的split的功能? <br />_tcstok声明头文件:<TCHAR.H><br />char* _tcstok( char* strToken, const char* strDelimit );<br />该函数是可以从一个CString串中,根据提供的分隔符,截取并返回一个一个的Token;<br />参数:<br />

2010-10-28 15:50:00 1485

转载 虚拟机操作系统的安装和使用

<br />虚拟机软件介绍:VMWare & Virtual PC<br /><br /><br />什么是虚拟机软件<br /><br />虚拟机软件可以在一台电脑上模拟出来若干台PC,每台PC可以运行单独的操作系统而互不干扰,可以实现一台电脑“同时”运行几个操作系统,还可以将这几个操作系统连成一个网络。 <br />在一台电脑上安装了Win2000 server,再在Win2000 server上安装虚拟机软件VMWare,利用VMWare模拟出来3台PC,在这3台PC上分别运行RedHat7.2、Wi

2010-10-26 17:55:00 3850

转载 map类的应用

STL是标准C++系统的一组模板类,使用STL模板类最大的好处就是在各种C++编译器上都通用。在STL模板类中,用于线性数据存储管理的类主要有vector, list, map 等等。本文主要针对map对象,结合自己学习该对象的过程,讲解一下具体用法。本人初学,水平有限,讲解差错之处,请大家多多批评指正。map对象所实现的功能跟MFC得CMap相似,但是根据一些文章的介绍和论述,MFC CMap在个方面都与STL map有一定的差距,例如不是C++标准,不支持赋值构造,对象化概念不清晰等等。使用

2010-10-21 15:34:00 474

转载 用CSplitterWnd类创建分割窗口

用CSplitterWnd类创建分割窗口在msdn里有一个例子viewex,演示了创建并使用分割窗口的方法。不过那个程序稍微有点大。让我们依样画葫芦来搞个简单的例子。在msdn里有一个例子viewex,演示了创建并使用分割窗口的方法。不过那个程序稍微有点大。让我们依样画葫芦来搞个简单的例子。  用CSplitterWnd类可以做一个可以分割的窗口。不过要用这个类的话,得劳动文档类,文档模板类和视图类这三个复杂类的大驾。   由于CView类的OnDraw函数是个纯虚函数,所以我们必须从CView类派生一个自

2010-10-18 17:38:00 1529

转载 服务器应用:IIS一步步建FTP服务器

<br />1 服务器应用:IIS一步步建FTP服务器<br />作为专门建立FTP站点的工具来说SERV-U无疑是最常用的,不过在很多时候,特别是公司服务器是不希望安装这样或那样的第三方软件的,毕竟随着安装软件数目的增多,漏洞将会越来越多,安全也会越来越没有保障。<br />如何解决这个问题呢?实际上细心的人都会发现在windows系统IIS组件中实际上包含了建立FTP站点的功能。只有在IIS中建立FTP才能更好的和系统紧密结合。今天我就为各位IT168的读者介绍如何在windows2003+iis6环境

2010-10-13 16:20:00 647

转载 VC++实现FTP编程

<br />一.概述<br />TCP/IP协议是一个四层协议,它由应用层、传输层、网络层和链路层构成。TCP/IP协议栈的每一层都由许多协议构成,从而构成了一个协议簇。<br />应用层主要包括的协议有Telnet、FTP、HTTP、SMTP/POP3和DNS等。<br />传输层主要包括的协议有TCP和UDP。<br />网络层主要包括IP和IP的附属协议。<br />数据链路层主要包括的协议有ARP(地址解析协议)、RARP协议、Ethernet协议等。<br /> <br /> <br />FTP(

2010-10-13 14:50:00 1078

转载 Visual C++界面常用控件 之 进度条CProgress控件

1、进度条的主要功能   进度条控制(Progress Control)主要用来进行数据读写、文件拷贝和磁盘格式等操作时的工作进度提示情况,如安装程序等,伴随工作进度的进展,进度条的矩形区域从左到右利用当前活动窗口标题条的颜色来不断填充。  进度条控制在MFC类库中的封装类为CProgressCtrl,通常仅作为输出类控制,所以其操作主要是设置进度条的范围和当前位置,并不断地更新当前位置。进度条的范围用来表示整个操作过程的时间长度,当前位置表示完成情况的当前时刻。SetRange()函数用来

2010-10-12 10:59:00 3776

转载 VC中类型的相互转化

<br />一、VC中字符串类型的互相转换<br />      总是觉得VC中的类型纷繁复杂,扑朔迷离。因为有了Unicode,因为C、C++类型相互转化如此不同。保存char的不止char一种,还可以用 short,unsigned short,int 等来保存。单单就字符串就有N多种类型,其它类型也不止一个。再加上C++中本来就没有正式的string类型,所以,平常就会碰到很多种相同意思,但不同类型,或相同类型,不同写法的Type.<br />      如何在他们之间相互转化,也是在学习VC中避免不

2010-09-15 09:18:00 649

转载 c++知识点总结(2)

<br />1.static有什么用途?(请至少说明两种)<br />    1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。<br />    2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。<br />    3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用<br />2.引用与指针有什么区别?<br />    1) 引用

2010-09-13 14:18:00 2166

转载 C++知识点总结(1)

<br />经验:<br />1、一个函数只实现相应的一个单功能<br />2、用extern声明外部变量<br />   (1)在同一个文件内,若定义在文件中间,要在文件前面使用,可以在前面用extern声明<br />   (2)在相关联的不同的文件内,若文件A定义了变量a,文件B要使用变量a,若都定义变量a会出现重复定义错误,在文件B中只要加上extern a(不用加类型如int,但建议加上,否则可能出现不可预期的错误,实际操作中的经验),就可以使用(如果不想要某变量被另一个文件外部引用,可以加上st

2010-09-13 14:15:00 2363

转载 VC中结构体内存分配问题透析

<br /> 本文首先提出了处理VC++中结构体时应注意的一个问题,然后详细分析了存在该问题的原因,最后做实战训练。<br />      注意:<br />     (1)在VC下,下面各类型占字节数为:char->unsigned int ->1; short int ->2; int ->unsigned int ->4;  long ->float->4;   double ->long double ->8<br />     (2)在TC下,下面各类型占字节数为:char->unsigned i

2010-09-09 17:28:00 591

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除