Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-04-2003, 20:56   #1
Mezzetti0903
Senior Member
 
Iscritto dal: Nov 2000
Messaggi: 279
[C++,C#,VB[Win32]]Controlli Opachi In form Visibili?

Ricordate.....??



Bene... a me questa cosa mi ha incuriosito molto!
Si è detto che questo programma sfrutta una Form Trasparente....
Ma come è possibile creare Controlli Visibili in Form trasparenti??

E poi... con questo programma è anche possibile visualizzare la data e basta e vi posso assicurare che il bordo del form dovrebbe ricalcare i bordi delle lettere......

insomma....
riuscite a fare esempi di come si possa fare un controllo opaco in un form trasparente ??
Oppure riuscite a pensare un qualcosa di differente per dare lo stesso effetto?? (un esempio....magari quando il mouse è sul form tutto quello che fa viene sendato al desktop...)

Come avrete capito è veramente difficile per me spiegarmi..
quindi...provate il programma...(freeware) ... lo potete prelevare da http://www.samurize.com

dai....datemi una mano a capire COME CAVOLO FA...

grazie!
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero
Mezzetti0903 è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2003, 21:23   #2
Mezzetti0903
Senior Member
 
Iscritto dal: Nov 2000
Messaggi: 279
!

Cerco di capirci qualcosa....ma in realtà non ci ho ancora capito nulla... quindi provate anche voi a chiarirmi le idee

Ho chiesto al prog di visualizzarmi la data e lui da bravo applicativo mi visualizza sul desktop la data in nero direttamente sul desktop senza nessuno sfondo....insomma perfettamente

Negli spazi tra le lettere il mouse agisce direttamente sul desktop quindi le ipotesi sono 2(suppongo...forse di più??):
1) Dove non ci sono le lettere il form non c'è
2) Il form senda la posizione e le azioni del mouse al desktop

Usando Spy++ ho scoperto che il form della data è Effettivamente UNICO e che di fatto quando il mouse NON passa sopra le lettere al form stesso non viene Inviato nulla.
Come cavolo è possibile?? I form non dovrebbero essere rettangolari??
Come può questo ricalcare perfettamente la scritta della data?

Magari...non so... la soluzione è nelle propietà di questo form che sono(ve le trascrivo nella speranza mi aiutate a capire)
WS_POPUP
WS_VISIBLE
WS_CLIPSBLINDINGS
WS_CLIPCHILDREN
WS_EX_LTRREADING
WS_EX_CONTROLPARENT
WS_EX_LAYERED

Forse la soluzione sta in una di queste tre(WS_CLIPSBLINDINGS
WS_CLIPCHILDREN
WS_EX_LAYERED)??

Grazie per l'aiuto
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero
Mezzetti0903 è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2003, 03:04   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Devi mettere lo stile WS_EX_LAYERED...

Con la funzione SetLayeredWindowAttributes puoi rendere trasparente un colore o un'intera finestra...

Inoltre ci sono altre funzioni, ad esempio il codice sotto fa un fade sulla creazione di un menu:

Codice:
VOID FadeRect(RECT* prc, HDC hdc)
{
    BOOL fFade = FALSE;
    HWND hwnd;
    SIZE size;
    POINT ptSrc = {0, 0};
    BLENDFUNCTION blend;
 
    // Be nice and respect the user's wishes: Do they want the fade?
    SystemParametersInfo(SPI_GETSELECTIONFADE, 0, &fFade, 0);
    if (!fFade)
        return;
    hwnd = CreateWindowEx(WS_EX_LAYERED | // Layered Windows
            WS_EX_TRANSPARENT | // Don't hittest this window
            WS_EX_TOPMOST | WS_EX_TOOLWINDOW, 
            gszFade, gszFade, WS_POPUP | WS_VISIBLE, prc->left,
            prc->top, 0, 0, NULL, (HMENU)0, ghinst, NULL);
    size.cx = prc->right - prc->left;
    size.cy = prc->bottom - prc->top;
    
    blend.BlendOp = AC_SRC_OVER;
    blend.BlendFlags = 0;
    blend.AlphaFormat = 0;
    blend.SourceConstantAlpha = gbAlpha;
 
    UpdateLayeredWindow(hwnd, NULL, NULL, &size, hdc, &ptSrc, 0,
            &blend, ULW_ALPHA);
    // Finally set the animation timer
    SetTimer(hwnd, ID_TIMER, 25, NULL);
}
Quindi per fare quello che è stato fatto lì dovrebbe bastare infilare dei controlli semi-trasparenti su un frame trasparente...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2003, 11:06   #4
Mezzetti0903
Senior Member
 
Iscritto dal: Nov 2000
Messaggi: 279
!

Wow.....

in questo lungo ponte pasquale proverò a fare qualcosa... grazie cionci!

Scusa una domanda però... come sai io programmo in C#....
ebbene... in C# non posso settare lo style di un controllo "WS_EX_LAYERED" ma lo posso fare solo con i Form.
Devo utilizzare qualche api per applicare lo stile ai controlli??
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero
Mezzetti0903 è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2003, 12:14   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Applicandolo ai form puoi rendere anche i controlli trasparenti...

Per fare quello che cè sopra secondo me semplicemente devi fare tanti form quanti sono i controlli (e che sono grandi esattamente quanto i controlli)...e rendere i vari form trasparenti...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2003, 13:46   #6
Mezzetti0903
Senior Member
 
Iscritto dal: Nov 2000
Messaggi: 279
!

Sì...è un idea valida...
ma come ti spieghi che nel mio "programma ispiratore" secondo Spy++
c'è una finestra sola?
e poi..."Applicandolo ai form puoi rendere anche i controlli trasparenti... "
il fatto è che è vero che se applico la trasparenza al form la applico anche ai controlli ma in questo caso i controlli sono opachi...

Cionci..molto probabilmente non capisci appieno quello che dico... mi scuso...
il fatto è che è difficile da spiegare.. ti rinnovo l'invito a scaricare il programma e ad analizzarlo con Spy++....se hai tempo naturalmente....

dai... non è interessante??

Comunque grazie....
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero
Mezzetti0903 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2003, 09:36   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi è venuto in mente come potrebbe fare...
Dovrebbe bastare copiare la parte del desktop su cui si posizione sullo sfondo del frame e poi basta applicazre la normale trasparenza a tutto il frame...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2003, 12:49   #8
Mezzetti0903
Senior Member
 
Iscritto dal: Nov 2000
Messaggi: 279
!

...sì...potrebbe essere...
però devi ammettere che sarebbe veramente macchinoso
e poi conta che i controlli possono essere mossi nel desktop...
sarebbe quasi impossibile non vedere lo sfondo ri-disegnato ogngi volta...

mah.....

????????????????????????????????????????????
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero
Mezzetti0903 è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2003, 12:58   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Usano questa feature: "per pixel alpha blending" !!!
Che poi è implementata con la funzione che ti ho fatto vedere prima...

http://www.codeproject.com/cs/media/perpxalpha_sharp.asp
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2003, 11:42   #10
tas
Senior Member
 
L'Avatar di tas
 
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
In .NET non occorre utilizzare chissà quale API, in quanto l'effetto trasparenza è già supportato nelle proprietà del form. Esistono due proprietà adatte allo scopo:
  • Opacity
  • TransparencyKey
Opacity interviene sia sul form che sui controlli contenuti, quindi nel tuo caso non va bene. TransparencyKey invece permette di impostare un colore che apparirà come trasparente in esecuzione.
Il trucco consiste nell'impostare le proprietà BackColor e TransparencyKey del form sullo stesso colore che non sarà utilizzato altrove (che ne so, RosyBrown). Togli il bordo della finestra e la caption (FormBorderStyle = None) è il gioco è fatto.
__________________
Chi non cerca trova.
tas è offline   Rispondi citando il messaggio o parte di esso
Old 20-04-2003, 11:55   #11
Mezzetti0903
Senior Member
 
Iscritto dal: Nov 2000
Messaggi: 279
!

Grazie a tutti e due!
...ora proverò a fare ome dici te,tas, comunque è interessante anch capire come agisce a "basso livello" il tutto... quindi grazie anche al prezioso cionci!
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero
Mezzetti0903 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Nuove informazioni sul fallimento del la...
SpaceX: completato parte dell'assemblagg...
Landspace si prepara al secondo lancio d...
Tutti gli sconti Apple su Amazon: tornan...
Altro che entry-level: due smartwatch Am...
Roscosmos ha posticipato (ancora) il lan...
Isar Aerospace si prepara al secondo lan...
Tory Bruno è entrato in Blue Orig...
Fujifilm lancia la cartuccia per archivi...
Dreame H15 Mix: la soluzione 7-in-1 per ...
AirPods Pro 3 in forte sconto su Amazon:...
36 offerte Amazon, molte appena partite:...
2 caricatori multipli eccezionali: da 28...
OLED e 360 Hz a un prezzo senza preceden...
Roborock Q10 S5+ a un prezzo molto conve...
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: 05:25.


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