09 2005 档案
VC程序中实现控件的动态生成与响应
摘要:动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一...
阅读全文
在对话框和窗体中使用系统图标
摘要:大家知道,很多Windows程序都要使用MessageBox,只要在这个API函数的一个参数中使用MB_ICONQUESTION标志,便可以在MessageBox的对话框中显示问号图标。这样用不同的标志便可以显示不同的图标。与Windows以前的老版本相比,Windows 2000以及Windows XP中的图标越来越好看,种类也越来越多。为了更广泛地使用这些漂亮的图标,本文将介绍如何把它们运用到...
阅读全文
对话框的部分显示
摘要:我们在信息输入的时候,可能有很大的信息量,而这些信息又不是必须的,这时我们就需要给信息输入人员一个选择的接口。例如一个人事部门的职工信息录入系统就有这样的问题,其中的姓名、性别、年龄、政治面目、职务、学历、部门和联系电话是必须输入的信息,而婚姻状况、毕业学校、籍贯和健康状况是可输可不输的信息且大多数情况下不需要录入,如何为信息录入人员提供一个方便的输入接口,下面我们就针对这个问题提供一个我认为比较...
阅读全文
自绘按钮补遗
摘要:在《自绘按钮的实现》一文中所示范的CXPButton按钮从形状上看可以说是一个不规则按钮。我们把MFC中提供的控件成为标准控件,而其中的按钮控件则可称为规则按钮,因为它是的形状是一个规则的矩形。但是随着流线型设计在界面设计中被广泛采用,越来越多的程序设计者都乐意在自己的作品中加入一些非规则形状的控件。以按钮为例,最简单的就到有圆形按钮,三角按钮等。下图是一组定义好的圆形按钮: 但是这些在我们眼中似...
阅读全文
如何有效的使用对话框
摘要:Q:如何在对话框中加入工具条 在 OnInitDialog 中加入下面代码: BOOL CYourDlg::OnInitDialog() { CDialog::OnInitDialog(); // Create the toolbar. To understand the meaning of the styles used, you //...
阅读全文
P2P之UDP穿透NAT的原理与实现
摘要:源代码说明: 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念:NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Netwo...
阅读全文
设计托盘程序
摘要:在Windows操作系统中,任务栏的右边(托盘)会常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到具有托盘图标的软件,如金山词霸、实时监测功能的杀毒软件等。这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志,必要时我们可以通过用鼠标点击图标对其进行选单操作或激活其主窗口。有时我们自己编写的程序也希望有类似的效果,本文将详细地介绍用VC设计托盘图标程序的方法...
阅读全文
循环播放歌曲
摘要:【实现内容】自动循环播放的MP3播放器 【应用】自动循环播放的MP3播放器主要用于企业文化的应用。在每天的休息时段,播放器自动循环播放指定的MP3音乐。本自动播放器主要根据本公司的情况编写,包括早上上班,中午吃饭和下午下班三个时间段各播放1小时左右的音乐。播放器启动后,只在托盘中有图标,配置好各个时间段的音乐目录后,不需要人工干预,音乐可以自动启动、循环播放和结束。现已在本公司使用。【特点】...
阅读全文
VC中用GDI函数实规高速平滑动画
摘要:VC中用GDI函数实规高速平滑动画 VC中用GDI函数实规高速平滑动画 摘要:许多游戏软件的开发中,实现高速平滑的动画需要许多比较深的技术,如:OpenGL、DirectX,并且可能还要开发人员有深厚的数学功底。但是,我们在开发一些小游戏,或为应用程序的界面实现一些动画效果,就可能不用以上这些技...
阅读全文
windows执行流程
摘要:int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){ ASSERT(hPrevInstance == NULL); int nReturnCode = -1; CWinThread* pThread = AfxGetThread(); CWinApp...
阅读全文
网络编程解析
摘要:王老师: 您好,今天无意中发现您的网站,匆匆浏览了一下,佩服于您的专业和文笔,尤其是您为菜 鸟们不厌其烦的答疑,更是罕见。 我是通过google搜索CAyncSocket才看到您的网站的。有些问题困扰我很久了,希望您能百 忙中指点迷津。 服务器和多个客户机通过CAsyncSocket(TCP)不停的互传数据,数据包的长度不定,从几 个字节到几十K,发送数据的时间也不定...
阅读全文
Socket传输文件示例(摘)
摘要:传送文件一直是很重要的部分。 //1:显示文件进度 //2:可以随时终止传输过程 //发送数据线程 UINT SendDataThread(LPVOID lpParam); //接收数据线程 UINT ReceiveDataThread(LPVOID lpParam); //发送数据按钮消息响应函数 void CTzg004Dlg::OnButtonSend() { // TODO: ...
阅读全文
memcpy 内存操作
摘要:memcpy(szBuffer,(const char *)&nType,4);这段执行后szBuffer只拷贝了一个字符, strcat(m_szBuffer,(char *)&nType);执行后szBuffer也只拷贝了一个字符, 以上或许和下面文章所提到的问题有关: 再evc,wince下将数据拷贝到char*字符堆中,但拷贝一定长度后,发现memcpy就在也拷贝不进去char*中数据了。...
阅读全文
发送消息和字符串转化操作
摘要:char msg[] = "hello world";SendMessage(HWND_BROADCAST,Msg, 0,(LPARAM)msg);LRESULT CDakaileDlg::OnMsg(WPARAM wParam,LPARAM lParam){ char * pMsg = (char*)lParam; CString msg = pMsg;}考虑到局部变量问题,不要用PostM...
阅读全文
C++中的变量 Variables in C++
摘要:目录 --------------------------------------------------------------------------------------------- 1.变量声明 Variable declaration 1.1 变量的作用功能 Function of variables 1.2 变量的作用域 Life area?? of variables 1....
阅读全文
字符串处理strtol
摘要:STRTOL() 语句: result=strtol(nptr,& endptr, base) 参数: nptr and endptr are strings and base is an integer 返回值: result is a signed long int. returns the converted value in result , if...
阅读全文
利用VC访问INI文件和系统注册表
摘要:.INI文件 INI文件(Initialization file ,又称为初始化文件)是用来保存应用程序设置和选项的一种特殊的ASCII文件,以“.ini”作为文件扩展名,也被称做配置文件或概要文件(Profile)。除了各个应用程序可以拥有自己私有的初始化文件外,Windows系统还提供有一个系统的初始化文件Win.ini,并由此对当前的Windows系统进行配置,同时也可以在其内记录系统内其...
阅读全文
启动一个进程
摘要:shellexecutewinexecCreateProcessvoid main( VOID ){ STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); // Start ...
阅读全文
VC编程轻松获取局域网连接通知
摘要:摘要:本文从解决实际需要出发,通过采用Windows Socket API等网络编程技术实现了在局域网共享一条电话线的情况下,当服务器拨号上网时能及时通知各客户端通过代理服务器进行上网。本文还特别给出了基于Microsoft Visual C++ 6.0的部分关键实现代码。 一、 问题提出的背景 笔者所使用的局域网拥有一个服务器及若干分布于各办公室的客户机,通过网卡相连。服务器不提供专线上网,...
阅读全文
字符串操作
摘要:引言 毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。 在第一部分,我们将介绍3种字符编码类型。了解各种编码模式的工作方式是很重要的事情。即使你已经知道一个字符串是一个字...
阅读全文
图形显示CPU内存利用率
摘要:一、程序运行界面如下: 二、程序思想与要点:1)、本程序分两种情况来获取CPU的利用率,NT下利用ntdll.dll中没有公开的API: NtQuerySystemInformation, 9x下利用注册表来获取CPU的利用率code:NTtypedef LONG (WINAPI *PROCNTQSI)(UINT,PVOID,ULONG,PULONG); PROCNTQSI NtQuery...
阅读全文
依据进程名,取得运行的进程
摘要:BOOL CProcessInfo::GetProcessList(LPCTSTR lpszOutputFileName){char szOutString[BUFSIZE];HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY32 pe32 = {0};CWriteToFile* pFile =...
阅读全文
报表式CListCtrl的使用详解初稿(摘)
摘要:严格说来本文是别人成果的集合,加入了本人使用的一点心得,而且文章内容是本人在实际开发中试验过可以使用的。这只是初稿,还有很多内容没有加入,原因是没有经过验证,以后会陆续加入,形成一个CListCtrl的使用完全指南。 创建图形列表并和CListCtrl关联: m_image_list.Create(IDB_CALLER2, 16, 10, RGB(192,192, 192)); m_image_l...
阅读全文
一个对Winsock完成端口模型封装的类(摘)
摘要:在WINDOWS下进行网络服务端程序开发,毫无疑问,Winsock 完成端口模型是最高效的。Winsock的完成端口模型借助Widnows的重叠IO和完成端口来实现,完成端口模型懂了之后是比较简单的,但是要想掌握Winsock完成端口模型,需要对WINDOWS下的线程、线程同步,Winsock API以及WINDOWS IO机制有一定的了解。如果不了解,推荐几本书:《Inside Wind...
阅读全文
完成端口,多线程,服务器一探
摘要:列出了跨平台开发所需要的编译开关摘自:http://dev.csdn.net/article/63/63391.shtm Machine Producer Operating system C-Compiler recognized through AMIGA Commodore AMIGA-OS...
阅读全文
在VC中使用GDI+[转]
摘要:请问怎样在VC6中使用GDI+,很急!! 请说明要用到什么库文件,头文件,谢谢! 在 头文件 stdafx.h 添加如下的代码#define ULONG_PTR unsigned long#include using namespace Gdiplus;在 CWinApp 派生出来的 你自己的 C×App 的头文件 添加ULONG_PTRgdiplusToken;在 BOOL C×App::...
阅读全文
ActiveX组件及其注册
摘要:一.概述 在接下来的部分,首先将就ActiveX组件的概念以及它的分类进行简要的介绍,从而让读者对ActiveX组件有一个概念上的把握。随后,将就如何注册ActiveX组件的问题进行比较深入详细的解释。分别给出ActiveX 控件、ActiveX DLL、ActiveX EXE的具体注册方法。并在此基础上,对如何在制作安装程序并安装后,实现对 ActiveX组件的注册给出了若干解决方案。 二....
阅读全文
进程管理
摘要:第六章 进程管理第二章已经介绍进程的概念,进程是一个具有独立功能的程序关于某一个数据集合在处理机上的一次执行活动。进程和程序是两个既有联系又有区别的概念,它们的区别的关系可简述如下:进程是一个动态的概念,而程序是一个静态的概念。程序是指令的有序集合,没有任何的执行含义。而进程则是程序的执行过程,它动态地被创建、调度、执行,直至消亡。当然,进程的执行活动是在程序中事先规定的。形象的比喻就是:若把一个...
阅读全文
Linux下的多进程编程初步
摘要:文章摘要: 多线程程序设计的概念早在六十年代就被提出,但直到八十年代中期,Unix系统中才引入多线程机制,如今,由于自身的许多优点,多线程编程已经得到了广泛的应用。本文我们将介绍在Linux下编写多进程和多线程程序的一些初步知识。 -------------------------------------------------------------------------------- ...
阅读全文
线程的基础知识
摘要:1. 进程与线程有那些区别和联系?l 每个进程至少需要一个线程。l 进程由两部分构成:进程内核对象,地址空间。线程也由两部分组成:线程内核对象,操作系统用它来对线程实施管理。线程堆栈,用于维护线程在执行代码时需要的所有函数参数和局部变量。l 进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。l 如果在单进程环境中,有多个线程正...
阅读全文