Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-09-2007, 17:11   #1
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
[GDI+ | C++] Usare GDI+ in eventi diversi da WM_PAINT

Salve a tutti,

come si fà ad usare gdi + in eventi diversi da WM_PAINT come ad esempio WM_MOUSEMOVE??
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2007, 17:35   #2
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
come si fà ad usare gdi + in eventi diversi da WM_PAINT come ad esempio WM_MOUSEMOVE??
Perché le funzioni della GDI+ non dovrebbero funzionare anche in risposta al messaggio WM_MOUSEMOVE???
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2007, 18:23   #3
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
Semplicemente non mi disegna nulla!!
Se peró apro una voce del menú la porzione di finestra sottostante si aggiorna ed il resto no...
Forse sbaglio q.cosa nel codice
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2007, 18:28   #4
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Forse sbaglio q.cosa nel codice
Probabilmente sì...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 01-09-2007, 21:14   #5
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
Ho capito l'errore ma non so come risolverlo
allora l'errore é che creavo il DC tramite:
Codice:
    PAINTSTRUCT ps;
    HDC hdc = BeginPaint(hWnd,&ps);
mentre MSDN dice espressamente che non puó essere utilizzata fuori da WM_PAINT. Ma allora quale funzione devo utilizzare??????
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2007, 11:28   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da stdecden Guarda i messaggi
mentre MSDN dice espressamente che non puó essere utilizzata fuori da WM_PAINT. Ma allora quale funzione devo utilizzare??????
GetDC()/ReleaseDC().

È chiara anche un'altra cosa: bisogna valutare bene cosa devi disegnare al di fuori di WM_PAINT e quanto tale operazione di disegno deve essere "persistente" o meno.
Mi spiego meglio: per esempio a seguito di WM_LBUTTONDOWN prendi il HDC e disegni direttamente un pallino nel punto del click. Successivamente potrebbe arrivare un WM_PAINT. Se volevi rendere tale pallino persistente, devi memorizzarti da qualche parte una informazione che l'hai disegnato in modo che al WM_PAINT lo ridisegni.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2007, 11:37   #7
stdecden
Member
 
L'Avatar di stdecden
 
Iscritto dal: Apr 2007
Messaggi: 263
Quote:
Originariamente inviato da andbin Guarda i messaggi
È chiara anche un'altra cosa: bisogna valutare bene cosa devi disegnare al di fuori di WM_PAINT e quanto tale operazione di disegno deve essere "persistente" o meno.
Ne sono consapevole... infatti volevo usarlo solo per evidenziare in che parte del controllo si trovava il mouse. Infatti ho giá fatto qualcosa del genere in vb.net e mi funzionava benissimo! Grazie ancora per la tua risposta
stdecden è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2007, 23:30   #8
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Tutto ciò è sbagliato, se WM_PAINT esiste è perchè devi disegnare solo lì, non ha senso disegnare in WM_LBUTTONDOWN e poi anche in WM_PAINT. Basta memorizzare da qualche parte che deve essere disegnato un pallino (es disegnaPallino = true), e forzare un repaint della finestra con InvalidateRect, RedrawWindow o SetWindowPos.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2007, 09:42   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da kk3z Guarda i messaggi
Tutto ciò è sbagliato, se WM_PAINT esiste è perchè devi disegnare solo lì
Mi dispiace dirlo ma tale affermazione è falsa.

Da MSDN When to Draw in a Window dice:
If an action requires immediate feedback, the application can draw while the action takes place, without waiting for WM_PAINT. For example, a typical application highlights the area the user selects rather than waiting for the next WM_PAINT message to update the area.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
Intel Xeon 600, le nuove CPU per le work...
Tesla, è ufficiale: i Robotaxi fa...
DeepL sempre più evoluto: arriva ...
Un vecchio assegno venduto a 4.800 volte...
Portatili Dell 16 in offerta su Amazon: ...
Amazfit punta ancora più in alto:...
Deep tech e venture capital: ScaleUp Lab...
GWM ha creato un font specifico per i di...
Oro rosa e charm Les Néréi...
La XPeng P7+ è salpata in direzio...
Quali sono i componenti più affid...
Amazon Haul raddoppia lo sconto: -30% su...
Germania e Danimarca accelerano sull'eol...
Azienda cinese che chiede aiuto ad una a...
Per aumentare la competitività ne...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v