Disegnare un controllo personalizzato di rendering in Windows - ridimensionamento

2

Alcuni background: per imparare la programmazione e il disegno della GUI in Windows sto iniziando a creare il mio toolkit GUI in Windows (quindi questo è un esercizio didattico, per favore non suggerire "usa Qt" o "usa MFC" ).

Mi piacerebbe disegnare l'intera area della finestra dai controller di memoria in doppio buffering (gestendo anch'io gli eventi mouse e tastiera) ma ora mi chiedo come gestire gli eventi di ridimensionamento dalla finestra: supponiamo di avere un controllo testo e una barra laterale e la mia finestra ottiene un comando di ridimensionamento

labarralateraledovrebbeingrandirsieilcontrollodeltestodovrebbemostrarepiùtesto(èanchepiùgrande).

LaprimacosachemivieneinmenteèdiridisegnaretuttiiwidgetsullamemoriaDCepoiBitBltsulloschermo.Inognicasoalcuniwidgetpotrebberononesserecambiatiaffattoopotrebberoesserecambiatisolounpo'(laparte"Testo qui, testo qui, te" non è cambiata affatto durante il ridimensionamento).

Cosa si può fare per sfruttare questo fatto ed evitare di ridisegnare (anche in memoria DC, non in DC dispositivo) le parti che non sono state cambiate?

    
posta user3834459 28.08.2014 - 09:57
fonte

1 risposta

3

Avrai voglia di ridisegnare il tutto. Tenere traccia di quali parti sono ancora uguali a quelle dell'immagine non fissata sarà più complicato dal punto di vista computazionale, semplicemente ridisegnando l'intero lotto, specialmente considerando che nell'uso generale si avrà una finestra di dialogo piena di controlli, non piena di spazi bianchi. Anche nel caso del testo, il testo visualizzato verrà incapsulato in punti diversi e quindi richiederà il ridisegno.

    
risposta data 28.08.2014 - 10:05
fonte

Leggi altre domande sui tag