- 
                        VC++ 6.0制作的弹出式菜单
                        
                          VC++ 6.0制作的弹出式菜单,代码作者:一剑,这里主要是定义了CMainFrame::OnContextMenu函数来实现弹出式菜单,请参见以下核心代码:
  void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point) 
  {
  	CMenu menu;
  	CMenu *popup;
  	//IDR_POP_MENU是菜单资源的ID号,是刚添加的菜单
  	menu.LoadMenu(IDR_POP_MENU);
  	ASSERT(menu);
  	//此函数用于得到子菜单的指针。
  	//由于需要的是“可弹出项”的第一层子菜单,因此用GetSubMenu(0)来得到。
      popup=menu.GetSubMenu(0);            
  	popup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x, point.y,this);	
  	
  }
  然后需要定义几个菜单命令响应函数,请参见源代码文件。                         
                            - 2022-03-30 01:28:38下载
- 积分:1
 
- 
                        VC++ 字体处理:创建4种类型的字体
                        
                          VC++ 字体处理:创建4种类型的字体,第一种方法:使用CreateFontIndirect创建字体,第二种方法:使用CreateFont创建字体;第三种方法:使用CreatePointFontIndirect创建字体;第四种方法: 使用CreatePointFont创建字体;                         
                            - 2022-03-24 01:42:11下载
- 积分:1
 
- 
                        VC++ 获取IE运行实例的标题,并修改其标题
                        
                          VC++ 获取IE运行实例的标题,并修改其标题,大致的实现步骤:设置列表控件的风格、创建COM变量的实例、获取当前正在运行的所有IE窗口的标题信息,刷新列表控件、释放IE实例对象、获得第i个ie实例、获得文档对象、获得文档标题、将IE标题填充到列表框、用户选择指定的IE标题项,然后设定ie标题、销毁窗口时,清除com环境、清除所有com对象。                         
                            - 2022-03-31 12:59:54下载
- 积分:1
 
- 
                        VC 钱箱控制程序示例
                        
                          VC++6.0 钱箱控制程序示例,程序以一个超市销售终端为例子,演示钱箱控制的基本操作、程序实现等。程序中将使用到m_List、CButton、SetPortOpen、SetCommPort等来实现钱箱控制。在编写类似的销售软件时,这个程序可借鉴。                         
                            - 2022-06-21 11:22:49下载
- 积分:1
 
- 
                        VC6.0 使用信号量Semaphore实现线程的同步
                        
                          VC6.0 使用信号量Semaphore实现线程的同步,使用信号量实现线程同步,设置访问保护对象的最多线程数为2,确定当前已经启动运行的线程数目,可以创建线程。
  CWinThread* pThread=AfxBeginThread(ThreadProc,&m_Edit);//开辟一个工作线程,
  int thread=0;//全局变量记录当前运行线程的数目
  CSemaphore mySemaphore(2,2);//创建CSemaphore类对象
  UINT ThreadProc(LPVOID pParam)//工作线程入口函数
  {
  	CEdit *pedit=(CEdit*)pParam;
  	CString str;
  	thread++;//线程数目加1
  	str.Format("%d",thread);
  	pedit->SetWindowText(str);//编辑框显示
  	CSingleLock singlelock(&mySemaphore);//创建CSingleLock类对象
  	singlelock.Lock();//计数器初始值减1
  	MessageBox(NULL,"信号量控制访问资源线程数","提示",MB_ICONWARNING);//弹出对话框
  	thread--;//线程数目减1
  	str.Format("%d",thread);
  	pedit->SetWindowText(str);//编辑框显示
  	return 0;
  }                         
                            - 2022-02-20 19:37:49下载
- 积分:1
 
- 
                        VC++ 6.0 弹球游戏&打砖块源代码
                        
                          PenBall游戏源代码,VC++ 6.0 编写开发的弹球游戏&打砖块源代码,这个游戏的叫法很多了,有人叫做乒乓球游戏,有的叫“撞球游戏”,这里被称为弹球游戏和打砖块游戏,不管叫做么吧,大家一看到运行截图就明白了是什么游戏。这款撞球游戏分为三关,第三关是最难的,还有音效,操作挺方便,球拍自动跟随鼠标移动,运动自如。分享本源码主要是让大家参考一些从游戏中剥离出来的技巧,比如控制对象移动、碰撞检测反弹等,可用于其它的VC++开发项目中。                         
                            - 2022-08-13 12:20:23下载
- 积分:1
 
- 
                        端口扫描VC6.0程序示例
                        
                          扫描端口,程序里面有一些相关的技巧是可以借鉴的,比如增加列表框标题栏的某一列、在列表框中加一条、显示列表框标题栏、单击“扫描单个端口”单选按钮、单击“扫描多个端口”单选按钮、开始扫描时绑定进度条组件、不合理IP的处理、扫描单个端口、连接主机,测试端口是否打开、设置扫描完毕状态、将扫描结果填充到列表框中、测试主机的某个端口是否打开、保存扫描结果到文本文件中等。                         
                            - 2022-10-09 07:35:03下载
- 积分:1
 
- 
                        VC++ 在Combobox组合框的下拉列表框中实现自动选择
                        
                          VC++ 在组合框的下拉列表框中实现自动选择,当在Combobox组合框中键入字符时,组合框会根据用户的输入在列表框中自动选择匹配的项,其实就是大家熟悉的搜索提示,用户输入时,Combobox下拉框会智能匹配用户的输入内容,显得很智能的下拉框。                         
                            - 2022-08-06 12:06:50下载
- 积分:1
 
- 
                        VC++6.0 窗口过程函数及消息发送、响应测试实例
                        
                          VC++6.0 窗口过程函数及消息发送、响应测试实例,在应用程序中窗口过程函数及其消息发送、响应机制的使用,能够方便程序集中处理各类消息,使得整个程序的架构更加合理、清晰。窗口过程函数及其消息发送、响应机制的使用方法:
  ⑴自定义消息:
  在Resource.h文件中自定义消息:#define WM_MYMSG    2000
  ⑵添加窗口过程函数的声明和实现体:
  ①在.h文件中添加窗口过程函数声明:
  virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  ②在.cpp文件中添加窗口过程函数实现体:
  ⑶发送消息的方式比较:
  ①this->SendMessage(WM_MYMSG,0,0);
  ②this->PostMessage(WM_MYMSG,0,0);
  ③this->SendNotifyMessage(WM_MYMSG,0,0);
  这三个函数都可以将指定的消息发送到某个窗口,但是这三种消息的发送方式存在如下的区别:SendMessage立即调用窗口过程函数,而且直到窗口过程函数处理完消息后才返回。PostMessage则是将指定的消息寄送到窗口消息队列后立即返回。对于SendNotifyMessage来说,如果窗口是调用线程创建的,SendNotifyMessage为该窗口调用窗口过程函数,并且等待窗口过程函数处理完消息后才返回;如果窗口是由不同的线程创建的,SendNotifyMessage将指定的消息传给窗口过程函数后立即返回。                         
                            - 2023-03-05 04:00:03下载
- 积分:1
 
- 
                        VC++ CFileException异常处理用法范例
                        
                          VC++ CFileException异常处理用法范例,
  catch(CFileException* e)
  {
  	switch(e->m_cause)
  	{
  	case CFileException::fileNotFound:
  		{
  		strMessage.Format("打开文件时发生异常(try/catch):
  			在指定位置没有找到文件%s
",strFile);
  		AfxMessageBox(strMessage);
  		TRACE("即将删除捕获到的异常对象CFileException::fileNotFound
");
  		AfxMessageBox("即将删除捕获到的异常对象CFileException::fileNotFound");
  		//删除异常对象
  		e->Delete();
  		TRACE("成功删除捕获到的异常对象CFileException::fileNotFound
");
  		AfxMessageBox("成功删除捕获到的异常对象CFileException::fileNotFound");
  		break;
  		}
  	case CFileException::invalidFile:
  		{
  		strMessage.Format("打开文件时发生异常(try/catch):
  			文件%无效
",strFile);
  		AfxMessageBox(strMessage);
  		TRACE("即将删除捕获到的异常对象CFileException::invalidFile
");
  		AfxMessageBox("即将删除捕获到的异常对象CFileException::invalidFile");
  		//删除异常对象
  		e->Delete();
  		TRACE("成功删除捕获到的异常对象CFileException::invalidFile
");
  		AfxMessageBox("成功删除捕获到的异常对象CFileException::invalidFile");
  		break;
  		}
  	default:
  		break;
  	}
  }                         
                            - 2022-01-26 02:02:12下载
- 积分:1