Bagikan melalui


Manajer Visualisasi

Manajer visual adalah objek yang mengontrol tampilan seluruh aplikasi. Ini bertindak sebagai satu kelas di mana Anda dapat menempatkan semua kode gambar untuk aplikasi Anda. Pustaka MFC mencakup beberapa manajer visual. Anda juga dapat membuat manajer visual Anda sendiri jika ingin membuat tampilan kustom untuk aplikasi Anda. Gambar berikut menunjukkan aplikasi yang sama ketika manajer visual yang berbeda diaktifkan:

MyApp seperti yang dirender oleh CMFCVisualManagerWindows.
MyApp yang menggunakan manajer visual CMFCVisualManagerWindows

MyApp seperti yang dirender oleh CMFCVisualManagerVS2005.
MyApp yang menggunakan manajer visual CMFCVisualManagerVS2005

MyApp seperti yang dirender oleh CMFCVisualManagerOfficeXP.
MyApp yang menggunakan manajer visual CMFCVisualManagerOfficeXP

MyApp seperti yang dirender oleh CMFCVisualManagerOffice2003.
MyApp yang menggunakan manajer visual CMFCVisualManagerOffice2003

MyApp seperti yang dirender oleh CMFCVisualManagerOffice2007.
MyApp yang menggunakan manajer visual CMFCVisualManagerOffice2007

Secara default, manajer visual mempertahankan kode gambar untuk beberapa elemen GUI. Untuk menyediakan elemen UI kustom, Anda perlu mengambil alih metode gambar terkait dari manajer visual. Untuk daftar metode ini, lihat Kelas CMFCVisualManager. Metode yang dapat Anda ambil alih untuk memberikan tampilan kustom adalah semua metode yang dimulai dengan OnDraw.

Aplikasi Anda hanya dapat memiliki satu CMFCVisualManager objek. Untuk mendapatkan penunjuk ke manajer visual untuk aplikasi Anda, panggil fungsi statis CMFCVisualManager::GetInstance. Karena semua manajer visual mewarisi dari CMFCVisualManager, metode CMFCVisualManager::GetInstance akan mendapatkan penunjuk ke manajer visual yang sesuai, bahkan jika Anda membuat manajer visual kustom.

Jika Anda ingin membuat manajer visual kustom, Anda harus mendapatkannya dari manajer visual yang sudah ada. Kelas default yang berasal dari adalah CMFCVisualManager. Namun, Anda dapat menggunakan manajer visual yang berbeda jika lebih mencerminkan apa yang Anda inginkan untuk aplikasi Anda. Misalnya, jika Anda ingin menggunakan CMFCVisualManagerOffice2007 manajer visual, tetapi hanya ingin mengubah tampilan pemisah, Anda dapat memperoleh kelas kustom Anda dari CMFCVisualManagerOffice2007. Dalam skenario ini, Anda hanya perlu menimpa metode untuk menggambar pemisah.

Ada dua cara yang mungkin untuk menggunakan manajer visual tertentu untuk aplikasi Anda. Salah satu caranya adalah dengan memanggil metode CMFCVisualManager::SetDefaultManager dan meneruskan manajer visual yang sesuai sebagai parameter. Contoh kode berikut menunjukkan bagaimana Anda akan menggunakan CMFCVisualManagerVS2005 manajer visual dengan metode ini:

CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));

Cara lain untuk menggunakan manajer visual di aplikasi Anda adalah dengan membuatnya secara manual. Aplikasi kemudian akan menggunakan manajer visual baru ini untuk semua penyajian. Namun, karena hanya ada satu CMFCVisualManager objek per aplikasi, Anda harus menghapus manajer visual saat ini sebelum membuat yang baru. Dalam contoh berikut, CMyVisualManager adalah manajer visual kustom yang berasal dari CMFCVisualManager. Metode berikut akan mengubah manajer visual apa yang digunakan untuk menampilkan aplikasi Anda, tergantung pada indeks:

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();
}

Lihat juga

Elemen Antarmuka Pengguna
Kelas CMFCVisualManager