Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
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: 8334
[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: 8334
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: 8334
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: 8334
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: 8334
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: 8334
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


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
NVIDIA mostra una comunità di rob...
Sony annuncia LYTIA L910, arriva il sens...
Ericsson, il 5G è l’infrastruttur...
Marvell punta tutto su TSMC A14: sar&agr...
Hyundai a un passo dal controllo totale ...
Questo SSD vecchio 16 anni ha resistito ...
Monopattino elettrico Xiaomi in offerta:...
Microsoft usa le capre di Age of Empires...
Microsoft conferma bug nel Cestino in tu...
Accenture crolla del 20% in borsa, il pe...
ASUS Pro WS W890E-SAGE SE: sette PCIe 5....
Attenzione al prezzo di questa TV Hisens...
Chrome sbeffeggiato da Ballmer nel 2009:...
Un gioco Mac compatibile con Apple Silic...
La batteria allo stato solido di Honda s...
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: 23:31.


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