Newsgroup: it.comp.lang.visual-basic
Titolo: Tasto 'INS' ? Ci sei o no in Visual Basic ????

Che disperazione .....
sapete dirmi se in VB6 è possibile sapere se al il tasto "ins" è premuto o
meno durante l'applicazione ?
grazie
max
--------------------------------
Inviato via 
http://usenet.libero.it

 max
Hai provato con le api? prova con GetKeyState forse ti risolve il problema
http://www.allapi.net/apilist/GetKeyState.shtml


ma che sfiga ..... ho trovato la possibilità di controllare tutti i tasti ,
anche le luci di caps-lock e bloc num, ma niente per l'INS !!!!!!
help ancora aperto .....


 
Forse sbaglio, ma non credo che INS abbia in se' una funzione INS, cioe' 
sei tu che decidi cosa fare quando viene premuto il tasto INS. 
Convenzionalmente il tasto Ins viene utilizzato per modificare la 
modalita' di inserimento testo, ma tu puoi usarlo per cio' che preferisci.
Riassumendo: non credo che windows memeorizzi lo stato del tasto INS, 
quindi sei tu che devi gestirlo: quando viene premuto il tasto INS 
imposti un flag a True, quando viene premuto di nuovo lo imposti a 
False. In base al valore di questo flag tu eseguirai un tipo di 
operazione piuttosto che un'altra ...
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!


Il mio problema è riuscire ad attivare l'INS con "SendKeys [INSERT]" se
questo non è attivo senza premere il tasto sulla tastiera, NON di far
partire una Sub alla pressione del tasto INS, forse mi ero spiegato
male.....
max.



questo comando non lo riconosce VB ??? perchè ?


 questo comando non lo riconosce VB ??? perchč ?
beh intanto credo che questa api rilevi lo stato della tastiere e non lo
imposta, almeno mi pare,
e dai tuoi post mi sembra che tu lo debba impostare, comunque,  quando usi
una api la devi dichiarare nel codice poichč non č un comando esplicito di
VB.
Ti sei letto il link?
Devi dichiarare la funzione:
Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal
nVirtKey As Long) As Integer
etc.


ci sto provando ma non mi da grandi risultati ....... ci lavoro ancora .....



sei grande !!!!!!!!!! funziona !!!!! GarbageFile ti voglio bene ..... niente
di personale però ......


> ci sto provando ma non mi da grandi risultati ....... ci lavoro ancora
.....
Guardati questo forse fa piu al caso tuo
http://www.allapi.net/apilist/SetKeyboardState.shtml

 di personale però ......
per fortuna che è un'emozione virtuale?!
:-]

 Il mio problema è riuscire ad attivare l'INS
Il problema è questo:
Esiste uno stato 'insert', infatti INSERT è uno dei virtual key gestiti, e
puoi monitorarlo con l'API GetKeyboardState che restituiisce un array di
btte uno dei quali (il numero 45, &H2D) rappresenta il nostro tasto 'Ins'
Però ogni programma se lo gestisce per conto suo!
Infatti se apri word e wordpad, hanno una gestione separata dello stato
INSERT
Il sistema operativo 'avvisa' la finestra attiva della pressione del tasto
INS (forse fa anche un broadcast, non ho capito bene) e questa poi ci fa
quello che vuole.
Per esempio, la richtextbox lo usa, la textbox no.
Per forzare l'invio del messaggio anche se il tasto non è stato fisicamente
premuto usa l'API SendMessage simulando la pressione ed il rilascio di Ins.
Ci sarà magari un messaggio un messaggio apposito, comunque questo trucco
funziona.
Per esempio:
Const WM_KEYUP = &H101
Const WM_KEYDOWN = &H100
Const VK_INSERT = &H2D
SendMessage RichTextBox1.hwnd, WM_KEYDOWN, ByVal VK_INSERT, 0
SendMessage RichTextBox1.hwnd, WM_KEYUP, ByVal VK_INSERT, 0
Così la richtextbox1 riceve il messaggio e passa dalla modalità
sovrascrittura alla modalità inserimento.
Potresti gestire un flag per ricordare l'ultimo stato, e magari segnalarlo,
ma dovresti intercettare anche i messaggi generati dal SO altrimenti perdi
la sincronizzazione.
--
Ciao, Silv:o)