Bir Araç Çubuğu Denetiminde Görüntü Listeleri Kullanma
Varsayılan olarak, bir araç çubuğu denetimindeki düğmeler tarafından kullanılan görüntüler tek bir bit eşlem olarak depolanır. Ancak, düğme görüntülerini bir dizi resim listesinde de depolayabilirsiniz. Araç çubuğu denetim nesnesi en fazla üç ayrı görüntü listesi kullanabilir:
Etkin resim listesi Şu anda etkin olan araç çubuğu düğmeleri için görüntüler içerir.
Devre dışı resim listesi Şu anda devre dışı bırakılmış araç çubuğu düğmeleri için görüntüler içerir.
Vurgulanan resim listesi Şu anda vurgulanmış olan araç çubuğu düğmeleri için resimler içerir. Bu resim listesi yalnızca araç çubuğu TBSTYLE_FLAT stilini kullandığında kullanılır.
Bu görüntü listeleri, araç çubuğu denetimi tarafından nesneyle CToolBarCtrl
ilişkilendirildiğinde kullanılır. Bu ilişkilendirme CToolBarCtrl::SetImageList, SetDisabledImageList ve SetHotImageList çağrıları yapılarak gerçekleştirilir.
Varsayılan olarak MFC, MFC uygulama araç çubuklarını uygulamak için sınıfını kullanır CToolBar
. Ancak, GetToolBarCtrl
üye işlevi katıştırılmış CToolBarCtrl
nesneyi almak için kullanılabilir. Daha sonra döndürülen nesneyi kullanarak üye işlevlerine CToolBarCtrl
çağrı yapabilirsiniz.
Aşağıdaki örnek, bir nesneyem_ToolBarCtrl
() etkin (m_ToolBarImages
) ve devre dışı (m_ToolBarDisabledImages
) görüntü listesi CToolBarCtrl
atayarak bu tekniği gösterir.
CWinApp* pApp = AfxGetApp();
m_ToolBarImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarImages.Add(pApp->LoadIcon(IDI_BLK));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_RED));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_YELL));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_WHI));
m_ToolBarDisabledImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_BLK));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_RED));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_YELL));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_WHI));
m_ToolBarCtrl.SetImageList(&m_ToolBarImages);
m_ToolBarCtrl.SetDisabledImageList(&m_ToolBarDisabledImages);
Dekont
Araç çubuğu nesnesi tarafından kullanılan resim listeleri kalıcı nesneler olmalıdır. Bu nedenle, genellikle bir MFC sınıfının veri üyeleridir; bu örnekte, ana çerçeve penceresi sınıfı.
Görüntü listeleri nesneyle CToolBarCtrl
ilişkilendirildikten sonra çerçeve otomatik olarak uygun düğme görüntüsünü görüntüler.