[pochy-user] Re: スキン機能

Back to archive index

isr(nya_mo_nya) nya_mo_nya****@ybb*****
2003年 10月 24日 (金) 22:04:54 JST


こんにちは、isrです。

 > > あ、ついでにもう一つ我が儘を言わせて頂くならば、スキンでツールバーを設
定したとき、
> > ツールバーのボタンがアクティブになったときに、アイコンを変えれたらいいか
な、と。
> > 現行でWindowsの標準ツールバーみたいな(ていうかまんま?)挙動をしてるん
で、それが
> > 出来たらハデで面白そうだなァと思うんです。
>
> あれって、どうやってやるんでしょう。
> ご存知の方、お教えください。

マウスがボタンに乗っかったときに絵が変わればいいのですよね?
↓こんなんですかね?
BOOL CMainFrame::CreateToolbar()
{
・・・省略
 img.Attach(ImageList_LoadImage(hInst, lpBitmap, nIconWidth, 0,
/*CLR_NONE*/RGB(255, 255, 255), IMAGE_BITMAP, uFlags));
 m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
 img.Detach();

//--------------------- ここから追加
 CBitmap cBtmp ;
 cBtmp.LoadBitmap(IDR_MAINFRAME_ACT) ; // BITMAPリソースは用意してね
 // ↓CImageListのメンバ変数を用意してください
 VERIFY( m_imgToolAct.Create(WIDTH_ICON_MAIN, HEIGHT_ICON_MAIN,
ILC_COLOR24|ILC_MASK, 1, 1) );
 m_imgToolAct.Add(&cBtmp, RGB(255, 255, 255));
 // ↓アクティブ時のボタン絵を登録
 m_wndToolBar.GetToolBarCtrl().SetHotImageList(&m_imgToolAct);

 CBitmap cBtmp2 ;
 cBtmp2.LoadBitmap(IDR_MAINFRAME_DIS) ; // BITMAPリソースは用意してね
 // ↓CImageListのメンバ変数を用意してください
 VERIFY( m_imgToolDis.Create(WIDTH_ICON_MAIN, HEIGHT_ICON_MAIN,
ILC_COLOR24|ILC_MASK, 1, 1) );
 m_imgToolDis.Add(&cBtmp2, RGB(255, 255, 255));
 // ↓無効時のボタン絵を登録
 m_wndToolBar.GetToolBarCtrl().SetDisabledImageList(&m_imgToolDis);
//----------------------- ここまで

多分、スキンの読み込みに対して修正が必要でしょうが、
とっかかりということで確認などお願いします。

ではでは。
(見当違いのこと書いてそうで怖い・・・
 さらにとっくに解決もしてそうだし^^;;;)
isr****@users*****




pochy-user メーリングリストの案内
Back to archive index