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?