VC编程技巧点滴

1.CListBox数据的清空:  pList->ResetContent();

2.在vc中的ActiveX Controls中的Microsoft Form2.0 Label,可以弥补标准Label不能改变字体的不足。它能设定字体的颜色,尺寸,对齐方式,还可以加载图片,使用起来非常方便。

3.VC6.0中提供的标准的打开文件对话框,可以设定要打开文件的扩展名,也可以同时设定几个,并且在使用是通过索引分别调用。举例如下:

CString str = "样板误差数据文件(*.DMas)|*.DMas|圆柱齿轮误差数据文件(*.DCly)|*.DCly|花键误差数据文件(*.DSpl)|*.DSpl|滚刀误差数据文件(*.DHob)|*.DHob|插齿刀误差数据文件(*.DShp)|*.DShp|剃齿刀误差数据文(*.DSha)|*.DSha||";

使用时

CFileDialog FileDlg(true, _T("txt"),NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,fileFiter);  //注意:此结构中的nFilterIndex是从1开始的,而不是从0开始  FileDlg.m_ofn.nFilterIndex = 1;   4.SetProp函数的使用详解

 

函数功能:该函数在指定窗口的属性表中增加一个新项,或者修改一个现有项。如果指定的字符串不在属性表中,那么就增加该新的项,新项中包含该字符串和句柄,否则就用指定的句柄替换该字符串的全前句柄。

    函数原型:BOOL SetProp(HWND hWnd,LPCTSTR lpString,HANDLE hData);

    参数:

    hWnd:指向窗口的句柄,该窗口的属性表要接收一个新项。

    lpString:指向以null结尾的字符串指针,或者包含一个标识字符串的原子。如果该参数是一个原子,么它必须是以前使用GlobalAddAtom函数创建的。原子是16位的数据值,它必须是放置在lpstring参数低位字中,而高位字必须为O。

    hData:指向要拷贝到属性表中的数据的句柄。该数据句柄可以标识任何对应用程序有用的值。

    返回值:如果该数据句柄和字符串以加到属性表中,那么返回值为非零。如果该函数失败,那么返回为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:在清除窗口之前(也就足在处理WM_DESTROY消息之前),应用程序必须把它加到属性表的所项清除。应用程序必须使用RemoveProp函数来清除这些项。

5.GetProp使用详解

 

函数功能:该函数从给定窗口的属性列表中检索数据句柄。给定的字符串标识了要检索的句柄。该字符串和句柄必须在前一次调用SetProp函数时已经加到属性表中。

    函数原型:HANDLE GetProp(HWND hWnd,LPCTSTR lpString);

    参数:

    hWnd:指向要搜索属性表的窗口。

    LpString:指向以null结尾的字符串指针,或者包含一个标识字符串的原子。如果该参数是一个原子,那么它必须是使用GlobalAddAtom函数创建的。原子是16位的数据值,它必须是放置在lpstring参数的低位率中,而高位字必须为O。

    返回值:如果属性表中包含了给定的字符串,那么返回值为相关的数据句柄。否则,返回值为NULL。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持:头文件:winuser.h;库文件:user32。lib;Unicode:在Windows NT环境中以Unicode和ANSI版本实现。

6.EnumWindows使用详解

 

函数功能:该函数枚举所有屏幕上的顶层窗口,办法是先将句柄传给每一个窗口,然后再传送给应用程序定义的回调函数。EnumThreadWindows函数继续到所有顶层窗口枚举完为止或回调函数返回FALSE为止函数原型:

BOOL EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam);

    参数:

    lpEnumFunc:指向一个应用程序定义的回调数指针,请参看EnumWindowsProc。

    lPararm:指定一个传递给回调函数的应用程序定义值。

    返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

    备注:EnumWindows函数不列举子窗口。

    在循环体中调用这个函数比调用GetWindow函数更可靠。调用GetWindow函数中执行这个任务的应用程序可能会陷入死循环或指向一个已被销毁的窗口的句柄。

    速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。

自定义控件的初始化

我们在开发自定义控件时,往往从现有的类派生,如:

Class CLed :public CStatic

{

};

但我们要将它显示在桌面上,需要手动的编程,控制它的显示位置和大小,其实有一个简单的方法,即在对话框上,添加一个CStatic 的控件,将其的大小和位置调整到合适的位置,然后用ClassWizaed生成此控件的对象,再在类的头文件中把对象的类型,改为我们自定义的类型。如:

原为:CStatic m_Static1;

改为:CLed m_Static1;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值