龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

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

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
配置单独带区 翻译: tellmenow 进行到这里时,命令带控件已经创建,单独单区已经加到控件中了。接下来我们有更多的任务要做,就是去配置每个带区中单独的命令条控件。(实际上,配

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


  
精彩图集

赞助商链接