2009-03-07 21 views
1

Her programda, durum çubuğunun üzerinde kaydırma çubuğu bulunur. Sağ? Şey, benim değil.Pencere varsayılan kaydırma çubuğunu durum çubuğunun üstünden nasıl taşıyabilirsiniz?

Programımda kendi kaydırma çubuklarımı kurmaya çalıştığımda, şaşırtıcı bir şekilde onları çalıştırdım! Durum çubuğunu da işe almayı başardım! Yaşa! :-) ... Ancak, kaydırma çubuğunun ALTINDA olması gerektiğinde, durum çubuğu kaydırma çubuğunda YUKARIDIR. Kaydırma çubuğunu nasıl hareket ettiririm? kaydırma çubuğunu hareket ettirme ile ilgili herhangi bir işlev bulamadım. Ben bir kaydırma çubuğu pencere oluşturmadıkça, ama bu çok iyi çalışmadı (bazı tuhaf hata vardı: varsayılan yükseklik kullandığınızda, tamamen görünmez kaydırma çubuğu oldu ve tanımlı yüksekliği kullandığımda, kaydırma çubuğu Windows98 tema veya bir şey vardı o_O) İşte

benim durum çubuğu oluşturma kodu:

// Create status bar 
hStatus = CreateWindowEx(
    0, 
    STATUSCLASSNAME, 
    NULL, 
    WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP, 
    0, 0, 0, 0, 
    hWnd, 
    (HMENU)IDC_MAIN_STATUS, 
    GetModuleHandle(NULL), 
    NULL 
); 

ve pencere oluşturma:

if (!(hWnd=CreateWindowEx(dwExStyle,   // Extended Style For The Window 
    "OpenGL",     // Class Name 
    title,      // Window Title 
    dwStyle |     // Defined Window Style 
    WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | 
    WS_CLIPCHILDREN | WM_HSCROLL | WM_VSCROLL, // Required Window Style 
    0, 0,      // Window Position 
    WindowRect.right-WindowRect.left,  // Calculate Window Width 
    WindowRect.bottom-WindowRect.top,  // Calculate Window Height 
    NULL,      // No Parent Window 
    NULL,      // No Menu 
    hInstance,     // Instance 
    NULL)))      // Dont Pass Anything To WM_CREATE 

ben henüz fark etmemişlerdi bazı düzgün hile olmalı, herkes Enli Bunu nasıl düzgün yapmalıyım?

cevap

2

Notepad'i çalıştırın ve casus ++ ile inceleyin ve kaydırma çubuğu ile alanı göreceksiniz ve durum çubuğu ortak bir üst öğe olan iki eş penceredir. Bunu da yapmalısınız, daha sonra ana pencerenizin boyutu veya konumu değiştiğinde iki pencerenizi birbirine göre konumlandırmak için SetWindowPos() öğesini kullanın.

İlgili konular