Risalve,
volevo sapere se possibile come poter salvare ciò che si vede su un form ossia salvare su un file jpg o bmp l'immagine di un form.
Grazie in anticipo
Risalve,
volevo sapere se possibile come poter salvare ciò che si vede su un form ossia salvare su un file jpg o bmp l'immagine di un form.
Grazie in anticipo
SavePicture immagine, espressionestringa
immagine, indica il nome del controllo (in questo caso form).
espressione stringa è il percorso del tuo file bmp o jpg ect:
esempio: savepicture form1, "c:/sonofigo.jpg"
ciao!!
ho provato a far cosi' ma mi da errore :
Tipo non corrispondente
Ho provato a scrivere
SavePicture Pannello, "c:/sonofigo.jpg"
(Pannello e' il nome del Form)
SavePicture Me, "c:/sonofigo.jpg"
ma nulla da fare.
se ti serve tramite codice in esecuzione... non saprei, però prova:
1 metti il form in primo piano
2 premi sulla tastiera il tasto print/stamp (copia)
3 apri un editor grafico
4 fai incolla su un nuovo documento,
avrai tutto il desktop in un'immagine con la form che ti interessa e la salvi dove vuoi.
ax-site&site cosi' funziona....lo so, io volevo far fare automaticamente dal programma senza fare Fn + Stamp ecc..ecc..
Ciao Alexinfa,
prova in questo modo:
PS. inserisci un controllo Image1 nella Frm.codice:Private Declare Sub keybd_event Lib "user32" _ (ByVal bVk As Byte, ByVal bScan As Byte, _ ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Const VK_SNAPSHOT = &H2C '------------------------------------------------------ Private Sub Command1_Click() Dim Msg ' Imposta la gestione degli errori: On Error GoTo ErrorHandler ' Pulisce la Clipboard Clipboard.Clear ' Elimina la bitmap dal form: Image1.Picture = LoadPicture() 'per "simulare" la pressione del tasto STAMP: keybd_event VK_SNAPSHOT, 1, 0, 0 DoEvents ' Recupera l'immagine dalla Clipboard: Image1.Picture = Clipboard.GetData(vbCFDIB) ' Salva l'immagine in un file: SavePicture Image1.Picture, App.Path & "\Prova\ProvaScreen.bmp" ' Elimina la bitmap dal form e libera la memoria utilizzata: Set Image1.Picture = Nothing ErrorHandler: If Err.Number <> 0 Then MsgBox "Errore durante il tentativo d'acquisire l'immagine - " & "Numero errore: " & Err.Number & vbCr _ & "Descrizione: " & Err.Description, vbCritical, "Prova acquisizione immagine dello schermo con la Clipboard." Err.Clear Exit Sub End If End Sub
![]()
LM
LMondi funziona perfettamente pero' c'e' un problema.
Il mio prg e' composto da un MDIForm e un form figlio; nel form figlio vi sono presenti tante foto. Le foto sono piu' di una decina e sono molto grandi come dimensione e quindi in essa appare, come giusto che sia, una barra di scorrimento verticale.
A questo punto quando clikko sul pulsante Command1 il prg mi stampa solo cio' che vedo cioe' una porzione di form figlio e quindi solo le foto che in quel momento sto guardando.
Teoricamente si dovrebbe ciclicamente simulare il Fn+Stamp ma anche simulare lo spostamento della barra verticale in maniera tale da poter salvare tutte le foto.
Alexinfa,
ritengo che si debba cambiare procedura, ovvero posizionare dei controlli Image sulla Frm, salvare il contenuto dei predetti controlli sull'HD. Ciò consentirebbe anche di aprire successivamente le immagini volute.![]()
LM
Non e' tanto semplice cio' che dici.