[erledigt]CDialogBar an bestimmte Position festsetzen



  • Hallo,

    ich habe mittels CDialogBar zwei DialogBars erstellt, die im Moment auch richtigerweise unter der Menustruktur erzeugt werden. Leider sind diese Dialogbars "verschiebbar". Jetzt wäre meine Frage, wie ich einstellen kann, dass diese "fest" an ihrer Position sind. Man sollte sie nämlich nicht verschieben können.

    if (!m_wndDialogBarNavi.Create(this, IDR_DIALOGBAR_NAVI, WS_CHILD | CBRS_TOP
    		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, AFX_IDW_DIALOGBAR))
    	{
    		TRACE0("Dialogbar (Modus & View-Navigation) konnte nicht erstellt werden\n");
    		return -1;      // Fehler bei Erstellung
    	}
    
    ...
    
    m_wndDialogBarNavi.EnableDocking(CBRS_ALIGN_TOP);
        DockControlBar(&m_wndDialogBarNavi);
    

    Wenn ich die beiden letzten Zeilen auskommentiere, dann wird die DialogBar in den Childframe verschoben und ist dort fest. Das ist jedoch nicht gewünscht, sie sollen oben bleiben. 🙂


  • Mod

    Mit den Zeilen

    m_wndDialogBarNavi.EnableDocking(CBRS_ALIGN_TOP); 
        DockControlBar(&m_wndDialogBarNavi);
    

    Erlaubst Du doch das Docking.

    Führe nur AddControlBar aus!



  • Ich weiß ja, dass ich das Docking mit den Zeilen erlaube...drum wollte ich ja bestensfalls die Alternative dafür wissen. 😉

    Leider hat das AddControlBar denselben Effekt wie das auskommentieren. Ich kann dann zwar die DialogBar nicht mehr verschieben aber die wird eine Etage weiter unten angelegt und ist dort fest. Kann ich ihr da irgendwie sagen, dass sie "am Top" erstellt werden soll?


  • Mod

    Dann musst Du die Reihenfolge des Erzeugens und positionierens verändern.



  • Hab jetzt nen Schalter im Menu zum ein- und ausblenden der DialogBar eingebaut. Erfüllt auch seinen Zweck und ist zudem flexibler. Danke für die Hilfe. 🙂


Anmelden zum Antworten