摘要: Windows类型 样本变量 MFC类 样本变量 HWND hWnd; CWnd* pWnd; HDLG hDlg; CDialog* pDlg; HDC hDC; CDC* pDC; HGDIOBJ hGdiObj; CGdiObject* pGdiObj; HPEN hPen; CPen* pPen; HBRUSH hBrush; CBrush* pBrush; HFONT hFont; CF...阅读全文
专心研究dotnet技术.net啊.net什么叫.net呢? |
公告 |
06 2006 档案摘要: Windows类型 样本变量 MFC类 样本变量 HWND hWnd; CWnd* pWnd; HDLG hDlg; CDialog* pDlg; HDC hDC; CDC* pDC; HGDIOBJ hGdiObj; CGdiObject* pGdiObj; HPEN hPen; CPen* pPen; HBRUSH hBrush; CBrush* pBrush; HFONT hFont; CF...阅读全文
摘要: 首先我会罗列出一些获取句柄的win32 api 函数,然后简单说说他们的用途!最后说说我是怎么理解和应用的。见笑了!
可用的win32 api函数: 1.HWND FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName) HWND FindWindowEx(HWND hwndParent, HWND hwndChildAfter,LPCTSTR lpClassName, LPCTSTR lpWindowName) 2.HWND WindowFromPoint(POINT& Point) 3.BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam) BOOL CALLBACK EnumChildWindows(HWND hWndParent, WNDENUMPROC lpEnumFunc,LPARAM lParam) BOOL CALLBACK 阅读全文 摘要: 看了很多人写的程序,包括我自己写的一些代码,发现很大的一部分bug是关于MFC类中的CString的错误用法的.出现这种错误的原因主要是对CString的实现机制不是太了解。
CString是对于原来标准c中字符串类型的一种的包装。因为,通过很长时间的编程,我们发现,很多程序的bug多和字符串有关,典型的有:缓冲溢出、内存泄漏等。而且这些bug都是致命的,会造成系统的瘫痪。因此c++里就专门的做了一个类用来维护字符串指针。标准c++里的字符串类是string,在microsoft MFC类库中使用的是CString类。通过字符串类,可以大大的避免c中的关于字符串指针的那些问题。 阅读全文 摘要: (1)所有数据都应该隐藏在所在的类的内部。p13 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。p15 (3)尽量减少类的协议中的消息。p16 (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。 p16 (5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。p17 如果类的两个方法有一段公...阅读全文
摘要: 解析C语言中的sizeof
一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于数据类型 sizeof使用形式:sizeof(type) 数据类型必须用括号括住。如sizeof(int)。 阅读全文 摘要: AND_CATCHAND_CATCH AND_CATCH(exception_class,exception _object_point_name) 说明:定义一个代码块,它用于获取废除当前TRY块中的附加异常类型。使用CATCH宏以获得一个异常类型,然后使用AND_CATCH宏获得随后的异常处理代码可以访问异常对象(若合适的话)已得到关于异常的特别原因的更多消息。在AND_CATCH块中调用TH...阅读全文
摘要: 1.创建一个表的映射
创建一个类,如CUserSet让它继承于CRecordset,创建完后VC让选择ODBC中的库,然后指定表我们选择user表,这样这个类基本上就和表user进行了映射.一定要在UserSet.h加入#include 2.新增一条记录 CUserSet userset;//创建一个类的对象 userset.Open(CRecordset::snapshot,"select * from user"); userset.AddNew(); userset.m_username = "月风"; //把你要新加的内容传给记录集类对应数据库的字段 userset.m_sex="男"; userset.Update(); userset.Close(); 2.修改一条记录 CUserSet userset;//创建一个类的对象 CString strSql; strSq阅读全文 摘要: 重复启动关闭MDI程序的子窗口就会出现一个异常,然后就中断到:
inline _variant_t::_variant_t(IDispatch* pSrc, bool fAddRef) throw() { V_VT(this) = VT_DISPATCH; V_DISPATCH(this) = pSrc; // Need the AddRef() as VariantClear() calls Release(), unless fAddRef // false indicates we're taking ownership // if (fAddRef) { V_DISPATCH(this)->AddRef(); 《--------这一行。 } } 并且fAddRef的value是1,开始还以为启动子FRMAE的时候哪地方没有释放或关闭,最后跟踪啊调试啊找问题啊,最后找到罪魁祸首的是我自己封装的数据库类,在构造函数中没有调用::CoInitialize(NUL阅读全文 摘要: //自己封装了一个插入List行的函数
int CMyListCtrl::insertRow(int nPos,int nNoOfCols,LPCTSTR pText,...) { va_list argList; va_start(argList, pText); int nCount,nIndex; nIndex = m_pList->InsertItem(nPos,pText); for(nCount=1;nCount m_pList->SetItemText(nIndex,nCount,p); } va_end(argList); return nIndex; } //初始化ListCtrl风格,表头的函数 void CMyListCtrl::initListCtrl(CWn阅读全文 摘要: CDialog的OnOK虚函数控制了OK按钮,它负责触发数据交换以及从对话框中退出,然而,Enter键碰巧也具有同样的效果。也许这是我们所需要的,也可能我们不需要这一功能,就是说不希望用户在编辑框中按Enter键后出现关闭程序的情况。怎么解决这一问题?
一、原因 当用户按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线矩形包围。如果所有按钮都没有获得输入焦点,Windows就会自动去寻找程序或资源所指定的默认按钮(默认按钮边框较粗)。如果对话框没有默认按钮,那么即使对话框中没有OK按钮,OnOK函数也会自动被调用。 二、解决办法 首先建立一个基于对话框的程序。 1.直接把要接受默认OnOK的按钮设置成Default。。这样按回车的时候将自动触发这按钮事件。 2.添加虚函数OnOK(),然后在里面进行自己的处理或调用验证函数等。阅读全文 摘要: AfxBeginThread:开始一个新的线程
AfxEndThread:结束一个旧的线程 AfxFormatString1:类似printf一般地将字符串格式化 AfxFormatString2:类似printf一般地将字符串格式化 AfxMessageBox:类似Windows API 函数 MessageBox AfxOuputDebugString:将字符串输往除错装置 AfxGetApp:获得application object (CwinApp派生对象)的指针 AfxGetMainWnd:获得程序主窗口的指针 AfxGetInstance:获得程序的instance handle MFC数据类型 下面这些是和Win32程序共同使用的数据类型 BOOL:布尔值,取值为TRUE or FALSE BSTR:32-bit 字符指针 BYTE:8-bit整数,未带正负号 COLORREF:32-bit数值,代表一个颜色值 DWORD:32-bit整数,未带正负号 阅读全文 摘要: 要实现定制按钮的功能,可以从MFC的CButton派生出你自己的一个子类阅读全文
摘要: 1.打开数据库
CDatabase database; database.OpenEx( _T( "DSN=zhuxue" ),CDatabase::noOdbcDialog);//zhuxue为数据源名称 2.关联记录集 CRecordset recset(&database); 3.查询记录 CString sSql1=""; sSql1 = "SELECT * FROM tablename" ; recset.Open(CRecordset::forwardOnly, sSql1, CRecordset::readOnly); int ti=0; CDBVariant var;//var可以转换为其他类型的值 while (!recset.IsEOF()) { //读取Excel内部数值 recset.GetFieldValue("id",var); 阅读全文 摘要: 基于 Windows Mobile 的设备(包括 Pocket PC 和 Smartphone)在全世界得到了广泛部署。是什么原因使这些具有高度可移动性的设备广受欢迎呢?这主要归功于它们迅速改进的硬件功能。这些设备现在提供了高质量的显示、照相机、更大的内存和不久以前还难以想像的强大通信功能。Windows Mobile 5.0 使开发人员能够轻松地利用这些强大的设备功能和其他更多的功能。
Windows Mobile 5.0 引入新一代平台应用程序编程接口 (API),这些接口公开了丰富的多媒体支持、丰富的二维和三维绘图功能、与照相机或全球定位系统 (GPS) 设备等设备硬件之间的轻松交互、与 Pocket Outlook 的简单交互和集成以及更为完善的通信功能。这些新的 API 不仅提供了更为出色的应用程序功能,而且还通过将这些功能的详细信息封装在平台中,从而使开发人员能够重点关注他们应用程序功能的特定需要,从而提高了开发人员的工作效率。 Windows Mobile 5.0 是第一个同时公开本机版本和托管版本平台 API 的平台,从而使开发人员可阅读全文 摘要: 现在急切需要VS2005,前几天跑到电脑城去买,结果发现卖的居然是VS2005的封面2003的内容。。真TMD啊。。VS2005都发布了这么久居然还未出现在盗版市场上。。盗版商都干嘛去了呢。。。郁闷啊。。阅读全文
摘要: 唉。。。飞热8热居然不开空调。。。不开也罢了。。。至少要拿几个风扇过来扇起三。。。唉。。。从上班到下班简直在洗桑拿哦。。。
阅读全文 摘要: 兴致勃勃的切下MonoDevelop for windows结果好象没有2进制安装版。只有source和rpm。。看来只有找个LINUX装来玩了。。。阅读全文
摘要: Miguel de Icaza,是Gnome、Ximian和Mono的创始人之一
专访Miguel de Icaza 在一次对他的专访中,他说:“一直以来我们使用C和C++太多了——它们很不错,但过于接近底层,我们想做的却是让普通用户也能创建Linux应用程序。在Windows上有许多工具可以解决具体问题,而在Linux上却得依靠自己去开发。所以,当Microsoft推出.NET,我们对它一见钟情,就启动了Mono。” Interview with Miguel de Icaza, co-founder of Gnome, Ximian and Mono 专访Gnome、Ximian和Mono的创始人之一, 阅读全文 摘要: 一家叫Ximian的公司在2001-07-09宣布了Mono project启动,这将是一个Microsoft .NET development platform的Linux版本,整个Mono project主要是C#的编译器、CLR和JIT,并承诺包括一整套类库。从而使得开发.NET 应用可以在Windows和Mono支持的系统(Linux,Unix)中运行,更重要的是Mono的目标是致力于建立不依赖操作系统的应用程序,同时这也被认为是开源软件的又一大光辉成就。在圣地亚哥的OReilly Open Source Convention中成为一个热点的话题和主题之一。
阅读全文 摘要: 多远跑回家为了看小贝的比赛。。结果。。太让人失望了。。。这样打也不比中国队好的到哪去啊。。唉。。一会3点钟起来看阿根廷的。阅读全文
|