Seri Hale Getirme Yöneticisi
Görsel yöneticisi, uygulamanın tamamının görünümünü denetleen bir nesnedir. Uygulamanız için tüm çizim kodunu yerleştirebileceğiniz tek bir sınıf işlevi görür. MFC Kitaplığı birkaç görsel yönetici içerir. Uygulamanız için özel bir görünüm oluşturmak istiyorsanız kendi görsel yöneticinizi de oluşturabilirsiniz. Aşağıdaki görüntüler, farklı görsel yöneticileri etkinleştirildiğinde aynı uygulamayı gösterir:
CMFCVisualManagerWindows görsel yöneticisini kullanan MyApp
CMFCVisualManagerVS2005 görsel yöneticisini kullanan MyApp
CMFCVisualManagerOfficeXP görsel yöneticisini kullanan MyApp
CMFCVisualManagerOffice2003 görsel yöneticisini kullanan MyApp
CMFCVisualManagerOffice2007 görsel yöneticisini kullanan MyApp
Varsayılan olarak, görsel yöneticisi çeşitli GUI öğeleri için çizim kodunu korur. Özel kullanıcı arabirimi öğeleri sağlamak için görsel yöneticisinin ilgili çizim yöntemlerini geçersiz kılmanız gerekir. Bu yöntemlerin listesi için bkz . CMFCVisualManager Sınıfı. Özel bir görünüm sağlamak için geçersiz kılabileceğiniz yöntemlerin tümü ile OnDraw
başlayan yöntemlerdir.
Uygulamanızın tek bir CMFCVisualManager
nesnesi olabilir. Uygulamanızın görsel yöneticisine bir işaretçi almak için CMFCVisualManager::GetInstance statik işlevini çağırın. Tüm görsel yöneticileri öğesinden CMFCVisualManager
CMFCVisualManager::GetInstance
devraldığından, özel bir görsel yöneticisi oluştursanız bile yöntemi uygun görsel yöneticisine bir işaretçi alır.
Özel bir görsel yöneticisi oluşturmak istiyorsanız, bunu zaten var olan bir görsel yöneticisinden türetmelisiniz. Türetilen varsayılan sınıf: CMFCVisualManager
. Ancak, uygulamanız için istediğinize daha iyi benziyorsa farklı bir görsel yönetici kullanabilirsiniz. Örneğin, görsel yöneticisini CMFCVisualManagerOffice2007
kullanmak, ancak yalnızca ayırıcıların görünümünü değiştirmek istiyorsanız, özel sınıfınızı öğesinden CMFCVisualManagerOffice2007
türetebilirsiniz. Bu senaryoda, yalnızca çizim ayırıcılarının yöntemlerinin üzerine yazmanız gerekir.
Uygulamanız için belirli bir görsel yöneticisini kullanmanın iki olası yolu vardır. Bunun bir yolu CMFCVisualManager::SetDefaultManager yöntemini çağırmak ve uygun görsel yöneticisini parametre olarak geçirmektir. Aşağıdaki kod örneği, görsel yöneticisini CMFCVisualManagerVS2005
bu yöntemle nasıl kullanacağınızı gösterir:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
Uygulamanızda görsel yöneticisi kullanmanın diğer yolu, bunu el ile oluşturmaktır. Uygulama daha sonra tüm işleme için bu yeni görsel yöneticisini kullanır. Ancak, uygulama başına yalnızca bir CMFCVisualManager
nesne olabileceğinden, yeni bir tane oluşturmadan önce geçerli görsel yöneticisini silmeniz gerekir. Aşağıdaki örnekte, CMyVisualManager
dosyasından CMFCVisualManager
türetilen özel bir görsel yöneticisidir. Aşağıdaki yöntem, bir dizine bağlı olarak uygulamanızı görüntülemek için hangi görsel yöneticisinin kullanıldığını değiştirir:
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();
}