Newsgroup: it.comp.lang.visual-basic
Titolo: [VB6] Niente "click" su una Textbox enabled, si può ?

Ciao a tutti.
Vorrei sapere se (e come) è possibile fare in modo che una textbox (enabled
e non locked) *non* riceva il fuoco quando ci clicco sopra con il mouse, ma
il fuoco rimanga dove era prima... qualcosa tipo quello che succede quando
enabled è a false, che non voglio usare.
Qualcuno mi può dare una mano ?

 enabled è a false, che non voglio usare.
Perchè non vuoi usarlo?
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
Se i tempi non chiedono la tua parte migliore, inventa altri tempi. 
(Baolian, libro II, vv. 16-17)
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Perchè non vuoi usarlo?
Perchè il testo cambia colore ed assume quello definito dal sistema (grigio
di solito) e non mi va bene. Ho googlato ed ho trovato una soluzione che
utilizza l'API SetSysColors che funziona...anche troppo, nel senso che come
dice il nome stesso modifica il colore su tutte le applicazioni, cosa che
non voglio.
Attualmente la migliore soulzione che ho è quella di utilizzare dei frame e
delle picturebox e disabilitare quelle, ma non mi pare molto elegante come
souzione.


Usare una label ? 

> Usare una label ?
Beh dai, non sono cosě pirlone.. :-)
In determinate circostanze devono essere editabili.


allora label sopra e text sotto, a seconda delle necessità usi l'una o 
l'altra.

 In determinate circostanze devono essere editabili.
Allora secondo me stai cercando di fare una porcata di interfaccia utente.
Ciao 

 l'altra.
Si, avevo pensato anche a questo, ma a questo punto meglio un frame o una
picturebox e si disabilita quella, piuttosto che battagliare con i vari
zorder o visible.
Come dicevo nel messaggio iniziale, pensavo che ci potesse essere una
soluzione con API o qualcosa del genere per rendere inefficace un click del
mouse o in alternativa per cambiare colore al testo quando la textbox e
disabilitata.
Grazie comunque.
Paolo


Non č che ci sia poi cosě da battagliare
imposti di default una visibile e l'altra no
sull'evento che deve rendere editabile la text scrivi
label.Visible = Not label.Visible
text.Visible = Not text.Visible
per fare le cose poi ancora piů fini dai il fuco quando serve alla text 

dimenticavo, ...
ovviamente i due controlli sono sovrapposti 

 Allora secondo me stai cercando di fare una porcata di interfaccia utente.
Posso essere d'accordo con te.
In realtà sto sviluppando un progamma free, ad uso hobbistico, che sia il
più simile possibile ad uno che esiste già, molto utilizzato tuttora, ma che
è dos, non è più supportato dall'autore e che non gestisce (ne lo farà mai)
determinate cose, che quindi vorrei fare io.
Il tutto mantenendo una funzionalità la più simile possibile all'originale,
per cercare di non stravolgere le abitudini dei "vecchi" utenti.
Mi comunque rendo conto che può sembrare una porcata.

 ha scritto nel messaggio news:437ddb4c$1...@newsgate.x-privat.org...

in effetti esiste l'Api (una serie di api, per la precisione),
devi subclassare il textbox tramite l'handle (hWnd)
e azzerare l'evento che ti interessa evitare (tramite un exit function)
 nelle circostanze che gli dirai tu

 per cercare di non stravolgere le abitudini dei "vecchi" utenti.
Allora non vedo cosa ci sia di male a lasciare la textbox Locked, così uno 
volendo ha anche la possibilità di copiare il testo nella clipboard.
Ciao 

 volendo ha anche la possibilità di copiare il testo nella clipboard.
Non voglio che con il mouse si spostino da un campo all'altro.
Userò una picturebox o un frame senza bordi.
Grazie e tutti.
Paolo

 Userò una picturebox o un frame senza bordi.
Allora potresti disinstallargli i driver del mouse...
Davvero, mi pare che tu stia usando Windows come se fosse una finestra 
DOS... un po' patetico, non trovi?
Ciao 

 DOS... un po' patetico, non trovi?
Ti ripeto, la tua opinione č piů che condivisibile.
Pure a me non piace molto e ti dirň di piů: inizialmente, per farlo
veramente uguale, avevo pensato di fare un'applicazione console, che non da
tutti questi casini (probabilmente ne darebbe altri), ma con VB6 č un
inferno.
Comunque sia, il programma č abbastanza semplice e, se posso, accontento chi
me lo ha chiesto...
Ciao, Paolo


Nel suo evento clik ci metterei: controllo_precedente.setfocus
Ma serve una variabile che conservi controllo_precedente
ciao
--
Greg

Potresti subclassare il controllo ed inibire il tasto sx del mouse...
-- 
Quando noi ignoranti eravamo di più, tutto era più bello...
(A. Celentano)
Per rispondermi in privato, togli prima l'immondizia dalla testa ;)

> Potresti subclassare il controllo ed inibire il tasto sx del mouse...
O, meglio, bloccare il messaggio WM_SETFOCUS...
-- 
Quando noi ignoranti eravamo di più, tutto era più bello...
(A. Celentano)
Per rispondermi in privato, prima togli "l'immondizia dalla testa" :)

 O, meglio, bloccare il messaggio WM_SETFOCUS...
Purtroppo del subclassing non conosco nulla. Immagino si effettui tramite
chiamara ad API.
Per caso hai un esempio ?
Grazie, Paolo

Dimmi il tuo indirizzo di posta che ti spedisco un esempietto in VB...


Ho inviato, ma GMail faceva un po' di questioni riguardo il file .bas, 
cosě ho rarrato tutto con password e cambiato l'estensione in .dat, ma 
nell'email ti ho indicato pure quella :)
Fammi sapere se qualcosa non va col progetto (che comunque ho testato) :)
-- 
Quando noi ignoranti eravamo di piů, tutto era piů bello...
(A. Celentano)
Per rispondermi in privato, togli prima l'immondizia dalla testa ;)

 Fammi sapere se qualcosa non va col progetto (che comunque ho testato) :)
Una cosa: non capisco dove vada il fuoco quando premo sul tasto di
tabulazione. Sparisce ed anche continuando a tabulare non ricompare mai
sulla text1.
Mi studierň la cosa. Mille grazie.
Paolo

 Paolo
Darkbyte
-- 
Quando noi ignoranti eravamo di più, tutto era più bello...
(A. Celentano)
Per rispondermi in privato, prima togli "l'immondizia dalla testa" :)

 colore di Enabled = True.
Si, la soluzione non č il massimo, ma mi serve comunque per capire cos'č sto
benedetto subclassing che spesso viene nominato.
Grazie ancora!!
Paolo