Le applicazioni e i sistemi operativi hanno un sacco di finestre e controlli, sotto finestre e controlli secondari. Ho notato che è comune che i controlli secondari abbiano i loro sistemi di coordinate resettati per iniziare a 0, rendendo il disegno molto più semplice. Tuttavia non sono sicuro di come sia fatto e di come sarei in grado di farlo.
Creerò un'applicazione che esegue molti disegni 2D e include elementi come barre di scorrimento implementate e molti controlli con controlli secondari. Voglio che il sistema di coordinate dei controlli secondari si reimposti su 0 e voglio che i controlli abbiano una conoscenza minima della loro posizione all'interno dei controlli padre e dei controlli padre genitore, ecc.
L'unica cosa che posso pensare è di passare in coordinate di trasformazione e avere ciascun sotto-controllo quando si disegna aggiungendo le coordinate di trasformazione x e y ai loro oggetti che vengono disegnati in modo che vengano trasformati nella posizione corretta. Questo diventa rapidamente molto stancante quando so che ci sono modi migliori.
Non sono sicuro di cosa userò, sarà GDI +, OpenGL o Direct2D. Sto solo cercando informazioni generali su come è stato fatto in modo che i controlli secondari possano disegnare a x e y 0 e si apre in qualunque posizione si trovi il controllo effettivo.