Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - immagine
Forum - Visual Basic 6 - immagine

Pagine: [ 1 2 3 4 5 6 7 8 ] Precedente | Prossimo
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 115
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 16:51
Martedì, 19/01/2010
Ciao a tutti mi chiedevo se fosse possibile far attivare un immagine bitmap
inserita nella picture di un command premendo i tastierini numerici della tastiera del computer????

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 17:19
Martedì, 19/01/2010
E poi dimmi che non è un trip.

Se il command (con Style=Graphical) non ha già una immagine o se ce l'ha ma la vuoi cambiare

Command.picture = LoadPicture(indirizzo della picture)
oppure
Command.picture=Image1.Picture (deposito della nuova immagine

Se la vuoi togliere

Command.picture = LoadPicture()

Come operare dipende da che versione della calcolatrice sei arrivato .
In teoria dovresti simulare un MouseDown dove caricare la nuova immagine e un MouseUp dove caricare la vecchia. :)

PM Quote
Avatar
Louis (Normal User)
Pro


Messaggi: 150
Iscritto: 22/04/2008

Segnala al moderatore
Postato alle 17:52
Martedì, 19/01/2010
In alternativa di quanto segnalato da Alfonso, potresti utilizzare ImageList, nel seguente modo.
Poniamo d'avere una Txt ove vengono inseriti i numeri e d'aver caricato l'ImageList con indice corrispondente ad ogni numero:
Codice sorgente - presumibilmente Delphi

  1. If Val(Text1.Text) = 1 Then Set Command1.Picture = ImageList1.ListImages(1).Picture
  2.     If Val(Text1.Text) = 2 Then Set Command1.Picture = ImageList1.ListImages(2).Picture
  3.     If Val(Text1.Text) = 3 Then Set Command1.Picture = ImageList1.ListImages(3).Picture
  4.     ' .......



PM Quote
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 115
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 15:41
Mercoledì, 20/01/2010
non sò come fare fare ??? mousedown mouseup che cosa form o number???
e come faccio a caricare devo mettere es. number=c\documnti\immagine ecc.???
altra cosa come li richiamo col tastierino numerico del computer???

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 17:44
Giovedì, 21/01/2010
Se tu cliccassi sui tasti dei numeri potresti usare gli eventi mouse_down e mouse_up dei pulsanti.
Ma tu chiedi cosa fare usando i tasti numerici della tastiera allora puoi usare i KeyDown e keyUp dei pulsanti.
Quando ho scritto simulare, intendevo una subroutine dove metti il codice per cambiare la bitmap del pulsante in modo da avere lo stesso effetto in entrambe le situazioni.
Codice sorgente - presumibilmente VB.NET

  1. Private Sub TastoGiu (index as integer)
  2.     Command(index).Picture = LoadPicture(indirizzo della picture "tasto abbassato-index")
  3. end sub


index potrebbe essere il numero premuto o cliccato.
Le immagini, finchè non funziona tutto, lasciale nella cartella della tua applicazione.
Poi potrai studiarti l'ImageList.

Ultima modifica effettuata da Alfonso il 21/01/2010 alle 17:45
PM Quote
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 115
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 21:02
Giovedì, 21/01/2010
grazie per le risposte però non ho capito il codice che devo mettere in keydown???

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 0:05
Venerdì, 22/01/2010
Se non è cambiato niente dall'ultima tua versione aggiungi:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  2.     Dim Index As Integer
  3.     Select Case KeyCode
  4.         Case Asc("0") To Asc("9")
  5.             Index = KeyCode - Asc("0")
  6.             TastoGiu Index
  7.     End Select
  8. End Sub
  9. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
  10.     Dim Index As Integer
  11.     Select Case KeyCode
  12.         Case Asc("0") To Asc("9")
  13.             Index = KeyCode - Asc("0")
  14.             TastoSu Index
  15.     End Select
  16. End Sub
  17. Private Sub Number_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  18.     TastoGiu Index
  19. End Sub
  20. Private Sub Number_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  21.     TastoSu Index
  22. End Sub
  23. Private Sub TastoGiu(Index As Integer)
  24.     Number(Index).Picture = ImageGiu.Picture
  25. End Sub
  26. Private Sub TastoSu(Index As Integer)
  27.     Number(Index).Picture = ImageSu.Picture
  28. End Sub


PM Quote
Avatar
maurizio74 (Normal User)
Pro


Messaggi: 115
Iscritto: 30/03/2009

Segnala al moderatore
Postato alle 12:12
Venerdì, 22/01/2010
Ti ringrazio tantissimo per la tua pazienza, l'unica cosa che non ho capito adesso è:
allora io ho i numeri della calcolatrice che sono fatti di command e si chiamano "number"
adesso io cosa devo fare creare altri command doppioni  e chiamarli tastogiu e tastosu o praticamente non c'ho capito niente???'

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 12:28
Venerdì, 22/01/2010
La seconda è quella giusta!! :)

TastoGiu e TastoSu sono due subroutine (servono ad impostare la bitmap dei pulsanti number) che sono richiamate:
1- dagli eventi Mouse_Down e Up dei pulsanti Number quando ci clicchi sopra
2- dagli eventi Keydown e Keyup della form quando premi i tasti numerici della tastiera.

Rispetto all'ultima versione del tuo programma, sono tutti pezzi di codice che non esistevano e vanno aggiunti nel codice della form CALC  

PM Quote
Pagine: [ 1 2 3 4 5 6 7 8 ] Precedente | Prossimo