|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2007
Messaggi: 329
|
[C++ WIN32] Metodo classe come WndProc e utilizzo controlli owner draw
Raccolgo qui due quesiti che riguardano lo stesso progetto che sto sviluppando.
Il primo riguarda il controllo STATIC con flag OWNER DRAW. Ho la necessità di visualizzare una finestrella grafica su una DialogBox, che in sostanza è l'output di un vecchio giochetto che avevo scritto anni fa sotto DOS con le VESA. L'output è un array di 640x480 long ognuno dei quali contiene la tripletta RGB del pixel. Sto incontrando dei problemi quand'è ora di visualizzarla nella mia DialogBox. L'evento WM_PAINT mi arriva corretto, dentro ottengo l'HDC del mio controllo, ma non so come copiarci tutto il buffer. Credo vada creata una HBITMAP di appoggio e poi copiata con BitBlt ma mi chiedo... non c'è un modo più diretto senza fare tutti questi giri? E' questa la via più efficiente in termini di prestazioni? Se non c'è alternativa, qualche dritta per scrivere una Visualizza(HWND, unsigned long *)? Secondo punto: tempo fa mi ero scritto delle funzioni per facilitare l'uso delle API Win32, ma vorrei ora riscrivere una classe base (MWindow) e delle classi derivate che implementano i vari controlli (MButton, MEdit, ecc). Su una ipotetica MDialog avrei bisogno di implementare la WndProc che processa i messaggi di Windows e ovviamente non posso usare un metodo della classe per questo scopo. Dovrei appoggiarmi a una funzone esterna ma da qui non so come distinguere e risalire alla classe di partenza per richiamare il suo gestore di messaggi. Qualche idea per risolvere la cosa in maniera elegante?
__________________
Canon EOS 5D3 | 16-35 f/4 L IS | 24-105 f/4 L IS | 70-200 f/4 L IS | 14 f/2.8 | 24 f/1.4 L | 35 f/1.4 | 135 f/2.0 L | Canon 430EX |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:19.