int CJpRegressionChildFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){
if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
return -1;
・・・
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_REGRESSION))
{
TRACE0("Failed to create toolbar\n");
return -1; // 作成に失敗
}
//画面の色数を取得する
HDC ic = CreateIC("DISPLAY", NULL, NULL, NULL);
//16bitカラー以上なら256アイコンを利用する
if(GetDeviceCaps(ic, BITSPIXEL) > 8){
int nBtnCnt = 3;//ボタンの数
//ツールバーのイメージリストを初期化
CImageList* pImgList =m_wndToolBar.GetToolBarCtrl().GetImageList();
//イメージリストを破棄する。
pImgList->DeleteImageList();
//イメージリストを16bit(3,2000色)で生成する。
//256色のアイコンは16bit以上でないと色化けしてしまします。
pImgList->Create(16,15, ILC_COLOR16 | ILC_MASK,nBtnCnt,nBtnCnt);
//ビットマップを読み込む
CBitmap bmp;
bmp.LoadBitmap(IDB_TOOLBAR256);
//イメージリストに追加する。
//透過色を2番目の引数で設定している。
pImgList->Add(&bmp,RGB(192, 192, 192));
//256アイコンをToolBarに割り当てる
m_wndToolBar.GetToolBarCtrl().SetImageList(pImgList);
DeleteObject(bmp);
}
・・・
}
|