Il linguaggio Visual Basic di Microsoft
 

[VB6] un parere da che ne sà più di me

Carmelo 14 Gen 2015 14:29
Ho creato uno usercontrol griglia prendendo spunto dalla grid di
vbaccelerator, modificandola a seconda delle mie esigenze. Per creare le
celle editabili sto usando una textbox che sposto nelle celle attive, ma
non mi convince molto questa soluzione.
La mia domanda è:
Secondo voi le griglie tipo Datagrid di vb6 o DataGridView di vb.net
cosa usano per editare le celle?

Carmelo
Luca D 14 Gen 2015 19:24
On Wednesday, January 14, 2015 at 2:29:07 PM UTC+1, Carmelo wrote:
> Ho creato uno usercontrol griglia prendendo spunto dalla grid di
> vbaccelerator, modificandola a seconda delle mie esigenze. Per creare le
> celle editabili sto usando una textbox che sposto nelle celle attive, ma
> non mi convince molto questa soluzione.
> La mia domanda è:
> Secondo voi le griglie tipo Datagrid di vb6 o DataGridView di vb.net
> cosa usano per editare le celle?
>
> Carmelo

Concettualmente usano dei controlli textbox tradizionali (se usi cose tipo Spy++
si dovrebbe notare); il come implementano effettivamente la cosa per ottenere
l'effetto estetico migliore non saprei dirti.

Però, se dici di essere partito dalla griglia di vbAccellerator, e suppongo
quindi tu parli di SGrid2, che è completa di sorgenti, allora dovresti già
trovare pronta l'implementazione delle celle editabili, visto che il controllo
le supporta di sicuro.
Franz_aRTiglio 14 Gen 2015 19:53
Nel suo scritto precedente, Carmelo ha sostenuto :
> Ho creato uno usercontrol griglia prendendo spunto dalla grid di
> vbaccelerator, modificandola a seconda delle mie esigenze. Per creare le
> celle editabili sto usando una textbox che sposto nelle celle attive, ma non
> mi convince molto questa soluzione.
> La mia domanda è:
> Secondo voi le griglie tipo Datagrid di vb6 o DataGridView di vb.net cosa
> usano per editare le celle?

seNplice: quando clicchi una cella, il focus si sposta su una texbox
nascosta*, ad ogni evento change della textbox la cella viene
aggiornata con il contenuto della textbox.

*non invisibile, semplicemente nascosta da un altro controllo o
spostata oltre il bordo del form.
Carmelo 15 Gen 2015 15:21
Il 14/01/2015 19:24, Luca D ha scritto:
> On Wednesday, January 14, 2015 at 2:29:07 PM UTC+1, Carmelo wrote:
>> Ho creato uno usercontrol griglia prendendo spunto dalla grid di
>> vbaccelerator, modificandola a seconda delle mie esigenze. Per creare le
>> celle editabili sto usando una textbox che sposto nelle celle attive, ma
>> non mi convince molto questa soluzione.
>> La mia domanda è:
>> Secondo voi le griglie tipo Datagrid di vb6 o DataGridView di vb.net
>> cosa usano per editare le celle?
>>
>> Carmelo
>
> Concettualmente usano dei controlli textbox tradizionali (se usi cose tipo
Spy++ si dovrebbe notare); il come implementano effettivamente la cosa per
ottenere l'effetto estetico migliore non saprei dirti.
>
> Però, se dici di essere partito dalla griglia di vbAccellerator, e suppongo
quindi tu parli di SGrid2, che è completa di sorgenti, allora dovresti già
trovare pronta l'implementazione delle celle editabili, visto che il controllo
le supporta di sicuro.
>
Per editare le celle con SGrid2 mettono la textbox sul form contenitore
dello usercontrol. Io vorrei metterlo dentro lo usercontrol.

Carmelo
Carmelo 15 Gen 2015 15:25
Il 14/01/2015 19:53, Franz_aRTiglio ha scritto:
> Nel suo scritto precedente, Carmelo ha sostenuto :
>> Ho creato uno usercontrol griglia prendendo spunto dalla grid di
>> vbaccelerator, modificandola a seconda delle mie esigenze. Per creare
>> le celle editabili sto usando una textbox che sposto nelle celle
>> attive, ma non mi convince molto questa soluzione.
>> La mia domanda è:
>> Secondo voi le griglie tipo Datagrid di vb6 o DataGridView di vb.net
>> cosa usano per editare le celle?
>
> seNplice: quando clicchi una cella, il focus si sposta su una texbox
> nascosta*, ad ogni evento change della textbox la cella viene
> aggiornata con il contenuto della textbox.
>
> *non invisibile, semplicemente nascosta da un altro controllo o
> spostata oltre il bordo del form.

Differenza tra nascosta e invisibile?

Carmelo
GbC 15 Gen 2015 16:34
Il 14/01/2015 14:29, Carmelo ha scritto:
> Ho creato uno usercontrol griglia prendendo spunto dalla grid di
> vbaccelerator, modificandola a seconda delle mie esigenze. Per creare le
> celle editabili sto usando una textbox che sposto nelle celle attive, ma
> non mi convince molto questa soluzione.
> La mia domanda è:
> Secondo voi le griglie tipo Datagrid di vb6 o DataGridView di vb.net
> cosa usano per editare le celle?
>
> Carmelo

all'epoca usavo una listview con una listbox

http://win.gbcdepot.com/free/vb_esempi/samples_ListView_TextEdit.zip

è roba di 8 anni fa °_° e per giunta è scritta di fretta...

--
GbC
www.gbc.uno
Stefano Ferrari 15 Gen 2015 16:41
Il 15/01/2015 15:25, Carmelo ha scritto:
>> seNplice: quando clicchi una cella, il focus si sposta su una texbox
>> nascosta*, ad ogni evento change della textbox la cella viene
>> aggiornata con il contenuto della textbox.
>>
>> *non invisibile, semplicemente nascosta da un altro controllo o
>> spostata oltre il bordo del form.
>
> Differenza tra nascosta e invisibile?

nascosta quando, pur avendo l'attributo .visible = true, è posizionata
al di fuori del rettangolo del contenitore (form, picturebox, frame,
etc), per esempio con coordinate X:-100 Y:-100;
oppure quando ha uno z-index minore di altri controlli (quindi sta sotto
altri);

invisible quando ha l'attributo .visible = false e quindi anche se fosse
all'interno del contenitore e con lo z-index maggiore sarebbe comunque
non visibile;

In un problema *****ogo io ho usato .visible = true/false.

ciao
stefano
Franz_aRTiglio 15 Gen 2015 17:53
Il 15/01/2015, Carmelo ha detto :

>> *non invisibile, semplicemente nascosta da un altro controllo o
>> spostata oltre il bordo del form.
>
> Differenza tra nascosta e invisibile?

Vado a memoria, ma se visible=false non puoi passagli il focus.
Greg 15 Gen 2015 19:23
Il 15/01/15 17.53.59 Franz_aRTiglio ha scritto:
> Il 15/01/2015, Carmelo ha detto :

>>> *non invisibile, semplicemente nascosta da un altro controllo o
>>> spostata oltre il bordo del form.
>>
>> Differenza tra nascosta e invisibile?

> Vado a memoria, ma se visible=false non puoi passagli il focus.

Scatta un errore run-time, se lo si fa, non tanto semplice da scoprire
se la finestra è un tantino complessa

--
Greg
Stefano Ferrari 16 Gen 2015 12:50
Il 16/01/2015 12:40, Sauro ha scritto:
>> In un problema *****ogo io ho usato .visible = true/false.
>
> E cosa significa?
>
> Sauro
>
>
Significa che in una griglia (è passato tempo e non ricordo quale fosse)
di cui avevo necessità di editare le celle utilizzavo una textbox di
default con il .visible = false
al clic sulla cella desiderata sovrapponevo la textbox alla cella (width
ed height uguai a quelle della cella), la rendevo visibile e vi
posizionavo sopra il focus (se la cella era compilata riportavo anche il
testo nella textbox) .
al lostfocus della textbox trasferivo il suo contenuto nella cella
sottostante e risettavo .visible = false;

ciao
stefano
Stefano Ferrari 19 Gen 2015 08:35
Il 18/01/2015 11:21, Sauro ha scritto:
> Adesso è chiaro
>
> True/False non è un valore ma bensi l'indicazione
> che in certi momenti è true ed in altri false.
>
> Per me non era così evidente.

chiedo venia, ho dato per scontata una cosa che evidentemente non lo era.
sono contento che ora sia chiaro.

ciao
stefano

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio Visual Basic di Microsoft | Tutti i gruppi | it.comp.lang.visual-basic | Notizie e discussioni visual basic | Visual basic Mobile | Servizio di consultazione news.