通俗基础教程
电脑操作教程
电脑怎样拨号上网
如何做个人网页
怎样做局域网
Word教程(文字处理)
图形图象处理入门
经典提高教程
怎样使用代理服务器
如何做无盘工作站
Photoshop教程
Dreamweaver3教程
Flash4&5教程
Firework3教程
Frontpage2000教程
Authware教程
Office2000教程
如何制作动画图片
OICQ&ICQ使用方法

高手学习指南

硬件升级技巧
CGI教程
ASP教程

PHP教程

注册表使用技巧
路由器的设置
网站建设指南
SQL
最近更新:
Flash
相关内容

Visual C++编程技巧之五

33、如何获取一个对话控件的指针

34、如何禁止和使能控件

35、如何改变控件的字体

36、如何在OLE控件中使用OLE_COLOR数据类型

37、在不使用通用文件打开对话的情况下如何显示一个文件列表

38、为什么旋转按钮控件看起来倒转

39 为什么旋转按钮控件不能自动地更新它下面的编辑控

40、如何用位图显示下压按钮

 

33、如何获取一个对话控件的指针

有两种方法。其一,调用CWnd: : GetDlgItem,获取一个CWnd*指针调用成员函数。下例调用GetDlgItem,将返回值传给一个CSpinButtonCtrl*以便调用CSpinButtonCtrl : : SetPos 函数:

BOOL CSampleDialog : : OnInitDialog ( )

{

CDialog : : OnInitDialog ( ) ;

//Get pointer to spin button .

CSpinButtonCtrl * pSpin - ( CSpinButtonCtrl *) GetDlgItem (IDC_SPIN) ;

ASSERT _ VALID (pSpin) ;

//Set spin button's default position .

pSpin —> SetPos (10) ;

return TRUE ;

}

其二, 可以使用ClassWizard将控件和成员变量联系起来。在ClassWizard中简单地选择Member Variables标签,然后选择Add Variable …按钮。如果在对话资源编辑器中,按下Ctrl键并双击控件即可转到Add Member Variable对话。

34、如何禁止和使能控件

控件也是窗口,所以可以调用CWnd : : EnableWindow使能和禁止控件。

//Disable button controls .

m_wndOK.EnableWindow (FALSE ) ;

m_wndApply.EnableWindow (FALSE ) ;

35、如何改变控件的字体

由于控件是也是窗口,用户可以调用CWnd: : SetFont指定新字体。该函数用一个Cfont指针,要保证在控件撤消之前不能撤消字体对象。下例将下压按钮的字体改为8点Arial字体:

//Declare font object in class declaration (.H file ).

private :

Cfont m_font ;

// Set font in class implementation (.Cpp file ). Note m_wndButton is a

//member variable added by ClassWizard.DDX routines hook the member

//variable to a dialog button contrlo.

BOOL CSampleDialog : : OnInitDialog ( )

{

//Create an 8-point Arial font

m_font . CreateFont (MulDiv (8 , -pDC—> GetDeviceCaps (LOGPIXELSY) , 72).

0 , 0 , 0 , FW_NORMAL , 0 , 0, 0, ANSI_CHARSER, OUT_STROKE_PRECIS ,

CLIP_STROKE _PRECIS , DRAFT _QUALITY

VARIABLE_PITCH |FF_SWISS, _T ("Arial") );

//Set font for push button .

m_wndButton . SetFont (&m _font );

}

36、如何在OLE控件中使用OLE_COLOR数据类型

诸如COleControl : : GetFortColor和COleControl : : GetBackColor等函数返回OLE _COLOR数据类型的颜色,而GDI对象诸如笔和刷子使用的是COLORREF数据类型,调用COleControl : : TranslateColor可以很容易地将OLE_COLOR类型改为COLORREF类型。下例创建了一个当前背景颜色的刷子:

void CSampleControl : : OnDraw (CDC* pdc

const Crect& rcBounds , const Crect& rcInvalid )

{

//Create a brush of the cuttent background color .

CBrush brushBack (TranslateColor (GetBackColor ( ) ) );

//Paint the background using the current background color .

pdc—> FilllRect (rcBounds , &brushBack) ;

//other drawign commands

}

37、在不使用通用文件打开对话的情况下如何显示一个文件列表

调用CWnd: : DlgDirList或者CWnd: : DlgDirListComboBox, Windows 将自动地向列表框或组合框填充可用的驱动器名或者指定目录中的文件,下例将Windows目录中的文件填充在组合框中:

BOOL CSampleDig : : OnInitDialog ( )

{

CDialog : : OnInitDialog ( )

TCHAR szPath [MAX_PATH] = {"c:\\windows"} ;

int nReslt = DlgDirListComboBox (szPath , IDC_COMBO , IDC_CURIDIR,

DDL_READWRITE |DDL_READONLY|DDL_HIDDEN|

DDL_SYSTEM|DDL_ARCHIVE ) ;

return TRUE ;

}

38、为什么旋转按钮控件看起来倒转

需要调用CSpinCtrl : : SetRange 设置旋转按钮控件的范围,旋转按钮控件的缺省上限为0,缺省下限为100,这意味着增加时旋转按控件的值由100变为0。下例将旋转按钮控件的范围设置为0到100:

BOOL CAboutDlg : : OnInitDialog ( )

{

CDialog : : OnInitDialog ( )

//set the lower and upper limit of the spin button

m_wndSpin . SetRange ( 0 ,100 ) ;

return TRUE ;

}

Visual C++ 4.0 Print对话中的Copise旋转按钮控件也有同样的问题:按下Up按钮时拷贝的数目减少,而按下Down 按钮时拷贝的数目增加。

39为什么旋转按钮控件不能自动地更新它下面的编辑控件

如果使用旋转按钮的autu buddy特性, 则必须保证在对话的标记顺序中buddy窗口优先于旋转按钮控件。从Layout菜单中选择Tab Order菜单项(或者按下Crtl+D)可以设置对话的标签顺序。

40、如何用位图显示下压按钮

Windows 95按钮有几处新的创建风格,尤其是BS_BITMAP和BS_ICON,要想具有位图按钮,创建按钮和调用CButton : : SetBitmap或CButton : : SetIcon时要指定BS_BITMAP或BS_ICON风格。

首先,设置按钮的图标属性。

然后,当对话初始化时调用CButton: : SetIcon。注意:下例用图标代替位图,使用位图时要小心,因为不知道背景所有的颜色——并非每个人都使用浅灰色。

BOOL CSampleDlg : : OnInitDialog ( )

{

CDialog : : OnInitDialog ( ) ;

//set the images for the push buttons .

m_wndButton1.SetIcon (AfxGetApp ( ) —> LoadIcon (IDI _ IPTION1) )

m_wndButton2.SetIcon (AfxGetApp ( ) —> LoadIcon (IDI _ IPTION2) )

m_wndButton3.SetIcon (AfxGetApp ( ) —> LoadIcon (IDI _ IPTION3) )

return TRUE ;

}

用VB实现多文件查找与替换功能
用VB 5.0 设计Browser及FTP程序
用Visual Basic 5.0设计E-mail程序
谈谈WIN API在VB中的应用
在VB中使用Word的“艺术字”工具
获取Win95特殊目录准确路径
VC技巧一
VC19问
VC技巧5则
Visual C++编程技巧之一
Visual C++编程技巧之2
Visual C++编程技巧之3
Visual C++编程技巧之四
Visual C++编程技巧之五
 
 
 
 
 
 
 
 
 
 
 
 
收集整理



月光软件源码下载编程文档电脑教程网站优化网址导航网络文学游戏天地生活休闲写作范文安妮宝贝站内搜索
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有