MFC程序员的WTL指南(6)高级对话框用户界面类
2006-07-22 22:03:25 来源:WEB开发网核心提示: 因为CBitmapButton是一个非常有用的类,我想介绍一下它的公有方法,MFC程序员的WTL指南(6)高级对话框用户界面类(6),CBitmapButton methodsCBitmapButtonImpl类包含了实现一个按钮的所有代码,除非你想重载某个方法或消息处理,dwMask参数
因为CBitmapButton是一个非常有用的类,我想介绍一下它的公有方法。
CBitmapButton methodsCBitmapButtonImpl类包含了实现一个按钮的所有代码,除非你想重载某个方法或消息处理,你可以对控件直接使用CBitmapButton类。
CBitmapButtonImpl constructorCBitmapButtonImpl(DWORD dwExtendedStyle = BMPBTN_AUTOSIZE,HIMAGELIST hImageList = NULL)
构造函数可以指定按钮的扩展样式(这与窗口的样式不冲突)和图像列表,通常使用默认参数就足够了,因为可以使用其他的方法设定这些属性。
SubclassWindow()BOOL SubclassWindow(HWND hWnd)
SubclassWindow()是个重载函数,主要完成控件的子类化和初始化控件类保有的内部数据。
Bitmap button extended stylesDWORD GetBitmapButtonExtendedStyle()
DWORD SetBitmapButtonExtendedStyle(DWORD dwExtendedStyle, DWORD dwMask = 0)
CBitmapButton支持一些扩展样式,这些扩展样式会对按钮的外观和操作方式产生影响:
BMPBTN_HOVER 使用hot-tracking,当鼠标移到按钮上时按钮被画成焦点状态。 BMPBTN_AUTO3D_SINGLE, BMPBTN_AUTO3D_DOUBLE 在按钮图像周围自动产生一个三维边框,当按钮拥有焦点时会显示一个表示焦点的虚线矩形框。另外如果你没有指定按钮按下状态的图像,将会自动生成一个。BMPBTN_AUTO3D_DOUBLE样式生成的边框稍微粗一些,其他特征和BMPBTN_AUTO3D_SINGLE一样。 BMPBTN_AUTOSIZE 按钮调整自己的大小以适应图像大小,这是默认样式。 BMPBTN_SHAREIMAGELISTS 如果指定这个样式,按钮不负责销毁按钮使用的image list,如果不使用这个样式,CBitmapButton的析构函数会销毁按钮使用的image list。 BMPBTN_AUTOFIRE 如果设置这个样式,在按钮上按住鼠标左键不放将会产生连续的WM_COMMAND消息。调用SetBitmapButtonExtendedStyle()时,dwMask参数控制着那个样式将被改变,默认值是0,意味着用新样式完全替换旧的样式。
更多精彩
赞助商链接