Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++ MFC]update frame

    Ciao.
    Ho un applicazione in cui necessito di ridisegnare l'area del frame(cornice ,toolbar ecc...)
    come posso forzare il ridisegno di tutti i controlli del frame?
    In pratica nell'applicazione cosi come è adesso scompaiono le toolbar dopo averle riposizionate in una particolare maniera e , se minimizzo la finestra e poi la ripristino le toolbar ricompaiono,
    è per questo che pesavo di utilizzare il ridisegno.
    grazie.

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

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

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,476
    Penso che tu possa risolvere chiamando la

    Invalidate();
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    grazie oregon.
    Invalidate ma di che cosa?della finestra ?, del frame ?
    Il fattaccio è che se minimizzo la finestra e poi la massimizzo tutte le toolbar sono al loro posto ,altrimenti alcune spariscono.
    Non riesco a capire.
    l'errore deriva da una procedura di disegno opengl , su cui non so molto , quando faccio il render solido di un disegno scompare la toolbar ,di piu' nso.
    sai cosa potrebbe essere?
    ciao.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,476
    La Invalidate sa cosa fare ... hai provato?

    Il fatto che ci sia OpenGL cambia un po' le cose ... (magari dovevi precisarlo prima ...) ... non ho capito se quello che non viene visualizzato e' renderizzato da OpenGL o dalle normali GDI ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    scusa oregon se ti ho fatto perdere tempo , effettivamente nel programma si usa sia opengl sia gdi,ma sopra alle toolbar non vengono renderizzate immagini da opengl , magari pero' la finestra opengl nasconde la toolbar in parte,insomma non voglio sparare e chiedo a te se gentilmente hai dei consigli su cui lavorare.
    Il codice non lo posso postare ,sarebbe troppo ampio.
    ti posso dire che nella classe glview che deriva da cview ho questa inizializzazione:
    BOOL CGLView::InitializeOpenGL()
    {
    CClientDC dc(this);

    è possibile che la glview si sovrapponga alle toolbar?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    trovato il problema:
    Ho una funzione chiama movie che ruota un immagine 3d attorno ad un asse.
    QUesta funzione viene richiamata da un timer ogni tot di millisecondi.
    In questa funzione alla fine c'è un invalidate.
    L'invalidate aggiorna l'immagine , ma blocca tutto e rende tutto moooolto lento.
    Se non metto l'invalidate funziona tutto correttamente solo che non ruota l'immagine.
    Ho provato a settare il timer con un periodo piu' corto e tutto funziona(immagine ruotata e toolbar).
    Penso che l'invalidate sia molto lento , esiste qualcos altro di piu leggero?
    grazie.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    mi basterebbe fare un invalidate che non tocca le toolbar e i controlli del frame.
    é possibile?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.