VC相关
Lcxbaba
永不止步!!!
展开
-
GetCurrentDirectory 与GetModuleFileName
GetCurrentDirectory :返回操作系统的当前目录,并不一定返回你的应用程序的目录。比如你在应用程序中调用了打开文件对话框,你选择了一个文件,那么,这个文件所在的目录就成了操作系统的当前目录了。因此,千万不要用这个函数作为获取应用程序目录的手段。 GetModuleFileName:获取当前应用程序主目录的方法,先获取应用程序文件路径,然后截取调应用程序文件名称就是应用程序原创 2009-09-01 12:39:00 · 788 阅读 · 0 评论 -
拆分CString
CString是我们经常用到的东东了,我们也常常会解析一段CString,下面就看看一个简单的拆分CString的方法,顺便回忆一下它的接口: CString strTemp("12,33,44,mm,dd,123d");//例如我们要将以逗号隔开的字符串拆开来 CStringArray strArray;//这个东东就是用来存放拆分出来的小单元的数组 int iPos=-1; /原创 2009-10-15 16:40:00 · 5125 阅读 · 4 评论 -
重命名一个目录的文件
有时候系统会在一个目录保存些文件,如192.168.66.64_01_20091017160248_8468921.bmp,对于这样的长名字的文件,我们往往不好处理,有可能会重新命名一下: 重命名的函数有: rename 原型如下: _CRTIMP __checkReturn int __cdecl rename(__in_z cons原创 2009-10-18 17:18:00 · 1259 阅读 · 1 评论 -
如何改变控件内的字体颜色(转)
在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WM_CTLCOLOR消息的响应函数.此函数的原型: afx_msg HBRUSH OnCtlColor(CDC *pDC,CWnd *pWnd,UINT nCtlColor); 参数nCtlColor用于指定控件的类型,可以是: .CTLCOL转载 2009-10-19 18:18:00 · 967 阅读 · 0 评论 -
播放声音(转)
内容简介: 加入音乐是增强应用程序功能的所有方法中最简单的一个。几乎每个计算机游戏或多媒体程序都以某种MIDI或CD音乐为背景。音乐可以使用户心情愉快;在合适的场合播放恰当的音乐能够使程序员和他的VC++程序焕发光彩。 文档内容:第一部分 MIDI的播放 乐器数字化接口(MIDI)是由音乐界的一些大公司(包括生产电子音乐合成器的公司)制订的一项协议,后来被计算机产业所采用并成为转载 2009-10-19 19:00:00 · 761 阅读 · 0 评论 -
位图文件结构
一、位图文件结构位图文件由三部分组成:文件头 + 位图信息 + 位图像素数据1、位图文件头。位图文件头主要用于识别位图文件。以下是位图文件头结构的定义: typedef struct tagBITMAPFILEHEADER { // bmfh WORD bfType; DWORD bfSize; WORD bfReserved1;转载 2009-10-19 18:46:00 · 811 阅读 · 0 评论 -
VC++动态链接库编程之DLL木马(转)
从前文可知,DLL在程序编制中可作出巨大贡献,它提供了具共性代码的复用能力。但是,正如一门高深的武学,若被掌握在正义之侠的手上,便可助其仗义江湖;但若被掌握在邪恶之徒的手上,则必然在江湖上掀起腥风血雨。DLL正是一种这样的武学。DLL一旦染上了魔性,就不再是正常的DLL程序,而是DLL木马,一种恶贯满盈的病毒,令特洛伊一夜之间国破家亡。 DLL木马的原理 DLL木马的实现原理是编程者在DLL原创 2009-10-19 20:03:00 · 703 阅读 · 0 评论 -
非模态对话框销毁
非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别先看一下MSDN的原文:When you implement a modeless dialog box, always override the OnCancel member function and call DestroyWindow from within it. Don’t call the base cl原创 2009-10-19 20:28:00 · 930 阅读 · 0 评论 -
半透明位图(转)
绘制半透明位图有的时侯,我们希望显示一幅半透明的位图。也就是说我们将一幅位图B显示到A位图上,又希望透过B位图看到A位图的一部分图像但不是全部。比如A位图是一幅曲线图,B是一幅提示位图,我们想在显示提示的同时看到已显示的曲线,但不需要曲线的背景 ,就需有用到半透明位图。曲线看上去就象从B位图中渗透过来,其实半透明技术就是一种渗透技术,渗透公式我们可选用多种,在这里我们选用(A AND 0x7F转载 2009-10-19 20:36:00 · 751 阅读 · 0 评论 -
托盘编程
1.托盘操作 函数原型: BOOL Shell_NotifyIcon( DWORD dwMessage,PNOTIFYICONDATA lpdata); 返回值 如果图标操作成功返回TRUE,否则返回FALSE。 如果dwMessage参数设为NIM_SETVERSION,则如果版本设置成功返回TRUE,如果设置的版原创 2009-11-10 13:22:00 · 814 阅读 · 0 评论 -
VC 服务程序编程
所谓服务程序,就像系统的一些服务一样,能够自动地启动,并执行相应的操作;而且因为服务程序的在层次上和一般的应用程序不同,其能够在系统启动时就自动地运行,而不像一般的应用程序那样一定要在登陆后才能运行,这些就是服务的一些好处了,如果你也想你的程序具有这样的功能,那么你就可以建立一个服务应用程序了。下面就跟着我一步一步地教你怎么去创建一个服务应用程序吧。 主要使用到的原创 2009-11-12 13:12:00 · 1529 阅读 · 0 评论 -
项目绑定
如果在一个解决方案中有很多项目,一个项目要引用别的项目怎么办? 1.添加引用: 选择需要引用的项目到知道工程 2.添加目录相关 工程-》属性-》配置属性-》c/c++ -》附加包含目录 导入需要的目录就可以使用了。原创 2010-01-26 10:10:00 · 779 阅读 · 0 评论 -
使用Timer
Timer我们是经常用到的了,它的主要流程是: SetTimer //设置定时器 OnTimer //Timer回调函数 KillTimer //关闭Timer 1.SetTimer 其原型如下: UINT_PTR SetTimer( HWND hWnd, // 指定的窗口原创 2009-10-15 16:05:00 · 866 阅读 · 0 评论 -
有时CString很让人伤心
在2005中,使用CString转化为char*时,用了很多的方法 例如 getBuffer wcstombs_s 强制类型转换 。。。。。。。。。。。 都他奶奶的不行,后来终于找到一个方法,呵呵就是如下: CString str("123456"); char *buf = n原创 2009-10-15 16:23:00 · 859 阅读 · 0 评论 -
有关程序的发布
在发布VC程序的时候,往往会出现在其他机子上不能正常启动的情况,例如弹出"配置不正确的..........."的情况,这主要的原因可能是程序自身用到一些库,例如.net框架的东西,而运行机子上面又没有相关的库,从而导致问题,所以需要确认: 1.你的机子上面是否安装了.net框架以及相关所需要的库 2.库是否都启动了,或者被注册了,或者直接拷贝到systems32目录中 3.使用库的方式是否正确 例原创 2009-10-13 15:13:00 · 588 阅读 · 0 评论 -
VC++ Picture Control中显示jpg图片
通常使用CImage来显示图片,如jpg,png等图片,使用方法如下: #include "atlimage.h" //使用CImage需要导入的头文件 CImage image; //image对象 CRect imageRect;转载 2009-09-01 10:27:00 · 3495 阅读 · 0 评论 -
vc 获取屏幕大小
int with= GetSystemMetrics(SM_CXFULLSCREEN); int heigh= GetSystemMetrics(SM_CYFULLSCREEN);通过上边两个函数获取的是显示屏幕的大小,及不包括任务栏等区域。 int cx = GetSystemMetrics( SM_CXSCREEN ); int cy转载 2009-09-01 14:05:00 · 903 阅读 · 0 评论 -
VC隐藏、显示、移动、改变大小控件
1、隐藏控件CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号pWnd->ShowWindow( SW_HIDE ); //隐藏控件 2、显示控件CWnd *pWnd;pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT为控件ID号pWn转载 2009-09-02 16:09:00 · 615 阅读 · 0 评论 -
dumpbin的使用
DUMPBIN.EXE:用来得到某个DLL中所输出的符号的清单。如下面的命令:dumpbin -exports Cmpnt1.dll如:C:/WINDOWS/system32>dumpbin -exports msgsvc.dllMicrosoft (R) COFF Binary File Dumper Version 6.00.8447Copyright (C) Microsoft Corp转载 2009-09-08 10:31:00 · 676 阅读 · 0 评论 -
VC为按钮控件添加图片
VC为按钮控件添加图片的方法有很多种: (1). 直接调用接口SetBitmap CButton pButton->SetBitmap(hBitmap); //感觉效果不好 (2) 使用CButtonST 可以采用CButtonST控件,挺好用的,比MFC的那些封装好用。 假设按钮ID为IDC_BUTTON1 1.添加成员变量原创 2009-09-11 16:23:00 · 6589 阅读 · 1 评论 -
向窗口发送消息
在VC中,窗口的主要通信方式就是通过消息了,是MFC中很重要的一部分,花了一段时间终于把这个搞懂了,下面就说说想窗口发送消息的方法: 1.首先需要确定和定义消息类型,如系统消息、用户自定义消息等。如果是自定义消息就得自己定义消息ID了,其实就是一个的用 来唯一标示Msg的整型数,在头文件中加入,如下: #define WM_MYM原创 2009-09-16 11:15:00 · 2755 阅读 · 0 评论 -
CListCtrl用法
以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn--------------------------------------------------------------------------------1. CListCt转载 2009-09-16 17:49:00 · 1042 阅读 · 0 评论 -
LineDDA函数
LineDDA函数 今天学习了LineDDA函数,觉得很有意思,在图形学中应该是一个很常用很重要的函数,如果在绘画程序中能够灵活的使用该函数,相信可以取得很好的效果, 其原型如下: void WINAPI LineDDA(int x1,int y1 ,int x2 ,int y2 ,LINEDDAPROC callback,LPARAM lp); 前面四原创 2009-09-28 11:45:00 · 1167 阅读 · 0 评论 -
VC使用MSCOMM进行串口编程
在MFC中进行串口通讯最简单的方法莫过于在对话框中使用MSCOMM控件了,MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modem). 还可以发送命令、进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工 、事件驱动的、高效实用的通信程序。一、用MSComm控件通信1.串口原创 2009-09-22 15:08:00 · 5062 阅读 · 0 评论 -
CTime的学习
在VC中,我们经常用CTime来获取时间, 具体使用方法如下: CTime t = CTime::GetCurrentTime(); //获取系统日期 (注:不要用GetCurrentTime,而用CTime::GetCurrentTime,前者计算得到的可能为格林尼治时间)原创 2009-09-24 16:32:00 · 1061 阅读 · 0 评论 -
有关程序的发布问题
在发布VC程序的时候,往往会出现在其他机子上不能正常启动的情况,例如弹出"配置不正确的..........."的情况,这主要的原因可能是程序自身用到一些库,例如.net框架的东西,而运行机子上面又没有相关的库,从而导致问题,所以需要确认: 1.你的机子上面是否安装了.net框架以及相关所需要的库 2.库是否都启动了,或者被注册了,或者直接拷贝到systems32原创 2009-10-13 15:18:00 · 786 阅读 · 0 评论 -
List Control 列排序
list Control应该是使用频率比较高的控件了,其中一种应用就是在单击其中一列的时候需要进行排序,我也曾经遇到过这个问题,后来花了很长时间才搞懂,呵呵,下面就讲讲怎么对其排序的。 1.首先在界面加入list control控件,设置属性 No Sort Header :false View :report 2.在窗口类中声明控件成原创 2010-03-19 12:25:00 · 7027 阅读 · 1 评论