Class Repbar



  • class GUIRepbar : public GUIBaseClass
    {
        public:
            GUIRepbar(HINSTANCE hinst, HWND parent);
    
            HWND create();
    
            BOOL addRep(LPSTR discrib, HWND child);
    
        protected:
            UINT _repCount;
    };
    
    GUIRepbar::GUIRepbar(HINSTANCE hinst, HWND parent) : GUIBaseClass(hinst, parent)
    {
        INITCOMMONCONTROLSEX icex;
    
        icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
        icex.dwICC  = ICC_COOL_CLASSES;
        InitCommonControlsEx(&icex);
    
        _repCount = 0;
    }
    
    HWND GUIRepbar::create()
    {
        REBARINFO rbi;
        DWORD dwFlags = WS_CHILD |
                WS_VISIBLE |
                WS_CLIPSIBLINGS |
                WS_CLIPCHILDREN |
                RBS_VARHEIGHT |
                CCS_NODIVIDER;
    
        _hwnd = CreateWindowEx(WS_EX_TOOLWINDOW, REBARCLASSNAME, NULL, dwFlags, 0,0,0,0, _parent, NULL, _hinst, NULL);
    
        rbi.cbSize = sizeof(REBARINFO);
        rbi.fMask  = 0;
        rbi.himl   = NULL;
    
        SendMessage(_hwnd, RB_SETBARINFO, 0, (LPARAM)&rbi);
        //ShowWindow(_hwnd, SW_SHOW); 
    
        return _hwnd;
    }
    
    BOOL GUIRepbar::addRep(LPSTR discrib, HWND child)
    {
        REBARBANDINFO rbbi;
        RECT rect;
    
        DWORD dwMask = RBBIM_COLORS |
                       RBBIM_TEXT |
                       RBBIM_BACKGROUND | 
                       RBBIM_STYLE |
                       RBBIM_CHILD |
                       RBBIM_CHILDSIZE | 
                       RBBIM_SIZE;
    
        DWORD dwStyle = RBBS_CHILDEDGE |
                RBBS_FIXEDBMP; 
    
        GetWindowRect(child, &rect);
    
        rbbi.cbSize = sizeof(REBARBANDINFO); 
        rbbi.fMask  = dwMask;
        rbbi.fStyle = dwStyle;
        rbbi.lpText = discrib;
        rbbi.hwndChild = child;
        rbbi.cxMinChild = 0;
        rbbi.cyMinChild = 50;
        rbbi.cx = 50;
    
        SendMessage(_hwnd, RB_INSERTBAND, (WPARAM)-1, (LPARAM)&rbbi);
        UpdateWindow(_hwnd);
    
        return TRUE;
    }
    

    wenn ich die classe benutze, wird kein repbar angezeigt!!!
    hab ich irgendetwas vergessen?

    [ Dieser Beitrag wurde am 18.01.2003 um 22:40 Uhr von esskar editiert. ]

    [ Dieser Beitrag wurde am 18.01.2003 um 22:41 Uhr von esskar editiert. ]



  • Original erstellt von esskar:
    **```cpp
    _hwnd = CreateWindowEx(WS_EX_TOOLWINDOW, REBARCLASSNAME, NULL, dwFlags, 0,0,0,0, _parent, NULL, _hinst, NULL);

    //ShowWindow(_hwnd, SW_SHOW);
    

    Gib bei CreateWindowEx mal Breite/Höhe an, und das ShowWindow würd ich auch drin lassen 🕶.

    Mal ne dumme Frage: Was ist eine RepBar? 😉

    cya 🙂



  • Hallo,

    versuch mal mit:

    icex.dwICC   = ICC_COOL_CLASSES|ICC_BAR_CLASSES
    InitCommonControlsEx(&icex);
    

    MfG

    Anakin

    [ Dieser Beitrag wurde am 19.01.2003 um 14:37 Uhr von Anakin Skywalker editiert. ]


Anmelden zum Antworten