当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 第6章 演练CToolBar6.1 工具条控制的主要功能 所谓工具条就是具有位图和分隔符组成的一组命令按钮,位图按钮部分可以是下推按钮、检查盒按钮、无线按钮等。
 

 

    摘要: 我们现在再来看看afxdeferregisterclass是什么样子的: #define afxdeferregisterclass(fclass) \ ((afxregisteredclasses & fclass) ? true:afxenddeferregisterclass(fclass) #define afxregisteredclasses afxgetmodulestat......
 ·c++之路    »显示摘要«
    摘要: 这篇文章本来是我从comp.lang.c++上面看到的东西,当时看完之后也没有想把它翻译过来,但是最近我要在我们学校上的一个校刊写一点东西,就想想把它翻译了算了,初次动笔翻译别人的文章,出错之处,敬请包涵。 matthewlanguages need reasons to be (commercially) successful.there are lots of languages and ......


演练VC中的COMMON一族(转贴)之二
第6章 演练ctoolbar

    所谓工具条就是具有位图与分隔符组成的一组命令按钮,位图按钮部分可以是下推按钮.检查盒按钮.无线按钮等.工具条对象类派生于主窗口架框类cframewnd或cmdiframewnd,其类控制ctoolbar::gettoolbarctrl是mfc类库中封装的一个成员函数,允许使用类库中提供的一般控制与附加功能,ctoolbar类控制成员控制提供了windows一般控制的所有功能,然而,通过调用 gettoolbarctrl成员函数取得引用后,可以使工具条具有更强的特性. 【程序编程相关:微软.NET 常见问题解答(1)

6.1 工具条控制的主要功能 【推荐阅读:『VC++技术内幕』学习笔记(7)

    另外,还可以通过直接加载位图的方法来建立,步骤如下:首先建立工具条对象;然后通过调用建立函数建立工具条并绑定对象;其次调入包含按钮的位图;最后利用setbuttons 函数设置按钮的风格并与位图建立联系. 【扩展信息:VC++学习:用SDK实现分隔条

    工具条的创建具有四个步聚:首先是建立工具条资源;然后建立工具条对象结构;其次通过调用建立函数建立工具条对象并绑定;最后调用loadtoolbar调入工具条资源.

    其中,所有按钮位图均存放在一个位图文件中,按钮位图的大小相同,默认为16点宽.15点高,位图必须从左至右存放.设置按钮函数具有指向一组控制标识符id的指针与索引值,用来确定每个按钮的位置,如果存在分隔符id_separator, 那么该图像就不存在索引值.正常情况下工具条中的按钮都是单排从左至右排列的,可以通过setbuttoninfo函数改变排序规则. 工具条中最终形成的按钮大小相同,均为24 x 22 象素,每个按钮只对象一幅图像.工具条中的按钮默认为下推按钮,通过设置tbbs_checkbox风格可以实现检查盒按钮,通过调用setradio成员函数可以实现无线按钮.

6.2 工具条控制的对象结构

6.2.1 工具条的对象结构

6.2.1.1 工具条的建立方法

    ctoolbar &toolbar  建立工具条对象结构

    create              建立工具条对象并绑定

    工具条类ctoolbar::create 的调用格式如下:

    bool create( cwnd* pparentwnd, dword dwstyle = ws_child | ws_visible | cbrs_top,

    uint nid = afx_idw_toolbar );

    其中参数pparentwnd用来确定指向工具条父窗口的指针;参数dwstyle用来确定工具条的风格,其取值如下;参数nid用来确定工具条子窗口的标识符.

    cbrs_top          表示工具条在框架窗口的顶部

    cbrs_bottom       表示工具条在框架窗口的底部

    cbrs_noalign      表示工具条在父窗口改变大小时不响应

    cbrs_tooltips     表示工具条具有动态提示功能

    cbrs_size_dynamic 表示工具条是静态的不能改变

    cbrs_size_fixed   表示工具条是动态的可以改变

    cbrs_floating     表示工具条是浮动的

    cbrs_flyby        表示状态条上显示工具条中按钮的信息

    cbrs_hide_inplace 表示工具条隐藏

    除以上函数外,还包括设置按钮与位图的大小setsizes.设置工具条的高度setheight.调入工具条资源loadtoolbar.调入工具条按钮位图loadbitmap.设置工具条按钮位图setbitmap.设置工具条中位图按钮的风格与索引值setbuttons等控制函数.

6.2.1.2 工具条的类属性

  工具条控制类的属性包括取得标识符id对象按钮索引commandtoindex.取得索引对应的命令标识符id或分隔符getitemid.取得索引对应的矩形区域getitemrect.取得按钮风格    getbuttonstyle.设置按钮风格setbuttonstyle.取得按钮的id标识-风格-图象数getbuttoninfo.设置按钮id标识-风格-图象数setbuttoninfo.取得按钮提示文本getbuttontext.设置按钮提示文本setbuttontext与取得工具条直接存取控制gettoolbarctrl等.

6.2.2 工具条控制的对象结构

6.2.2.1 工具条控制的建立方法

    ctoolbarctrl &toolbarctrl  建立工具条控制对象结构

    create                     建立工具条控制对象并绑定

    工具条控制类ctoolbarctrl::create的调用格式如下:

    bool create( dword dwstyle, const rect& rect, cwnd* pparentwnd, uint nid );

    其中参数dwstyle用来确定工具条控制的风格,必须存在ws_child风格;参数rect用来确定工具条控制的大小与位置;参数pparentwnd用来确定工具条控制的父窗口指针,不能为null;参数nid用来确定工具条控制的标识符.
...   下一页
 ·dll中调用约定和名称修饰(一)    »显示摘要«
    摘要: 调用约定(calling convention)是指在java/j2me/code/ target=_blank>程序设计语言中为了实现函数调用而建立的一种协议。这种协议规定了该语言的函数中的参数传送方式、参数是否可变和由谁来处理堆栈等问题。不同的语言定义了不同的调用约定。 在c++中,为了允许操作符重载和函数重载,c++编译器往往按照某种规则改写每一个入口点的符号名,以便允许同一个名字(具有不......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE