Görsel öğe Yöneticisi
Görsel Yöneticisi tüm uygulama görünümünü denetleyen bir nesnedir. Uygulamanız için çizim kodu yere koyabilirsiniz tek bir sınıf olarak davranır. mfc kitaplık çeşitli görsel yöneticilerini içerir. Uygulamanız için özel bir görünüm oluşturmak istiyorsanız, görsel yöneticinize oluşturabilirsiniz. Farklı görsel yöneticileri etkinleştirildiğinde aşağıdaki görüntüleri aynı uygulama göster:
CMFCVisualManagerWindows visual Yöneticisi'nin kullandığı Uygulamam
CMFCVisualManagerVS2005 visual Yöneticisi'nin kullandığı Uygulamam
CMFCVisualManagerOfficeXP visual Yöneticisi'nin kullandığı Uygulamam
CMFCVisualManagerOffice2003 visual Yöneticisi'nin kullandığı Uygulamam
CMFCVisualManagerOffice2007 visual Yöneticisi'nin kullandığı Uygulamam
Varsayılan olarak, birkaç GUI öğelerini çizim kodunu visual manager saklar. Özel kullanıcı Arabirimi öğeleri sağlayan görsel Yöneticisi ilgili çizim yöntemleri geçersiz kılmak gerekir. Bu yöntemler listesi için bkz: CMFCVisualManager sınıfı. İle başlayan tüm yöntemler, özel bir görünüm kılabilirsiniz yöntemleri olan OnDraw.
Uygulamanız yalnızca biri olan CMFCVisualManager nesnesi. Görsel Yöneticisi uygulamanız için bir işaretçi elde etmek için statik işlev çağrısı CMFCVisualManager::GetInstance. Tüm görsel yöneticileri devralmıyor çünkü CMFCVisualManager, CMFCVisualManager::GetInstance yöntemi almak bir işaretçi uygun görsel Yöneticisi, özel görsel Yöneticisi bile.
Özel görsel Yöneticisi oluşturmak istiyorsanız, zaten görsel yöneticisinden türetilmesi gerekir. Gelen türetmek için varsayılan sınıfı CMFCVisualManager. Ancak, uygulamanız için istediğiniz daha iyi benzer, farklı görsel Yöneticisi'ni kullanabilirsiniz. Örneğin kullanmak isteseydiniz, CMFCVisualManagerOffice2007 visual manager, ancak istediği yalnızca ayırıcılar nasıl görüneceğini değiştirmek, kendi özel sınıfından türeyen CMFCVisualManagerOffice2007. Bu senaryoda yalnızca ayırıcılar çizim yöntemleri üzerine.
Uygulamanız için belirli bir görsel Yöneticisi kullanmak için iki olası yolları vardır. Tek yönlü çağırmaktır CMFCVisualManager::SetDefaultManager yöntemi ve geçişi parametre olarak uygun görsel Yöneticisi. Aşağıdaki kod örneği nasıl kullanacağınız gösterilir CMFCVisualManagerVS2005 bu yöntemi ile görsel Yöneticisi:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
Uygulamanızı visual manager kullanmak için diğer el ile oluşturmak için yoludur. Uygulama oluşturma için sonra bu yeni görsel Yöneticisi'ni kullanın. Ancak, olabileceğinden yalnızca bir CMFCVisualManager nesne uygulama yeni bir tane oluşturmadan önce geçerli visual manager silmek sahip. Aşağıdaki örnekte, CMyVisualManager türetilir özel bir görsel Yöneticisi CMFCVisualManager. Aşağıdaki yöntem, hangi görsel Yöneticisi uygulamanıza bağlı olarak bir dizini görüntülemek için kullanılan değiştirin:
void CMyApp::SetSkin (int index)
{
if (CMFCVisualManager::GetInstance() != NULL)
{
delete CMFCVisualManager::GetInstance();
}
switch (index)
{
case DEFAULT_STYLE:
// The following statement creates a new CMFCVisualManager
CMFCVisualManager::GetInstance();
break;
case CUSTOM_STYLE:
new CMyVisualManager;
break;
default:
CMFCVisualManager::GetInstance();
break;
}
CMFCVisualManager::GetInstance()->RedrawAll();
}