`
文章列表
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第18课 ActiveX编程(下面X均为ActiveX简称) 1.在VB中调用X控件,添加方法 project->Add components。另外可以用Object Browser来查看控件 2.在VC中创建X控件   1.新建一个X工程名为Clock,注意一个文件中可以包含多个控件。   2.保持缺省设置,完成。注意它生成的三个类,以及相关的接口。   3.运行它。选择TSTCON32.exe作为容器。   4.选择Insert Control,此时我们可以看到,它画 ...
第17课 进程间通信 有四种方法 1.剪贴板   a.创建个ClipBoard的对话框应用程序,加两EditBox和两个Button发送接收。   b.具体代码:     发送端代码: if(OpenClipboard()) {   CString str;   HANDLE hClip;   char *pBuf;   EmptyClipboard();   GetDlgItemText(IDC_EDIT_SEND,str);   hClip=GlobalAlloc(GMEM_MOVEABLE,str.GetLength()+1);   pBuf=(char*)GlobalLock(hCl ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第16课 1.事件对象:来实现线程的同步。与互斥对象一样均属于内核对象。             当人工重置有信号时,所有线程均得到信号,所以不能设为人工重置。代码就不贴了。             通过创建匿名的事件对象,也可以让一个程序只能运行一个实例。  2.关键代码段实现线程的同步:类似公用电话亭,只有当电话亭里面没人了,其它人才可以再进去打电话。用了4个函数,这种方法比较简单!但缺点是如果使用了多少关键代码码,容易赞成线程的死锁 3.线程死锁,用关键代码示例,用了 ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第15课多线程与网络编程 1.多线程介绍,略 2.一个简单的多线程程序 MSND中参数[in]和[out]的含义要注意 #include <windows.h> #include <iostream.h>DWORD WINAPI Fun1Proc(   LPVOID lpParameter   // thread data );DWORD WINAPI Fun2Proc(   LPVOID lpParameter   // thread data ); ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第14课 网络编程 1.TCP流式套接字的编程步骤 在使用之前须链接库函数:工程->设置->Link->输入ws2_32.lib,OK! 服务器端程序: 1、加载套接字库 2、创建套接字(socket)。 3、将套接字绑定到一个本地地址和端口上(bind)。 4、将套接字设为监听模式,准备接收客户请求(listen)。 5、等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。 6、用返回的套接字和客户端进行通信( ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第13课 文档与串行化 1.CArchive在菜单打开保存时的代码 CFile file("1.txt",CFile::modeCreate | CFile::modeWrite); CArchive ar(&file,CArchive::store); int i=4; char ch='a'; float f=1.3f; CString str("http://www.sunxin.org"); ar<&l ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第12课 文件操作 1.常量指针与指针常量的区分   char ch[5]="lisi";   const char *pStr=ch;//const在*之前,表明指针指向的内容为常量,即为常量指针   char * const pStr=ch;//const在*之后,表明指针的地址不能改变,即为指针常量   明白? 2.对文件读写的三种方法   1.C中     FILE *pFile=fopen("1.txt","w&quo ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第11课 1.创建4个菜单,为其添加消息响应,用成员变量保存绘画类型。添加LButtonDown和Up消息。 2.当窗口重绘时,如果想再显示原先画的数据,则需要保存数据。为此创建一个新类来记录绘画类型和两个点。 class CGraph  { public: CPoint m_ptOrigin;//起点 CPoint m_ptEnd;//终点 UINT m_nDrawType;//绘画类型 CGraph(); CGraph(UINT m_nDrawType,CPoi ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第10课 1.画图:    a.创建四个菜单,为其添加消息响应;    b.在View中添加m_DrawType,保存绘画类型;    c.增加成员变量,m_PtOrigin,当按下鼠标左键时,保存此点;    d.在On ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第9课 1.修改外观和图标可以在MainFrm中进行,而修改背景和光标只能在View中进行。为什么?因为view的显示挡在了MainFrame的前面。   a.在MainFrame中       PreCreateWindow()中,在 ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第8课  对话框 1.如何改变按纽的字体?在对话框的属性中改变字体的属性即可 2.逃跑按纽的实现   1.从CButton派生一个类,CWeixinBtn   2.将IDC_EDIT1关联成员变量m_btn1,类型为CWeixinBtn,注意要包含头文件。   3.在CWeixinBtn中加一个指针成员变量CWeixinBtn *pWeixinBtn,然后将其地址初始化。   4.在新类中增加鼠标移动的消息处理。 3.属性表单   1.插入属性页资源。Insert->ne ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第7课 1.如果在SDI中要调用对话框   a.先插入一个对话框资源;   b.然后在ClassWizards中为其创建一个类。其目的是比较方便为添加按纽和消息响应函数。   c.然后实例化它。在实例化时,必须将其头文件包含进去。 2.创建非模态对话框,注意它不能是局部变量。当 点击非模态对话框的OnOK按纽时,它并没有关闭,而是隐藏了。需要调用destroyWindow(). 3.一个对象只能一个按纽。为什么?因为在Wincore.cpp的628行有代码 ASSERT(pWn ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第6课 1.当对某菜单添加消息响应函数时,4个类的消息响应优先次序分别是:1.View;2.CDOC;3.CMainFrame.4.CWinAPP.为什么?请参阅《深入浅出》 2.消息分类:a;标准消息(以WM_开头的消息,但不包括ON_COMMAND);b;命令消息 ON_COMMAND(IDM_PHONE1, OnPhone1),菜单和工具栏的消息。c.通告消息:按钮,列表框发出的消息。 CCmdTarget只能接受命令消息。而从CCmdTarget派生的CWnd可以接收命 ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第5课 1.CWnd::CreateSolidCaret创建插入符,ShowCaret()显示插入符。GetTextMetrics(),获得当前字体的一些信息。CWnd::CreateCaret()创建图象插入符 bitmap.LoadBitmap(IDB_BITMAP1);//此处的bitmap为成员变量!!! CreateCaret(&bitmap); ShowCaret(); TEXTMETRIC tm;//字体结构体 dc.GetTextMetrics ...
http://www.sunxin.org/forum/thread/210.html?page=1 作者:虎非龙 第3课 1.在main或WinMain之前,全局变量已经被分配内存并初始化了。 2.在MFC中在WinMain之前有个theApp全局变量先被构造并被初始化,而由于子类构造函数执行前,其父类的构造函数先被执行,所以CTestApp的父类CWinAPP的构造函数先执行。产生了theApp对象后,在WinMain()中的指针*pThread和*pApp就有了内容。 3.MFC大致流程: CTestApp theApp;//构造全局对象 WinMain() { AfxWinMain( ...
Global site tag (gtag.js) - Google Analytics