- 博客(21)
- 资源 (21)
- 收藏
- 关注
原创 盘符加载和CFindFile类的遍历
void CFindFileDlg::find(CString dir) { CFileFind ff; CString path; //MessageBox(dir); if(dir.Right(1)!="//") dir+="//"
2011-08-10 21:57:44 1364
转载 窗口重绘一点通
窗口重绘函数心得 在刷新窗口时经常要调用重绘函数MFC提供了三个函数用于窗口重绘InvalidateRect(&Rect)Invalidate()UpdateWindow()当需要更新或者重绘窗口时,一般系统会发出两个消息WM_PAINT(通知客户区有变化)
2011-08-10 21:52:25 992
原创 加速键使用方法详解(示例)
加速键的使用第一步:创建加速键表在Resource试图中添加一个Accelerator资源表,在表中根据条件输入值。第二步:在类中添加一个HACCEL的变量 HACCEL m_hAccel;第三步:在初始化函数里面加载对应的加速键表m
2011-08-10 14:21:26 3508 1
原创 套接字模型
套接字I/O模型1:Select模型 Select模型是一种常见的模型,通过select函数来确定套接字状态。在网络应用程序中,通过一个线程来设计一个循环,不停的调用select函数,判断套接字上是否存在数据或者是否能够向套接字写入数据等int select(int
2011-08-09 18:50:53 1162
原创 套接字函数详细介绍
套接字函数介绍 套接字函数通常封装在Ws2_32.dll动态连接库中,头文件是winsock2.h,因此用户需要引用头文件和链接库 #include “winsock.h” //引用头文件 #pragma comment(lib,”ws2_32
2011-08-09 18:08:50 1190
原创 使用信标对象实现线程同步
使用信标对象实现线程同步 信标对象也属于系统内核对象之一,它包含有计数,当使用计数为0时,信标对象处于无信号状态;当使用计数大于0时,信标计数处于有信号状态。 相关函数: CreateSemaphore:用于创建一个信标对象 HANDLE Cre
2011-08-08 16:09:25 1106
原创 使用关键代码段实现线程同步
使用关键代码段实现线程同步关键代码段又称临界区,指的是一小段代码,在代码执行前,它需要独占某些资源。在程序中通常将多个线程同时访问某个资源的代码作为临界区。相关函数 InitializeCriticalSection:用于初始化临界区对象 void Initi
2011-08-08 16:08:39 973
原创 自己动手写推箱子游戏——休闲放松(源码)
第四:休闲放松 有些玩家希望在玩游戏过程中听歌放松等休闲,所以我自己设计了一个简易的mp3、mp4播放器播放器能够对各个盘符中的mp3、mp4文件进行搜索,免去玩家的查阅对于播放器,大家可以用MFC里面的Windows Media Player控件
2011-08-08 15:11:58 2339 1
原创 自己动手写推箱子游戏——设计师(源码)
第三:设计师 好的程序不仅能够让玩家玩设计好的游戏,还应该让他们的新想法得以实现,这就需要为他们提供设计平台 1:布局在游戏界面中,新建一个类来完成里面的全部功能,玩家可以点选右边的图来设计自己的想法左边是布局,可以用一个CRect数组设置其区域
2011-08-08 14:55:00 2411 1
原创 自己动手写推箱子游戏——菜单(源码)
第二:制作菜单,完善功能 一:选关功能 自己要为游戏设置一些关数,而且难度应该递增,这个选关的对话框需要新建,主要是返回一个表示关数的数值void CPushBoxDlg::OnChose() { CchoseDlg dlg; dlg.m_ch
2011-08-08 14:40:10 10201
原创 自己动手写推箱子游戏——界面(源码)
MFC开发自己的推箱子游戏第一:推箱子游戏的主界面 游戏的主界面其实就是8×8的区域,在初始化函数中定义它们的矩形区域,里面是我自己收集的8个选关void CPushBoxDlg::Initi_State(int i,int j){ //int i,j
2011-08-08 14:10:49 7582 2
原创 使用互斥对象实现线程同步
使用互斥对象实现线程同步 互斥对象属于系统内核对象,它能够使线程拥有对某个资源的绝对访问权。互斥对象主要包含使用数量,线程ID和递归计数器等信息。其中线程ID表示当前拥有互斥对象的线程,递归计数器表示线程拥有互斥对象的次数。 互斥对象的使用方式:当互斥对象的
2011-08-08 13:40:07 1570
原创 事件对象实现线程同步
线程同步,由于多个线程同时访问进程中的同一个资源,这就可能造成线程之间的混乱,因此需要线程同步解决相关问题1:使用事件对象实现线程同步 相关函数 CreateEvent:用于创建一个事件对象 HANDLE CreateEvent(LPSECUR
2011-08-08 13:07:38 1134
原创 线程的挂起,唤醒和终止
//如果是利用h=AfxBeginThread()创建线程,需要获取句柄,h->m_hThread线程的挂起在CreateThread()等函数创建线程时,可以指定线程的挂起状态,在运行过程中也可以挂起线程 DWORD SuspendThread(HANDLE
2011-08-07 17:13:06 13100
原创 AfxBeginThread函数创建进程
UINT Multilp(LPVOID pThreadParam){ CMutilThread1Dlg *pdlg=(CMutilThread1Dlg *)pThreadParam; CString s2; s2=""; for(int i=1;i
2011-08-07 16:13:02 1612
原创 线程的创建
线程的创建1:使用CreateThread函数创建线程 HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpsa,DWORD cbStack,LPTHREAD_START_ROUTINE lpStartAddr,LPVOID lpvT
2011-08-07 14:47:09 1210
原创 创建MFC动态连接库
向动态链接库中添加类和资源 1:创建类,还可以加入其他资源#define EXPORT11 _declspec(dllimport)EXPORT11 class CShowDlg{ public: virtual void ShowNot
2011-08-03 17:34:42 776
原创 访问MFC动态连接库
访问MFC动态连接库1:定义一个与连接库中相同的抽象类class CShowDlg{public: virtual void ShowNoteDlg(char *text)=0;//定义纯虚方法};2:定义两个函数指针类型,用于访问连接库中的函数t
2011-08-03 17:33:30 753
原创 动态连接库的创建
动态连接库 1:创建通用动态连接库,其中DllMain函数是动态链接库的入口函数,在加载动态连接库中将要调用该函数 #include "stdafx.h"BOOL APIENTRY DllMain( HANDLE hModule,
2011-08-03 11:55:40 662
原创 动态连接库的访问
访问动态链接库通过两个API函数实现,首先根据LoadLibrary函数加载动态连接库模块,获得模块句柄;然后调用GetProcAddress函数根据模块句柄和函数名获取动态连接库中函数的地址,这样即可调用函数,工程中需要包含相应的dll文件 HMODULE m_hM
2011-08-03 11:54:50 638
转载 窗口重绘函数详细说明
窗口重绘函数心得 (2007-12-24 15:04) 在刷新窗口时经常要调用重绘函数MFC提供了三个函数用于窗口重绘InvalidateRect(&Rect)Invalidate()UpdateWindow()当需要更新或者重绘窗口时,一般系统会发出两个
2011-08-01 11:38:35 974
益智跳棋游戏
2013-10-22
针对Microblaze抢占式操作系统OSAL
2013-09-07
基于VC的GSM模块程序
2011-10-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人