Oppure

Loading
29/03/09 11:59
komi
ciao a tutti e buona domenica
vi chiedo se è possibile inserire in un textbox o richtextbox una gif animata
che segua il caret ad ogni inserimenti di carattere?
se si come si fa?
io ho provato ma la gif rimane ferma ed il testo scorre al di sotto di essa
grazie a tutti
aaa
29/03/09 12:36
GrG
non ti ho capito bene... e poi cosa sarebbe il caret?

p.s. premetto che dubito che le gif possano funzionare su textbox e richbox
aaa
29/03/09 13:11
tippolo
Postato originariamente da GrG:

non ti ho capito bene... e poi cosa sarebbe il caret?

Il caret è quella linea verticale lampeggiante che indica la posizione in cui verrà inserito un carattere digitato da tastiera.
Possiamo definirlo Focus? :asd:
Ultima modifica effettuata da tippolo 29/03/09 13:12
aaa
29/03/09 13:42
GrG
Ok grazie per il kiarimento tippolo ;)

eh comunque allora mettere una gif che segue il caret penso sia una cosa quasi impossibile...
aaa
29/03/09 14:49
tippolo
scusate post doppio :pat:
Ultima modifica effettuata da tippolo 29/03/09 15:30
aaa
29/03/09 15:29
tippolo
Postato originariamente da tippolo:

Postato originariamente da GrG:

eh comunque allora mettere una gif che segue il caret penso sia una cosa quasi impossibile...
Io sinceramente non lo so...
Inventarsi qualcosa con la funzione Right? ...ecchècentra

Qualcos'altro? Boh! :-?


Però, visto che komi ha già provato:
Postato originariamente da komi:
...io ho provato ma la gif rimane ferma ed il testo scorre al di sotto di essa


se mostrasse il codice che utilizza chissà se non ne venga fuori qualcosa?
aaa
30/03/09 8:15
komi
ciao a tutti
vi invio 4 diversi esempi, tutti riguardanti lo stesso argomento;

a) nel primo esempio inseriamo ,nel form, 2 textbox e due controlli
ShockwaveFlash;
quando i text ricevono il focus, compare l'animazione:

Private Sub Text1_GotFocus()
Flash1.Visible = True
End Sub

Private Sub Text1_LostFocus()
Flash1.Visible = False
End Sub

Private Sub Text2_GotFocus()
Flash2.Visible = True
End Sub

Private Sub Text2_LostFocus()
Flash2.Visible = False
End Sub

il problema è ke se inseriamo il flash nei textbox l'animazione non si vede.
inoltre l'anim. è in flash;
se inseriamo una gif animata,si ha lo stesso problema e si deve usare un controllo specifico, tipo ocx
perciò come si può inserire una gif senza ocx, e visualizzarla nel textbox?
dal momento ke si ripetono le stesse linee di codice come si può evitare ad esempio cun un ciclo for next o for each?

b) nel secondo esempio, inseriamo un richtextbox ed un controllo flash;

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Sub Form_Load()

With RichTextBox1
.SelStart = Len(.Text)
Clipboard.Clear
Clipboard.SetData Image1.Picture
SendMessage .hWnd, &H302, 0, 0
Clipboard.Clear

End With
End Sub

in questo caso si vede il flash, ma rimane nella stessa posizione;
se digitiamo un testo, quest'ultimo scorre sotto il flash e non si vede.
come si può spostare l'animazione all'avanzare del testo o renderlo trasparente in modo che si veda il testo?

c) in questo esempio, abbiamo sul form una imagebox ed un timer;

Option Explicit
Dim x As Integer

Private Sub Timer1_Timer()
'i frames sono numerati da 0 a 3, per un totale di 4 frames
' la proprietà interval del timer è uguale a 20
Image1.Picture = LoadPicture("cartella dei frames\frame_0" & x & ".bmp";)
x = x + 1

If x = 4 Then '4 è il numero dei frames
x = 0 'back to zero to loop
End If
End Sub

in questo caso l'animazione è in formato bmp, e viene divisa nei sui frames.
se proviamo a mettere i frames di una gif animata, si vede una gif statica, comunque si faccia variare la proprietà interval del timer.
come posso ovviare a questi problemi?

d) infine in questo ultimo esempio, sul form abbiamo una picturebox ed un richtextbox

Option Explicit

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_PASTE = &H302

Private Sub Form_Load()
' Copia l'immagine nella clipboard.
Clipboard.Clear
Clipboard.SetData Picture1.Picture

' incolla l'immagine nel RichTextBox.
SendMessage RichTextBox1.hwnd, WM_PASTE, 0, 0

End Sub

i problemi in questo caso sono:
si tratta di una immagine statica e non una gif o flash;
l'immagine si trova sempre all'inizio del richtextbox;
er spostare il caret bisogna cliccare o sposarsi all'inizio del rich ad esempio con il tasto freccia;
digitando un testo l'immagine si sposta precedento il cursore.
come si può stabilire la posizione dell'immagine, ed inserire una animazione?
ad esempio si potrebbe inserire una emoticon amimata come avviene in questa chat ,cke segua il cursore?

scusate per la lunghezza di questo post, ma credio ke essendo l'argomento identico era inutile inviare 4 post diversi;
inoltre chi legge può avere le idee + chiare.
grazie per la vostra comprensione e spero di non aver violato il regolamento del forum
ciao a tutti
lemac



aaa
30/03/09 8:19
komi
... ragazzi sto provando con le emoticon, per ora quelle statiche, poi vediamo quelle animate;
vi faccio sapere
ciao
aaa