Newsgroup: it.comp.lang.visual-basic
Titolo: Keycode 45 (ins)

Esiste un metodo con il quale possa attivare ins nel momento
in cui vado su una textbox e premo un tasto qualunque?
Grazie, alcau

 in cui vado su una textbox e premo un tasto qualunque?
Oltre a premere il tasto ... vedi SendKeys

> Oltre a premere il tasto ... vedi SendKeys
L' ins non lo sente

Trappare l'evento keydown e utilizzando le api appropriate
quali setcaret, destroycaret e showcaret puoi far vedere
anche il cursore che lampeggia.
La soluzione alternativa, più semplice, ma meno controllabile
è una sendkeys.
Ciao
Andrea

 L' ins non lo sente
'Crea in un form un bottone (Command1) e un textbox (Text1)
'Premendo il bottone sentirai il Beep, ma non saprei come
'vedere se il tasto Ins e' stato premuto (Ho un portatile
'senza alcuna spia)
Dim peso As Integer
Private Sub Command1_Click()
    Text1.SetFocus
    SendKeys "{INSERT}", True   'Con INS segnala un errore, la guida di
SendKeys e' sbagliata
    SendKeys Chr(peso), True
    peso = peso + 1
    If peso > Asc("Z") Then peso = Asc("A")
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyInsert Then
        Beep
    End If
End Sub
Private Sub Form_Load()
    Me.KeyPreview = True
    Text1 = ""
    peso = Asc("A")
End Sub

 è una sendkeys.
Sinceramente non sono riuscito nell'intento neppure con il sendkeys
Boh ....... sarà perchè sto lavorando su un portatile ?

 Boh ....... sarà perchè sto lavorando su un portatile ?
No!
Io credo che tu debba chiarire: Cosa deve fare la pressione virtuale del
tasto Ins? Bada che se presumi l'inserimento o la copertura ... mica è
automatico, dipende dall'applicativo, non da Windows.
A quel punto, qualunque sia la funzionalità che vuoi dare a Ins attivato o
meno, tanto vale alzare una variabile globale e agire di conseguenza.

 automatico, dipende dall'applicativo, non da Windows.
Devo attivare la copertura all'occorrenza
La uso in una textbox su una griglia quando modifico il valore numerici
contenuti.
mando sul primo caattere di sx e uno alla volta sovrascrivo il valore, così
ritorna + semplice l'inserimento, altrimenti dovrei cliccare sulla
griglia(tbox) spostarmi con il cursore
Shift+Fine, Canc e inserire il dato
Comunque penso che la textBox non accetti la copertura anche perchè provando
con un semplice sendkeys"{INSERT}",false una richTextBox fuziona

 fuziona
Te l'ho detto, la copertura va gestita, non è automatica.

E dipende anche dalla griglia che stai utilizzando ...
non tutte si comportano allo stesso modo ...
Ciao
Andrea

> Te l'ho detto, la copertura va gestita, non è automatica.
Ma anche se gestita la textBox non l'accetta. :-(

 Ma anche se gestita la textBox non l'accetta. :-(
Tu non leggi i post.

> Tu non leggi i post.
Cacchio ho letto tutto e provando, come ho detto nel mio penultimo
messaggio, con una richT  lo prende subito
mentre su una txtB non lo prende nemmeno se premo fisicamente il tasto INS
Mi sono perso qualcosa ?


Quale parte di "devi gestirlo tu" non ti è chiara ? :-)
Ovvero, da codice, per ogni tasto premuto, controlli se sei in modo
overwrite, in quel caso devi _sostituire_ l'eventuale carattere seguente
al cursore con quello appena premuto.
Bye, G.

 non tutte si comportano allo stesso modo ...
Ma cosa c'entra ?
In fin dei conti è sempre una Text sovrapposta a qualsiasi grid quindi
faccio sempre riferimento alla Text !

 al cursore con quello appena premuto.
Ahhhhhh ma era quello che intendevate !!!
Io vedendo la richT lavorare e sovrascrivere il testo contenuto (inviando
insert con sendkey o premendo fisicamente il tasto ins)
e senza aggiunta di altro codice pensavo che doveva farlo anche in una
textB.
Allora non c'è altro modo che intervenire cancellano o sovrascivendo il
testo nel textB via codice usando l'api getkeyboardstatus
o qualcosa del genere per sapere in ke condizione è il tasto ins.
Scusatemi, alcau