private NativeMethods.REBARBANDINFO CreateBandInfo(int index)
{
CommandBar commandBar = this.commandBars[index];
NativeMethods.REBARBANDINFO rbbi = new NativeMethods.REBARBANDINFO();
rbbi.cbSize = Marshal.SizeOf(typeof(NativeMethods.REBARBANDINFO));
rbbi.fMask = 0;
rbbi.clrFore = 0;
rbbi.clrBack = 0;
rbbi.iImage = 0;
rbbi.hbmBack = IntPtr.Zero;
rbbi.lParam = 0;
rbbi.cxHeader = 0;
rbbi.fMask |= NativeMethods.RBBIM_ID;
rbbi.wID = 0xEB00 + index;
if ((commandBar.Text != null) && (commandBar.Text.Length != 0))
{
rbbi.fMask |= NativeMethods.RBBIM_TEXT;
rbbi.lpText = Marshal.StringToHGlobalUni(commandBar.Text);
rbbi.cch = (commandBar.Text == null) ? 0 : commandBar.Text.Length;
}
rbbi.fMask |= NativeMethods.RBBIM_STYLE;
rbbi.fStyle = NativeMethods.RBBS_CHILDEDGE | NativeMethods.RBBS_FIXEDBMP | NativeMethods.RBBS_GRIPPERALWAYS;
rbbi.fStyle |= NativeMethods.RBBS_BREAK;
rbbi.fStyle |= NativeMethods.RBBS_USECHEVRON;
rbbi.fMask |= NativeMethods.RBBIM_CHILD;
rbbi.hwndChild = commandBar.Handle;
rbbi.fMask |= NativeMethods.RBBIM_CHILDSIZE;
rbbi.cyMinChild = commandBar.Height;
rbbi.cxMinChild = 0;
rbbi.cyChild = 0;
rbbi.cyMaxChild = commandBar.Height;
rbbi.cyIntegral = commandBar.Height;
rbbi.fMask |= NativeMethods.RBBIM_SIZE;
rbbi.cx = commandBar.Width;
rbbi.fMask |= NativeMethods.RBBIM_IDEALSIZE;
rbbi.cxIdeal = commandBar.Width;
return rbbi;
}