Toolbar



  • Meine Toolbar wird nicht angezeigt kann mir einer sagen warum:

    HWND CreateToolbar (HWND hWindow)
    {
        HWND toolbar;
        INITCOMMONCONTROLSEX mc;
    
        //Struktur initialisieren
        memset (&mc, 0, sizeof (INITCOMMONCONTROLSEX));
        mc.dwSize = sizeof (INITCOMMONCONTROLSEX);
        mc.dwICC = ICC_BAR_CLASSES | ICC_WIN95_CLASSES;
    
        //Common Dialog initialisieren
        InitCommonControlsEx (&mc);
    
        //Toolbar erzeugen
        toolbar = CreateWindowEx (0, 
                                  WC_LISTVIEW,
                                  (LPSTR) NULL,
                                  WS_CHILD | TBSTYLE_TOOLTIPS | CCS_ADJUSTABLE, 
                                  0,0,
                                  200,20,
                                  hWindow,
                                  (HMENU) "IDR_TOOLBAR",
                                  hGlobInstance, 
                                  NULL);
    
        //Fensterhandle zurückliefern
        return toolbar;
    
    }
    
    int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
    {
        hGlobInstance = hInstance;
    
        hWindow = CreateMainWindow (hGlobInstance);
        if (!hWindow)
        {
            MessageBox (hWindow, "Kann Serverfenster nicht erstellen",
                        "Tut mir leid, hier liegt ein Fehler vor...",
                        MB_OK);
            return 0;
        }
    
        CreateToolbar (hWindow);
    


  • WC_LISTVIEW 😕 😮 😮

    das ist nicht die Toolbar klasse



  • und WS_VISIBLE würd ich auch benutzen 🙂



  • wie wär es denn richtig? Könnt ja man code posten würd mich freuen.



  • hmm okay die Toolbar hab ich nun... aber die bilder sind da irgendwie net drin ich verwende eine resource...irgendjemand irgendeiner eine Idee ? ach und kann mir mal einer nen überblick über diese komischen Dateitypen geben die man da braucht ich blick da wieder nicht durch, der datenschrott bei windoof



  • Man! Wie oft noch, für die Datentypen gibt es die MSDN!!!
    Und hör auf im ICQ so dumme Fragen zu stellen!!

    ciao



  • Hallo Leute,

    ich habe jetzt zwar meinen button in der toolbar, aber kein Bitmap. Und ich weiss nicht warum der das nicht anzeigt. In einem anderen Thread habe ich etwas über HIMAGELIST gefunden. Naja kann mir vielleicht einer sagen ob ich noch was falsch gemacht habe:

    HWND CreateToolbar (HWND hWindow)
    {
        HWND toolbar;
        INITCOMMONCONTROLSEX mc;
    
        //Struktur initialisieren
        memset (&mc, 0, sizeof (INITCOMMONCONTROLSEX));
        mc.dwSize = sizeof (INITCOMMONCONTROLSEX);
        mc.dwICC = ICC_BAR_CLASSES | ICC_WIN95_CLASSES;
    
        //Common Dialog initialisieren
        InitCommonControlsEx (&mc);
    
        //Toolbar erzeugen
        toolbar = CreateWindowEx (0, 
                                  TOOLBARCLASSNAME, 
                                  NULL, 
                                  WS_CHILD | WS_VISIBLE, 
                                  0, 0, 
                                  0, 0,
                                  hWindow, 
                                  (HMENU) "IDR_TOOLBAR", 
                                  hGlobInstance, 
                                  NULL);    
    
        // Send the TB_BUTTONSTRUCTSIZE message, which is required for backward compatibility.
        SendMessage(toolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
    
        //Imageslist anlegen
        HIMAGELIST mi;
        mi = ImageList_Create (18, 18, ILC_COLOR24, 0, 12);
    
        //Bilder in Imagesliste transferieren
        ImageList_Add(mi, LoadBitmap(hGlobInstance, MAKEINTRESOURCE(IDB_BITMAP1)),NULL);
    
        //define buttons 
        //initialisierung durch Initialisierungsliste
        TBBUTTON toolbutton [] =
    
        //{IDB_BITMAP1, },  //Verbinden
        //{},  //Trennen
        //{},  //Speichern
        //{},  //Drucken
        //{},  //Kopieren
        //{},  //Ausschneiden
        //{},  //Löschen
        //{},  //Einfügen
        //{},  //Hinstory
        //{},  //userinfo
        //{},  //Profil
        //{},  //Konsole 
        {IDB_BITMAP1 ,WM_QUIT, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0};  //Programm beenden  
    
        //lade Bitmaps in Toolbar
        SendMessage (toolbar, TB_INSERTBUTTON, IDB_BITMAP1, (LPARAM) (LPTBBUTTON) toolbutton);
    
        //Fensterhandle zurückliefern
        return toolbar;
    
    }
    


  • Dass du nie nachgucken kannst?
    Du erstellst eine ImageList und fügst ihr Bilder hinzu, oder?
    Aber woher zum Teufel soll die Toolbar denn wissen wo die ImageList (und somit die Bitmaps) sind??

    Denk mal n bischen Logisch nach, es nervt langsam...
    *argh* :o

    ciao
    😃



  • tja leider klappt das auch nich du meinst doch das hier ne:

    //Button anzeigen
    SendMessage(toolbar, TB_SETIMAGELIST, 0, (LPARAM) mi);



  • Original erstellt von Parapiler:
    **tja leider klappt das auch nich du meinst doch das hier ne:

    //Button anzeigen
    SendMessage(toolbar, TB_SETIMAGELIST, 0, (LPARAM) mi);**

    Ja! Das mein ich, und das klappt bei jedem anderen Menschen :p

    ciao
    😃

    [ Dieser Beitrag wurde am 03.05.2003 um 10:19 Uhr von paranoiac.org editiert. ]



  • hey paranoiac.org..keep cool.. 😃 🕶



  • Original erstellt von <n0Ob>:
    hey paranoiac.org..keep cool.. 😃 🕶

    Hab meine Gründe 🕶



  • naja seis drum.... Man kann die Bilder doch sicher auch mit eiern TB_ADDBITMAP NAchricht in die Toolbar laden oder? dazu braucht man dann eine TBADDBITMAP struktur ich habe die jetzt so verstanden das das erste Element die Instanz des Programms ist und das zweite Element die Ressourcennummer des Bitmaps bitte korriegiert mich wenn ich was falsch verstanden habe folgendes funktioniert nämlich nicht, obwohl ich es in einem tutorial auch so gefunden habe:

    //Bitmapstruktur anlegen
        TBADDBITMAP mybit;
        memset (&mybit, 0, sizeof (TBADDBITMAP));
        mybit.hInst = hGlobInstance; 
        mybit.nID = IDB_BITMAP1;
    
        //lade Bitmaps in Toolbar
        SendMessage (toolbar, TB_ADDBITMAP, 0, (LPARAM) &mybit);
    
        // Send the TB_BUTTONSTRUCTSIZE message, which is required for backward compatibility.
        SendMessage(toolbar, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0);
    

    Naja der restliche Code ist geblieben er ist ja schon gepostet. Eventuell kann mir ja mal einer wirklich damit helfen mir einfach zu sagen wo mein Fehler liegt anstelle mir vorzuhalten, anderen meine Arbeit aufzuerlegen und dumme Sprüche zu reissen....


Anmelden zum Antworten