Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [c++ MFC]toolbars

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++ MFC]toolbars

    Ciao.
    Sto cercando di gestire le mie toolbar in MFC in un modo piu' "solido".
    Il problema è che le toolbar a volte perdono la posizione , a volte non vengono ripristinate correttamente ecc....

    la mie idea sarebbe quella di ereditare una classe mytoolbar da ctoolbar e andare a gestire l'evento:WM_WINDOWPOSCHANGED(Non sono sicuro che sia l'evento corretto , vorrei l'evento che si scatena quando è stato fatto un cambiamento sulla toolbar) in modo da salvare la posizione e le altre caratteristiche sul registro ogni volta ce viene effettuato un cambiamento.

    Puo' essere un idea? voi come fate(o fareste?)

    in particolare ho letto questo:

    I've isloated my docking bug to the MFC function CDockBar::Insert(...). It
    appears the if you have an undocked or hidden toolbar in the middle of a
    toolbar row it assumes that is the end of the row and throws off the
    calculation on which toolbar to insert after. Boy, this seems like a huge
    glaring bug in MFC. Yet it appears to have been around for years.
    a questo link:http://www.themssforum.com/MFC/Docking-Toolbar/

    ma non ho capito del tutto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    ciao.
    Ho pensato un po al problema e ho questa possibile soluzione:
    ho 3 gruppi di toolbar.
    1)ModeA: toolbarModA1 - toolbarModA2 - toolbarModA3
    2)ModeB: toolbarModB1 - toolbarModB2 - toolbarModB3 - toolbarModB3
    3)Modec: toolbarModc1 - toolbarModc2 - toolbarModc3

    1)ciascun gruppo va visualizzato da solo .
    cosi' se scelgo il gruppo modeA

    devo visualizzare solo
    toolbarModA1 - toolbarModA2 - toolbarModA3

    e se scelgo il Modec devo visualizzare solo
    toolbarModc1 - toolbarModc2 - toolbarModc3

    2)una toolbar puo' essere nascosta o resa visibile dall'utente


    Pensavo di creare un helper class che lavora con le toolbar a mo di matrice:


    questa classe tiene traccia di tutti gli spostamenti o i dock delle toolbar
    e ritorna chiamando il metodo getLayout(ModeA) una matrice del tipo:


    ModeA
    row1 ID_TOOLMODA1 ID_TOOLMODA2
    row2 ID_TOOLMODA3

    ModeC
    row1 ID_TOOLMODC1
    row2 ID_TOOLMODC3 ID_TOOLMODC2


    in modo che ho tutti i dati per posizionare le toolbar di un dato gruppo.
    il problema è come sincronizzare l'helper class quandoo l'utente interagisce con le toolbar
    (muove,doccka undocca e visualizza ,nasconde una toolbar)


    è una buona soluzione?
    mi consigliate qualche pattern oop?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.