文章分类 - VC++ API
VC++ 函数
摘要:答:表示函数返回值不能被修改转自:http://zhidao.baidu.com/question/172084740.html
阅读全文
摘要:静态函数有什么作用,是静态函数,不是静态成员函数,如static int fun(int iParam){}答:1.使用内部函数可以使函数的作用域只限于所在文件,在不同的文件中有同名的内部函数,互不干扰。这样不同的人可以分别编写不同的函数,而不必担心所用函数是否会与其他文件中函数同名,通常把只能由同一文件使用的函数和外部变量放在一个文件中,在它们前面都冠以static使之局部化,其他文件不能使用。2.只是一个普通的全局函数,只不过由于 static 的限制,它只能在文件所在的编译单位内使用,不能在其它编译单位内使用。转自:http://zhidao.baidu.com/question/201
阅读全文
摘要:很基础的教程啊,图文、适合新手!地址:http://book.51cto.com/art/200810/92620.htm
阅读全文
摘要:简单的说它是一种通用类.其中的一些成员变量的类型是需要用模板的参数来定义的.比如STL中就是标准的模板类库.正如模板函数,它是C++的特点,可以提高代码的复用性.比如用模板类定义一种链表,那么通过不同的模板参数(在调用时提供),可以生成不同类型的链表.更多信息,建议阅读C++ Primer等书籍. 转自:http://wenda.tianya.cn/question/198aae8b0f379294
阅读全文
摘要:思考一个问题,当您要取得int变数的记忆体位址时,会使用int*来宣告指针,要取得double变数的记忆体位址时,会使用double*来宣告指针,这是因为它们在进行加减法运算时,所位移的单位并不相同,而是根据它们的资料型态而定,而如果您只是要储存一个记忆体位址,您就宣告指针为void* 型态。指针可以用来储存(某变数的)记忆体位址,所以指针本身就是一个变数,也要占有记忆体空间才能储存资讯,那么指针的记忆体空间位址在哪呢?同样的使用 &运算子就可以得知了,例如:#include <iostream>using namespace std;int main() {int p =
阅读全文
摘要:1.创建打开文件对话框: CFileDialog dlg(TRUE,//TRUE是创建打开文件对话框,FALSE则创建的是保存文件对话框 ".txt",//默认的打开文件的类型 NULL,//默认打开的文件名 OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,//打开只读文件 "文本文件(*.txt)|*.txt|所有文件 (*.*)|*.*||");//所有可以打开的文件类型 2.点打开文件对话框上面的确定键后 if(dlg.DoModal()==IDOK) { CString m_FilePath = dlg.GetPat
阅读全文
摘要:IE的历史记录有很多,主要包括cookies、缓存临时文件、上次登录的用户记录、打开的历史网页、收藏夹中的内容、表单的数据等,但基本清楚原理都差不多就是清除缓存文件目录的的文件和注册表中的记录信息。例子代码://这方面VC++比Delphi 简单了些。1、Cookie的清除TCHAR szPath[MAX_PATH];DeleteUrlCache(Cookie);if (SHGetSpecialFolderPath(NULL, szPath, CSIDL_COOKIES, FALSE)){//得到目录,并清空EmptyDirectory(szPath);}2、浏览器地址栏历史地址的清除SHDe
阅读全文
摘要:假设在函数F1中,需要等待一段时间再继续执行后续代码,在等待过程中不影响消息触发其它函数执行,有什么办法?感觉sleep()和WaitForSingleObject()都不行,望高手最佳答案:用下面的方法吧,我就是用这个的MSG msg;DWORD dwTimeStarted;dwTimeStarted = ::GetTickCount();UINT LFactor=50; //你改这里就行了while (::GetTickCount() - dwTimeStarted < LFactor) { if (PeekMessage(&msg,0,0,0,PM_REMOVE)) { T
阅读全文
摘要:http://wenku.baidu.com/view/ba6d331afad6195f312ba6a4.html//百度文库
阅读全文
摘要:**********首先,两个窗体必须分别关联一个类。关联方法:在资源视图中右击对话框,点“添加类...”,接着按提示生成CDialog的派生类,名字随便取。假设分别是:COldDialog, CNewDialog。**********双击原来窗体上的按钮,或者选中按钮右击弹出菜单项“添加消息响应函数”,接着在COldDialog内编辑该函数,在函数内定义变量:CNewDialog newDlg; newDlg.DoModual()。**********编译运行程序,在旧窗口点按钮,新窗口就应该能弹出来了。转自:http://zhidao.baidu.com/question/50691386
阅读全文
摘要:C++中关于字符串操作网上有很多资料。例如使用 <string> 头文件也可以。CString的构造函数CString( );例:CString csStr;CString( const CString& stringSrc );例:CString csStr("ABCDEF中文123456");CString csStr2(csStr);CString( TCHAR ch, int nRepeat = 1 );例:CString csStr('a',5);//csStr="aaaaa"CString( LPCTSTR
阅读全文
摘要:c语言和c++头文件在哪些地方有所不同c语言头文件有.h,且里面声明的实体都是全局的。C++标准库的头文件不带.h,且里面的实体都是声明在名空间std里。C++为了兼容c,支持所有的c头文件,但为了符合c++标准,所有的c头文件都有一个c++版本的,即去掉.h,并在名子前面加c。如<assert.h>和<cassert>,<math.h>和<cmath>。其中,<cmath>和<cassert>都是按照c++标准,声明在名空间std里,不是全局的。但<assert.h><math.h>都是全局的。h
阅读全文
摘要:在C++中,#include<iostream>与#include<iostream.h>的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态的编译器)。喔,原来iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上c的前缀表示来自于c,例如cmath就是由math.h变来的。using namespace std //使用名字空间(使用所有)using namespace std::cout//只使用cout如不用using,则在代码前
阅读全文
摘要:第一步:定义消息。#define WM_MY_MESSAGE (WM_USER+100)第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LPESULTLRESULT C Dlg::OnMyMsg(WPARAM wParam, LPARAM lParam){return 0;}第三步:在类头文件的AFX_MSG块中说明消息处理函数。virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQue
阅读全文
摘要:基本运算符——+:加—:减*:乘/:除%:取模(求余数)逻辑运算符——!:逻辑非;&&:逻辑与;例:x && y,x、y都为真才真,否则假;x=3,y=4,z=x&&y,则z=1||:逻辑或;例:x|| y,x、y都为假才假,否则真~:逐位求反;&:逐位求与;^:逐位求异或;异或运算即两个不同为真,反之为假|:逐位求同或;同或运算即两个相同为真,反之为假比较运算符——==:等于!=:不等于<:小于<=:小于等于>:大于>=:大于等于赋值运算符——(从右至左)=:赋值+=、-=、*=、/=、%=&=:^=|=
阅读全文
摘要:打开vc6,菜单tools-options-directories.增加以下路径executable files 你的platform安装路径\bin 你的platform安装路径\bin\winntinclude file 你的platform安装路径\includelibrary files 你的platform安装路径\libsource files 可添加也可不添加原文:http://hi.baidu.com/reddragon1314/blog/item/c6782188f0090504c8fc7af8.html
阅读全文
摘要:先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();返回1表示选上
阅读全文
摘要:最近老是看到GetSafeHwnd,MSDN了一下。稍微理解一下。CWnd::GetSafeHwnd(这是CWnd的一个成员函数)HWND GetSafeHwnd()const;(这是个const 函数)Return ValueReturns the window handle for a window. Returns NULL if the CWnd is not attached to a window or if it is used with a NULL CWnd pointer.(调用它返回窗口的句柄,如果CWnd没有与任何窗口联系或者用于一直空的CWnd指针,它返回NULL)转
阅读全文
摘要://如果是Delphi 添加一个控件就搞定了,C++还要敲这么多代码,效率真的低啊。本来以为自己对MFC有所了解的,最近再写程序的时候才发现,原来我对MFC一窍不通,记录一下吧:第一步、先件两个字符串资源:IDS_STATESTRING1,IDS_STATESTRING2,分别用来显示提示信息和版权信息!第二步、创建一个数组,分别将上面的两个字符串资源ID写到里面:static UINT indicators[]={IDS_STATESTRING1,IDS_STATESTRING2};第三步、再MFC的对话框类中添加成员变量:CStatusBar m_wndStatusBar;第四步、由于创建
阅读全文
摘要:原文链接:http://thatax.blog.163.com/blog/static/20892680200882391827116/http://blog.sina.com.cn/s/blog_71a6ea1b0100uk0p.html//C++还真是复杂啊 -_-# 各式各样的符号互相嵌套,肉眼已经很难阅读了,新手要了解到灵活运用真不简单!!##(两个井号)和#(一个井号)都是什么意思连接符 ##(两个井号)不知道什么符 #(一个井号)## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的
阅读全文