WM_SIZE Mesajının İşlenmesi
Bilindiği gibi WM_SIZE mesajı pencerenin boyutu değiştirildiğinde ve pencere ilk kez yaratıldığında gönderilmektedir. MFC’de bu mesaj ON_WM_SIZE( ) makrosu ile işlenir ve aşağıdaki üye fonksiyon ile işlenir:
afx_msg void OnSize(UINT nType, int cx, int cy);
nType parametresi pencerenin maksimize, minimize gibi özel durumlarını bildirir. cx ve cy parametreleri pencerenin yeni genişlik ve uzunluğunu belirtir. WM_SIZE mesajı özellikle bir kontrolün dinamik büyütülüp küçültülmesini sağlamak amacıyla sağlanır. Örneğin aşağıdaki kodda bir statik kontrol bu biçimde büyütülüp küçültülmektedir.
Kontrolü genişletip daraltmak için CWnd::MoveWindow kullanılabilir. Bu fonksiyonun farklı parametreli iki versiyonu vardır.
void CMainWnd::OnSize(UINT nType, int cx, int cy)
{
CRect rect(0, 0, cx, cy);
rect.InflateRect(-50, -50);
MoveWindow(rect);
