Newsgroup: it.comp.lang.visual-basic
Titolo: Help - Creare una pulsantiera

Ciao a tutti e buon fine anno 2001.
Vorrei un grande aiuto, sto scrivendo
un programma per un amico il quale mi ha chiesto di creare una bottoniera
da lui creata.
La domanda è la seguente come posso far creare dei bottoni
ad un utente in un programma già compilato?
Se non sono chiaro vi faccio
un esempio:
In un Form
label1.caption = "Descrizione"  text1.text = "AGS"
commandbutton.caption="crea bottone"
A questo punto quando si fa clik su
"crea bottone" in un altro form nascerà un bottone con caption "AGS".
Questo nuovo bottone dovrà reagire all'evento click di scrivere in una
tabella (o textbox) AGS.
Non so sono stato abbastanza chiaro VI PREGO
AIUTATEMI non so proprio come fare.
Ciao a tutti e ancora Grazie e Auguri
per un felicissimo 2002
--------------------------------
Inviato via 
http://usenet.iol.it

 ha scritto nel messaggio
news:212Z34Z219Z2Y1...@usenet.iol.it...

Non è così difficile come sembra quando fai click sul primo bottone attivi
il metodo show per il secondo form su cui è posto il secondo bottone con su
scritto ags, form che era prima nascosto grazie al metodo hide form.
Se non sono statp chiaro dimmelo, approfitto per fare gli auguri di natale a
te e a tutti gli amici del newsgroup, ciao.
Holden
p.s.
Anch'io ho un problemino, ti dispiacerebbe darci un'occhiata?

> tabella (o
textbox) AGS.
non ho ben capito cosa intendi, forse non son stato
chiaro.
nella form in cui c'è il tasto crea bottone all'evento click deve
creare un bottone nuovo che prima non esisteva in una latra form.
quello
che dici tu è giusto la form l'apro con .show e fin qui è tutto chiaro ma
il bottone come lo creo.
Ciao e ancora auguri


 ha scritto nel messaggio
news:212Z34Z219Z2Y1...@usenet.iol.it...

Se ho capito vorresti costruire  un pulsante ex novo al clic di un'altro
pulsante, penso che questo non sia possibile in quanto oltre al pulsante
dovresti aggiungere del codice ai vari Eventi.
Costruiscilo prima, dai visible= false e lo rendi visibile al clic
dell'altro pulsante.
giuseppeD

 ha scritto nel messaggio
news:212Z34Z219Z2Y1...@usenet.iol.it...

La soluzione più banale che mi viene in mente, è quella di creare un form con un
array fisso di controlli Command, inizialmente tutti con proprietà Visible=False
e che rendi visibili quando ti servono ed utilizzare la proprietà Tag per
inserire il testo che dovrà essere scritto nel textbox (o tabella).
L'evento per l'array di Command potrebbe essere:
Private Sub Command1_Click(Index As Integer)
    txtText1.Text = Command1(Index).Tag
End Sub
La soluzione più bella potrebbe essere quella di creare solo i controlli Command
che ti servono, utilizzando l'istruzione Load per caricare ogni controllo che ti
serve. Il primo controllo Command(0) deve già essere presente, i successivi li
crei utilizzando:
Sub CreaBottone(strTesto As String)
    Dim intNewIndex As Integer
    intNewIndex = Command1.UBound + 1
    Load Command1(intNewIndex)
    Command1(intNewIndex).Top = Command1(intNewIndex - 1).Top _
        + Command1(intNewIndex - 1).Height
    Command1(intNewIndex).Left = Command1(intNewIndex - 1).Left
    Command1(intNewIndex).Tag = strTesto
    Command1(intNewIndex).Visible = True
End Sub
Private Sub Command1_Click(Index As Integer)
    txtText1.Text = Command1(Index).Tag
End Sub
Ciao!
--
Esteban
Hosted by 
www.seber.it
Remove 'nonspammare' for reply

Errata corrige
[CUT]
Sub CreaBottone(strCaption As String, strTesto As String)
    Dim intNewIndex As Integer
    'Se il primo bottone è ancora nascosto, attivalo
    If Command1(0).Visible = False Then
        intNewIndex = 0
    Else    'Altrimenti crea un nuovo bottone
        intNewIndex = Command1.UBound + 1
        'Carica un nuovo controllo
        Load Command1(intNewIndex)
        Posizione il nuovo Command sotto il Command precendete
        Command1(intNewIndex).Top = Command1(intNewIndex - 1).Top _
            + Command1(intNewIndex - 1).Height
        Command1(intNewIndex).Left = Command1(intNewIndex - 1).Left
    End If
    Command1(intNewIndex).Caption = strCaption
    'Testo che dovrà essere scritto nel TextBox


Grazie per il tuo aiuto lo usato ed č funzionante se posso ti chiedo un
altro piccolo aiutino.
Ho cambiato il tuo consiglio in questo modo (per
creare bottoni fino al limite del form):
Private Sub Registrabtn_Click()
Tabellaesdb.Refresh
Tabellaesdb.Recordset.AddNew
Tabellaesdb.Recordset("Sigla") = Siglatxt
Tabellaesdb.Recordset.Update
Dim strCaption As String, strTesto As String, Top As String
Dim
intNewIndex As Integer
If Command1(0).Visible = False Then
intNewIndex = 0
Else
intNewIndex = Command1.Ubound + 1
'carica un nuovo
controllo
Load Command1(intNewIndex)
'posizione nuovo controllo
If
Command1(intNewIndex - 1).Left < "10080" Then
Command1(intNewIndex).Left =
Command1(intNewIndex - 1).Left _
+ Command1(intNewIndex - 1).Width
Else
Command1(intNewIndex).Top = Command1(intNewIndex - 1).Top _
+
Command1(intNewIndex - 1).Height
End If
End If
strCaption = Siglatxt
Command1(intNewIndex).Caption = strCaption
Command1(intNewIndex).Tag =
strTesto
Command1(intNewIndex).Visible = True
End Sub
Perň la cosa che
non va in questo sript č che quando arriva alla fine del form l'altro
bottone viene creato sotto il primo e poi non ne crea piů.
Un'untima cosa
se invece i bottoni creati dovrebbero memorizzare dei record all'interno di
un database devo cambiare solo il Tag o qualcos'altro.
Grazie per
l'interessamento.
Ciao
______
Shiryu
