Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-04-2010, 17:26   #1
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8271
[C++] Inserire icona "Salva" su bottone (MFC VisualC++)

Sto imparando a utilizzare le MFC che VisualStudio 6 mette a disposizione per fare le GUI. Non riesco a capire come mettere un'icona su un pulsante (voglio creare il pulsantino SALVA e APRI con le stesse icone di windows).

Dando un'occhiata ai file sorgente non riesco a trovare il file dove vengono dichiarati i bottoni e tutta la GUI, magari servono quelli non lo sò.

Come si fà?
__________________
System Failure
Perseverance è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2010, 20:48   #2
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
Welcome to the strange world of MFC
http://www.codeproject.com/KB/buttons/iconbutton.aspx

Tutto questo codice per fare un pulsante con una icona, cose che gli altri framework ti offrono gratuitamente.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2010, 21:20   #3
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8271
OOOHH, allora visto che ti indendi di code::blocks mi devi aiutare ad installarlo xkè io ci ho già provato 2 volte ma non ci riesco. A quanto pare devo usare le WxWidget (giusto?) xò mi blocco al punto della compilazione dei sorgenti di questo plugin, xkè mi dà errori strani e mi si ferma.

Cosa intendi per altri framework, io sono alle prime armi e ho fatto con ciò che avevo!

Mi aiuteresti?
__________________
System Failure

Ultima modifica di Perseverance : 15-04-2010 alle 21:28.
Perseverance è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 00:08   #4
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
Vuoi usare un framework diverso da MFC ? http://qt.nokia.com/downloads
Ci sono IDE e librerie.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 07:20   #5
theking0
Member
 
L'Avatar di theking0
 
Iscritto dal: Jul 2007
Messaggi: 45
Quote:
Originariamente inviato da cionci Guarda i messaggi
Vuoi usare un framework diverso da MFC ? http://qt.nokia.com/downloads
Ci sono IDE e librerie.
Come dice cionci puoi usare le Qt di Nokia, sono multi piattaforma e hanno una curva di apprendimento abbastanza ripida (le impari in fretta).

se scarichi questo pacchetto e lo installi ti ritrovi già tutto pronto per sviluppare: SDK e QtCreator (un ottimo IDE) il tutto già configurato.
theking0 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 11:15   #6
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8271
Ti ringrazio molto, mi metterò a studiare questo Qt SDK. Intanto però ho perseverato nel cercare risposta sulle MFC e ho capito che devo ridefinire il metodo disegna_bottone, però sono davvero criptiche le MFC. Ho seguito questa guida http://www.codeguru.com/cpp/controls...icle.php/c5157

Ho installato l'SDK completo di quel programma che mi hai linkato, mi ha portato via mezz'ora per l'installazione ma mi pare un bel programmino per sviluppare in c++ GUI.

__________________
System Failure
Perseverance è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 11:28   #7
theking0
Member
 
L'Avatar di theking0
 
Iscritto dal: Jul 2007
Messaggi: 45
Quote:
Originariamente inviato da Perseverance Guarda i messaggi
Ti ringrazio molto, mi metterò a studiare questo Qt SDK. Intanto però ho perseverato nel cercare risposta sulle MFC e ho capito che devo ridefinire il metodo disegna_bottone, però sono davvero criptiche le MFC. Ho seguito questa guida http://www.codeguru.com/cpp/controls...icle.php/c5157
le MFC ormai sono più che deprecate, è un framework sviluppato quasi 20 anni fa e che nel tempo la sua struttura non è pressoché cambiata, quindi capirai anche tu che dopo tutti questi anni le tecnologia si evolvono e migliorano.

Quello che in MFC fai in una giornata di lavoro con le Qt lo fai in un decimo del tempo, senza contare poi che le MFC NON sono portabili, le Qt SI.

Quote:
Ho installato l'SDK completo di quel programma che mi hai linkato, mi ha portato via mezz'ora per l'installazione ma mi pare un bel programmino per sviluppare in c++ GUI.
Si, effettivamente ci mette un po a installare il tutto, ma una volta finito non devi configurare più nulla
theking0 è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 11:37   #8
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
Quote:
Originariamente inviato da theking0 Guarda i messaggi
Quello che in MFC fai in una giornata di lavoro con le Qt lo fai in un decimo del tempo
Forse meno. Con gli style sheet cambiare il colore dei controlli è immediato ad esempio.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 11:43   #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
Fai conto che quello che hai trovato scritto su quella pagina per cambiare il colore dello sfondo e del testo con le Qt si fa così:

ui->pushButton->setAutoFillBackground(true);
ui->pushButton->setStyleSheet("background-color: rgb(255, 0, 0); color: rgb(255, 255, 255)");
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 12:04   #10
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
Per farti apprezzare ancora di più, crea un nuovo progetto con Qt, metti qualche pulsante.
Ora apri il main e modificalo così:
Codice:
#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    a.setStyleSheet("QPushButton {"\
       "background-color: red;"\
       "border-style: outset;"\
       "border-width: 2px;"\
       "border-radius: 10px;"\
       "border-color: beige;"\
       "font: bold 14px;"\
       "min-width: 10em;"\
       "padding: 6px;"\
       "};"\
       "QPushButton:pressed {"\
       "background-color: rgb(224, 0, 0);"\
       "border-style: inset;"\
       "};");
    MainWindow w;
    w.show();
    return a.exec();
}
Il bello è che lo puoi anche cambiare a runtime

Ultima modifica di cionci : 16-04-2010 alle 12:12.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 14:00   #11
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8271
UeeUee calma, devo ancora capire dove sono i bottoni per salvare e aprire i progetti E' un'interfaccia nuova e mi sento spaesato al momento. Gli ho dato un'occhiata e il programma mi piace. Peccato che impieghi 3 minuti a compilarmi un file banalissimo (sarà anche colpa del mio procio AMD Thunderbird a 800Mhz). Non c'è un compilatore più lesto?
__________________
System Failure
Perseverance è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 14:18   #12
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
3 minuti sono tantini. Mi sembra strano che ci metta così tanto. Prova a liberare un po' di memoria. Quanta ram hai ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 18:02   #13
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8271
768 MB di ram, anche quando provai il WxDevC++ col mingw32 i tempi erano quelli. Cosa pensi che sia?
__________________
System Failure
Perseverance è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 18:07   #14
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
Quote:
Originariamente inviato da Perseverance Guarda i messaggi
768 MB di ram, anche quando provai il WxDevC++ col mingw32 i tempi erano quelli. Cosa pensi che sia?
Forse ti swappa ? Mi sembrano veramente esagerati. Su Linux ci mette 10 secondi a compilare un progetto. Anche su Windows non mi sembrava che fossero così alti.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 18:27   #15
Perseverance
Senior Member
 
L'Avatar di Perseverance
 
Iscritto dal: Jul 2008
Messaggi: 8271
E' davvero strano, ho riavviato e creato un progetto Qt4 GUI, ora in 20 secondi lo compila e lo avvia. Probabilmente faceva così xkè non avevo riavviato il pc da anni. Cmq non ho swap, 768MB di RAM pura.
__________________
System Failure
Perseverance è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2010, 18:33   #16
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
Quote:
Originariamente inviato da Perseverance Guarda i messaggi
Cmq non ho swap, 768MB di RAM pura.
Fai molto male...è per quello che ti si rallentava. A lungo andare si verifica il fenomeno chiamato frammentazione della Ram. In pratica i programmi fanno fatica a trovare spazio contiguo per allocare memoria. Per fare questo si devo far girare complessi algoritmi di mappatura e spostamento.
Se attivi lo swap non hai di questi problemi, perché periodicamente i programmi vengono scaricati comunque su disco e la ram resta sempre molto più compattata.
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
CMF Buds 2 vs Nothing Ear (a): due auric...
Microonde e friggitrici ad aria con supe...
Amazon Haul: bestseller a -40% acquistan...
C'è ancora spazio per gli iMac: &...
GPU gaming a rischio? Micron oltre l'HBM...
iPhone 18 Pro, cambio di design in arriv...
OnePlus non molla: la serie Nord 6 sar&a...
GeForce RTX 3080 raffreddata con un diss...
Proofpoint mette in sicurezza gli agenti...
Annunci falsi su Bakeca con dati veri di...
Attenzione alla truffa dell'assegno di A...
Addio al mito delle batterie a stato sol...
400 milioni e un obiettivo ambizioso: Re...
TCL 2026: la tecnologia SQD-Mini LED arr...
Gli aggiornamenti arriveranno, ma non si...
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: 08:39.


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