CToolBar abgeschnitten



  • Hallo zusammen...
    Ich hab vor kurzem damit begonnen, mit MFC zu programmieren und stehe nun vor einem etwas gröberem Problem, das mich am Fortsetzen meiner Arbeit (ein Schulprojekt) etwas hindert.
    Ich hab in mein Programm eine CToolBar eingefügt, sowie im Fenster darunter versucht ein paar Buttons mit CButton einzufügen. Klappte soweit ganz gut.
    Doch seit ich mich nicht mehr an die Vorlage halte, die wir von unserem Professor (ein Buch) bekommen haben, sondern die Toolbar nach meinen Vorstellungen modifizieren möchte, schneidet er sie mir einfach ab.
    Dasselbe geschieht mit den Buttons, die sich ab einem bestimmten Punkt einfach nicht mehr nach rechts bewegen.
    Hier der Quellcode, vielleicht hab ich ja etwas übersehen, aber ich finde nichts (hab mich auch mit der Suchfunktion schlau gemacht und nichts bezüglich meines Problems gefunden).

    //Header Datei
    public:
    	CEdit m_wndEdit;
    	CEdit m_wndEdit2;
    	CStatic m_wndLabel;
    	CButton m_wndPlus;
    	CButton m_wndMinus;
            virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
    	CToolBar m_wndToolBar;
    	int OnCreate(LPCREATESTRUCT lpCreateStruct);
    
    //C++-Datei
    int CFenster::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    	if(CFrameWnd::OnCreate(lpCreateStruct)==-1)
    		return -1;
    
    	m_wndToolBar.CreateEx(this,TBSTYLE_FLAT | TBSTYLE_LIST | TBSTYLE_WRAPABLE,WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER |
    		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC | TBSTYLE_AUTOSIZE,CRect(0,0,100,5),IDR_MAIN_TOOLBAR);
    	m_wndToolBar.LoadToolBar(IDR_MAIN_TOOLBAR);
    	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);//andocken an allen vier Seiten
    	EnableDocking(CBRS_ALIGN_ANY);
    	DockControlBar(&m_wndToolBar);
    //...
    //Die Buttons:
    	m_wndPlus.Create("Plus",BS_PUSHBUTTON | WS_VISIBLE,CRect(5,30,50,55),this,ID_PLUS);
    	m_wndPlus.EnableWindow(true);
    	m_wndPlus.ShowWindow(SW_HIDE);//unsichtbar machen
    	m_wndPlus.ShowWindow(SW_RESTORE);//wieder sichtbar machen
    
    	m_wndMinus.Create("Minus",BS_PUSHBUTTON | WS_VISIBLE,CRect(5,70,50,55),this,ID_MINUS);
    	m_wndMinus.EnableWindow(true);
    	m_wndMinus.ShowWindow(SW_HIDE);
    	m_wndMinus.ShowWindow(SW_RESTORE);
    //...
    }
    

    Ich hoffe ihr könnt mir helfen und schonmal danke für die Hilfe! 🙂



  • Hab das Problem gelöst.
    Keine Ahnung wo das Problem lag, ich hab mir aus einem anderen Programm, wo das ganze funktionierte, eigentlich denselben Quellcode kopiert und dann funktionierte es plötzlich.
    Dank CRect(X,Y,X+Breite,Y+Höhe) hab ich mich jetzt auch mit der Verteilung der Buttons leicht getan 🕶


Anmelden zum Antworten