Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-12-2005, 14:38   #1
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
[C-WIN32] Disegnare finestra con editor grafico

Ciao,

ho un'applicazione che sto creando in .NET che usa la chiamata CreateWindowEx() con vari parametri per creare una finestra non modale sullo schermo.

Volevo sapere se possibile modificare l'aspetto della finestra tamite l'editor grafico di VS piuttosto che con le chiamate a funzione dal codice.

Di solito uso i dialog non modali che sono tranquillamente editabili, ma non riesco a sostituire la finestra con un dialog modale, anche se la CreateDialogParam dovrebbe sfruttare proprio la CreateWindowEx, quindi essere equivalente..

Mi consigliate di passare ai dialog modali (se si, come?) o qualche sistema per editare le finestre dall'editor grafico?

grazie
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2005, 16:03   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da fedo
Ciao,

ho un'applicazione che sto creando in .NET che usa la chiamata CreateWindowEx() con vari parametri per creare una finestra non modale sullo schermo.
Scusa ... fammi capire. Stai lavorando proprio in .NET?? Cioè con un linguaggio tipo C#, VB.NET, ecc... e vuoi chiamare la CreateWindowEx???
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2005, 18:38   #3
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Lavoro con Visual Studio .NET ..linguaggio C++ misto C...
non con il framework .NET ..
Forse mi sono espresso male..

ciao
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2005, 21:04   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da fedo
Lavoro con Visual Studio .NET ..linguaggio C++ misto C...
non con il framework .NET ..
Forse mi sono espresso male..
Ah, ok ... non c'è problema.
Comunque ti posso dire questo: intanto ti consiglio di usare le dialog modali, sono più semplici da gestire. Le dialog modali si creano con le funzioni DialogBoxXXX (ci sono 4 versioni) e si editano con il dialog editor del VC++. La dialog procedure deve essere gestita in modo un pochino diverso da quella per una dialog non modale. Ma non hai più bisogno di gestire il loop dei messaggi.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2005, 23:27   #5
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Grazie.

purtroppo i dialog modali bloccano l'esecuzione del programma, mentre io non devo bloccarla in attesa di eventi sulla finestra..

Non posso neppure usare un thread perchè ci ho già provato e non và...

cioè, quella finestra non deve bloccare nessun flusso esecutivo, principale o thread che sia..

ciao
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2005, 09:52   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da fedo
purtroppo i dialog modali bloccano l'esecuzione del programma, mentre io non devo bloccarla in attesa di eventi sulla finestra..

Non posso neppure usare un thread perchè ci ho già provato e non và...

cioè, quella finestra non deve bloccare nessun flusso esecutivo, principale o thread che sia..
Allora forse non ho capito bene io cosa devi fare (spiegati meglio che cosi capisco ).
Se usi una dialog modale (DialogBoxXXX) il loop dei messaggi è già gestito internamente a queste funzioni mentre se usi una dialog "modeless" cioè non modale (CreateDialogXXX) devi gestire tu il loop dei messaggi. In ogni caso il thread principale di una applicazione è tipicamente sempre "occupato" nel loop dei messaggi per riceverli e dispacciarli alle finestre.
Se devi fare una qualche elaborazione lunga che non deve essere interrotta devi usare per forza un thread separato perché comunque non devi interrompere il loop dei messaggi e non devi nemmeno bloccare l'esecuzione per troppo tempo in risposta ad un messaggio nella window/dialog procedure!
Ma non sapendo bene cosa devi fare di preciso mi è difficile suggerirti qualcosa. Ciao.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2005, 09:56   #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
Il thread deve funzionare a tutti i costi... Da sempre si fa così con i dialoghi modali...

Se la tua applicazione deve fare dei calcoli che non devono essere bloccati dai dialog modali allora crea un thread dove devi svolgere questi calcoli (fin dall'inizio) e la gestione dell'interfaccia la demandi al thread principale... Questo deve funzionare perchè l'ho fatto tante volte
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2005, 00:38   #8
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Se non fosse che io devo fare una libreria di sistema, ovvero una Gina di autenticazione per Windows...

è un componente critico, non un applicativo..

Quindi anche la gestione dei thread è delicata... Se metto un dialog modeless che blocca il flusso principale, mi si pianta tutto e l'autenticazione non funziona..

Se uso un thread, non riesco a "pilotarlo" come vorrei e introduco rischi di sicurezza..

L'unica soluzione che al momento mi funziona è una finestra non modale lanciata dal processo principale... se lancio un dialog, questo non mi funziona...

Se decidessi di usare un thread per gestire un dialog modale, come dovrei fare? usare una createThread dal processo e poi all'interno della procedura del thread chiamare la DialogBox.... all'interno di un ciclo while infinito? (perchè altrimenti ad ogni risposta del dialog mi si chiuderebbe il thread )... scusate se dico fesserie, ma non sono molto pratico di threads..

Inoltre, è fondamentale che io possa gestire il messaggio WM_DEVICECHANGE in questa finestra perchè è l'unico avviso che il sistema manda quando c'è l'inserimento di un dispositivo esterno...quindi se per "gestione automatica" dei messaggi intendete che non posso controllare il WM_DEVICECHANGE, allora il dialog modale non và..

Non so se ora vi ho fatto capire meglio, ma visto il tipo di software non è tanto facile

grazie cmq..

Ultima modifica di fedo : 21-12-2005 alle 00:47.
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2005, 00:41   #9
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
.
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2005, 16:50   #10
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
non vi ho più sentito

Che mi dite?

Intanto auguri!
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 24-12-2005, 17:20   #11
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da fedo
non vi ho più sentito

Che mi dite?
Ciao, sia quello che ti ho scritto io che quello che ha scritto cionci per quanto riguarda i thread, è valido in generale nelle applicazioni Windows.
Ma il tuo caso è molto specifico perché stai lavorando a livello di sistema con le API Gina di autenticazione! E quindi essendo un argomento molto "delicato" e sicuramente complesso bisogna fare molta attenzione.
Io personalmente non ho mai lavorato con queste API (e non sono esperto di sicurezza) e quindi non saprei darti alcuna "dritta".

Quote:
Originariamente inviato da fedo
Intanto auguri!
Grazie, anche a te!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2006, 00:53   #12
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
OK,

ma non esiste un GUI Designer per il C Win32?

Ovvero, io sto creando le finestre con la CreateWindowEx e ci sto disegnando sopra con funzioni del tipo 'LineTo' , 'Rectangle', etc...
Una scomodità mostruosa!

Non esite un tool che mi fa disegnare cerchi, rettangoli , bottoni.. e poi mi tira fuori il codice C Win32 usando le funzioni che ho succitato?

Grazie
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2006, 15:48   #13
SoftWord
Bannato
 
Iscritto dal: Apr 2005
Messaggi: 260
Non vedo l'utilità di costruire l'intera gui con lineto quando già l's.o. lo fa, se poi devi fare cose ke l's.o. nn fa, disegnale a mano con un editor di immagini e gliele piazzi su, nel caso ridimensioni, disegni la gui con immagini a blocchi.
SoftWord è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2006, 17:49   #14
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Quote:
Originariamente inviato da SoftWord
Non vedo l'utilità di costruire l'intera gui con lineto quando già l's.o. lo fa, se poi devi fare cose ke l's.o. nn fa, disegnale a mano con un editor di immagini e gliele piazzi su, nel caso ridimensioni, disegni la gui con immagini a blocchi.

purtroppo è proprio la seconda cosa che hai detto

vabbè, mi darò alla grafica "rozza"

ciao
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2006, 17:56   #15
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da fedo
purtroppo è proprio la seconda cosa che hai detto

vabbè, mi darò alla grafica "rozza"
Devi creare un controllo "custom", cioè un controllo che ha un comportamento e/o interfaccia particolare??
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2006, 21:48   #16
SoftWord
Bannato
 
Iscritto dal: Apr 2005
Messaggi: 260
Quote:
Originariamente inviato da fedo
purtroppo è proprio la seconda cosa che hai detto

vabbè, mi darò alla grafica "rozza"

ciao

nnn ti preoccupare, se vedi interfaccie fuori dallo standard di windows, tipo winamp, windows media player stesso, vuol dire ke usano immagini :P
SoftWord è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2006, 01:22   #17
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Addirittura? Pure MediaPlayer? Non l'avrei mai detto
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2006, 01:23   #18
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
Quote:
Originariamente inviato da andbin
Devi creare un controllo "custom", cioè un controllo che ha un comportamento e/o interfaccia particolare??
Diciamo di si... è una finestra di sistema di Windows... ecco perchè è "particolare" e non si può ricorrere ai comuni dialog in maniera semplice..

ora sto cercando di mettere su un dialog, ma è un pò complesso..

ciao
fedo è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2006, 08:49   #19
SoftWord
Bannato
 
Iscritto dal: Apr 2005
Messaggi: 260
Quote:
Originariamente inviato da fedo
Addirittura? Pure MediaPlayer? Non l'avrei mai detto
beh nn è ke si rimettono a fare una gdi.dll apposta per un player

Ti dirò di +..........presente molti settaggi nel pannello di controllo ke hanno un interfaccia diversa ? anche il semplice "cerca" di windows ?

Ecco quelli sono fatti in html , ebbene si, puoi incapsulare l'oggetto di IE dentro le tue finestre, ed ogni evento puoi inteccettarlo col tuo linguaggio, tramite le COM+ mi pare.
SoftWord è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2006, 12:57   #20
fedo
Senior Member
 
L'Avatar di fedo
 
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
mai usata una tecnica simile..

Comunque interessante!

Grazie
fedo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Reddit punterà sull'AI per miglio...
Samsung ha obiettivi molto ambiziosi per...
I produttori non faranno sconti sulle me...
Ubisoft potrebbe cedere pezzi se il pian...
Qualcomm potrebbe utilizzare una tecnolo...
Starfield per Nintendo Switch 2 potrebbe...
Un MacBook Pro a -300€, i MacBook Air M4...
Amazon abbassa i prezzi sugli iPhone: sc...
Amazon, ancora sconti sugli smartphone A...
iPhone Air 2 'riciclerà' alcuni c...
Offerta Amazon da non perdere: lo speake...
Nioh 3 debutta alla grande su Steam: pri...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
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: 22:59.


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