服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

[翻译]-windows ce 程序设计 (3rd 版)--5.2 公共控件(七)

配置单独带区                                                                                                翻译:tellmenow

进行到这里时,命令带控件已经创建,单独单区已经加到控件中了。接下来我们有更多的任务要做,就是去配置每个带区中单独的命令条控件。(实际上,配置命令条控件比起前面讲述的命令条要略微复杂一些。)

可以使用下面的函数来获取带区中的命令条句柄:
hwnd commandbands_getcommandbar (hwnd hwndcmdbands, uint uband);
ubnad是包含该命令条的带区的基于0的索引。当命令带控件被初始化时调用该函数的话,索引值直接同带区加到控件的顺序相关联。然而,一旦用户有机会拖拽带区到一个新的顺序,那您的应用程序必须通过发送rb_idtoindex消息给命令带控件,以获取索引值,如下所示:
nindex = sendmessage (hwndcmdbands, rb_intoindex, id_band,0);

这个消息对管理带区是很重要的,因为许多函数和消息都需要使用带区索引来识别带区。问题在于索引值是不固定的,因为用户移动带区导致索引值变化。不要期望索引值是连贯的。作为一个规则,在没有用rb_idtoindex查询索引值之前,不要盲目使用索引值。

一旦您获得命令条窗口句柄,使用标准的命令条控件函数和消息,就可以很简单地把菜单或者按钮加到命令条中了。大部分情况下,在第一个命令条中只加入菜单,在第二个中只加入按钮,将其它控件加到第三个及后续命令条中。

下面的代码完成了前面提到的创建过程。首先初始化了头两个带区中的命令条控件。因为第三个带区有编辑控件,所以不需要初始化该带区。最后一行代码是调用commandbands_addadornments函数将关闭按钮加到控件中。
// add menu to first band.
hwndband = commandbands_getcommandbar (hwndcb, 0);
commandbar_insertmenubar (hwndband, hinst, id_menu, 0);
  
// add standard buttons to second band.
hwndband = commandbands_getcommandbar (hwndcb, 1);
commandbar_addbitmap (hwndband, hinst_commctrl, idb_std_small_color,  15, 0, 0);
commandbar_addbuttons (hwndband, dim(tbcbstdbtns), tbcbstdbtns);
  
// add exit button to command band.
commandbands_addadornments (hwndcb, hinst, 0, null);

扫描关注微信公众号