Çocuk ve çerçeve penceresi sınıflar kaydettiriliyor

Tipik bir MDI uygulaması iki pencere sınıfı kaydettirmelisiniz: bir çerçeve penceresi, diğeri onun alt pencereleri. Uygulama birden çok belge (örneğin, elektronik tablo ve grafik) türünü destekliyorsa, bir pencere sınıfı her türü için kaydetmek gerekir.

Çerçeve penceresi için sınıf yapısı penceresi olmayan MDI uygulamaları sınıf yapısını benzer. MDI alt pencereleri sınıf yapısını biraz sigara MDI uygulamaları Windows'ta alt yapısını şöyle farklıdır:

Aşağıdaki örnek, nasıl Multipad kendi çerçeve ve alt pencere sınıflarını kaydeder gösterir.

Bool WINAPI InitializeApplication() {wndclass wc; 
 
    / / Kare pencere sınıfı kayıt. 
 
    WC.style = 0; 
    WC.lpfnWndProc = (wndproc) MPFrameWndProc; 
    WC.cbClsExtra = 0; 
    WC.cbWndExtra = 0; 
    WC.hInstance = hInst; 
    WC.hIcon = LoadIcon (hInst, IDMULTIPAD); 
    WC.hCursor = null LoadCursor((HANDLE), IDC_ARROW); 
    WC.hbrBackground (hbrush) = (color_appworkspace + 1); 
    WC.lpszMenuName = IDMULTIPAD; 
    WC.lpszClassName = szFrame; 
 
    if (!.RegisterClass (amp; wc)) return false; 
 
    / / MDI alt penceresi sınıfı kayıt. 
 
    WC.lpfnWndProc = (wndproc) MPMDIChildWndProc; 
    WC.hIcon = LoadIcon (hInst, IDNOTE); 
    WC.lpszMenuName = (lpctstr) null; 
    WC.cbWndExtra = cbwndextra; 
    WC.lpszClassName = szChild; 
 
    if (!.RegisterClass (& wc)) return false; 
 
    true döndürür; 
} 

 

Index