Newsgroup: it.comp.programmare.win32
Titolo: Chi m iaiuta?

Ho un problema con il VM_PAINT,allora
quello che non ho ben capito e' questo,se io
dovessi disegnare qualche cosa su schermo,
la routine che uso la devo mettere all'interno del messaggio WM_PAINT oppure
la schiaffo dove mi pare?Mi spiego meglio diciamo che ho una fantomatica
DisegnaEllisse,ho notato che se la metto nel WM_PAINT funziona sempre,
pero' potrebbe essere uno spreco di risorse in quanto questa fantomatica
funzione ricarica tutti  i files che gli servono e poi ridisegna il tutto
come prima,
se io invece volessi richiamare la funzione DisegnaEllisse una volta per
tutte
quale e' il punto piu' appropriato?E come posso fare a gestire anche il
messaggio
WM_SIZE nel caso che io ridimenzionassi la finestra?
Grazie per la risposta.
p.s. Scusate per il repost ma ho sbagliato subject.
Ciao.

 Ho un problema con il WM_PAINT,allora


ripristina senza spedire il WM_PAINT.
No, da quello che ho capito io CS_SAVEBITS si comporta in modo diverso:
salva il bitmap per le finestre che stanno sotto la tua, e saranno loro,
quando la tua finestra sparira'/si spostera' a non ricevere il WM_PAINT.
Saluti,
    Mardy

 quando la tua finestra sparira'/si spostera' a non ricevere il WM_PAINT.
Esatto. Q31073 nell'MSDN (KB) spiega bene e concisamente la questione.
Alex

 ha scritto nel messaggio
news:8ipoad$moh$1...@serv1.iunet.it...


Esatto. Q31073 nell'MSDN (KB) spiega bene e concisamente la questione.
A questo punto credo sarebbe interessante sapere come fare a salvare
l'aerea di schermo oscurata dalla finestra della propria applicazione.
Forse usando BitBlt ... ? O c'e' una soluzione piu elegante ... ?

 wrote in message
394fc9db...@news.libero.it...

E` appunto questo che fa CS_SAVEBITS (e puo` essere in grado di
farlo in modo piu` efficiente, se il driver del video e l'HW ne
hanno la capacita`): salvare e ripristinare le aree oscurate da
finestre di classi che hanno questo bit di stile.
Alex

finestre di classi che hanno questo bit di stile.
Io ho fatto questa prova ma non ha funzionato .
Ho indicato il flag nella WNDCLASS ed ho scritto qualcosa nell'area
client della mia finestra .
Quando un'altra applicazione copre la mia finestra al successivo
ripristino quello che vi era disegnato viene cancellato .
Io cercavo appunto un sistema che mi permetteva il rispristino
automatico "originale" dell'area client senza dover elaborare il
WM_PAINT.
P.S.
Magari postando del codice specifico
grazie

finestre di classi che hanno questo bit di stile.
Ora che ci penso... Ma se nel frattempo la finestrella nascosta ha cambiato
output, viene ridisegnata con l'output vecchio?
(domanda quasi retorica, non vedo modo per evitarlo)
Saluti,
    Mardy

 wrote in message
odr45.251187$VM3.1...@news.infostrada.it...

Il "modo per evitarlo" dipende dalla "finestrella nascosta",
o meglio, com'e` chiaro, dal programma che la possiede e la
pilota.  Se "cambia output", tocca a lui (programma) fare
InvalidateRect e UpdateWindow, non ti pare...?  Mica deve
aspettare di venire accidentalmente e occasionalmente
coperto e scoperto di nuovo...!!!
Alex

 WM_PAINT.
Cerca, cerca.  Non lo troverai.
Alex

Cerca, cerca.  Non lo troverai.
Qui invece sono stupito dal fatto che non esista un sistema che
permetta di fare una simile operazione .

 permetta di fare una simile operazione .
Il WM_PAINT arriva e qualcuno deve pur servirlo se la finestra
deve avere un qualsivoglia aspetto.  Se sei proprio allergico a
servirlo tu, forse puoi subclassare uno static, con stile SS_BITMAP,
che lo serve dipingendo la bitmap ad esso associata.  Ma per
determinare quella bitmap non 'spendi' meno fatica che per
disegnare direttamente tu il contenuto quando serve, anzi.
Alex

coperto e scoperto di nuovo...!!!
Provero' a fare qualche esperimento con la finestrella di ICQ... :-)
Saluti,
    Mardy

 Provero' a fare qualche esperimento con la finestrella di ICQ... :-)
Forse ti conviene farlo con finestrelle tue cosi` hai il
completo controllo di cosa succede e quando.
Alex