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

王朝system·作者佚名  2006-04-14
窄屏简体版  字體: |||超大  

配置单独带区 翻译: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);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航