Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    0

    Nome di un controllo in una variabile

    Salve a tutti, non riesco a risolvere un problema che sembra essere abb banale: ho una variabile che contiene il nome di un controllo (che io non conosco), come faccio ad usare quel nome per modificare le proprietā di quel controllo??

    la variabile si chiama NomeSel, non posso scrivere NomeSel.caption e nemmeno usare with NomeSel, come posso fare?

    grazie mille

  2. #2
    devi specificare linguaggio e versione nel titolo della discussione, come da regolamento:
    << Leggi_Regolamento >>

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    non č la prima volta che ti vengono richiesti linguaggio e versione, cerca di ricordartene in futuro


    tornando al problema, prova a postare il codice
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    0
    č una dimenticanza che si ripete, VB6, cercherō di ricordarmene, scusatemi ancora.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    0
    Il codice č:

    nome_sel "shape1" 'il nome di un controllo shape

    poi vorrei impostare delle proprietā del controllo shape1
    ma non posso digitare

    nome_sel.shape = ...
    nome_sel.left = ...
    nome_sel.top = ...

    e nemmeno usare with

    with nome_sel
    .shape= ...
    .left = ...
    .top = ...
    end with

    come posso utilizzare il nome del controllo per agire sulle proprietā di esso??

  6. #6
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    Originariamente inviato da amadori
    nome_sel "shape1" 'il nome di un controllo shape
    e questo che sarebbe? :master:


    codice:
    Dim nome_sel As Shape
    Set nome_sel = Me.Shape1
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    0
    ho sbagliato, sarebbe stato nome_sel = "shape1"

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    0
    forse non ho capito io, ma come faccio a settare nome_sel = me.shape1? il nome del controllo č in una variabile di tipo string, aspetta che ti posto il codice intero

    codice:
    Private Sub form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
       Select Case Button
        Case 1
            x = x - 128
            y = y - 128
           
            pos100x = (100 / Image1.Width) * x
            pos100y = (100 / Image1.Height) * y
            Text3.Text = pos100x
            Text4.Text = pos100y
            With nome_sel
                .Top = y
                .Left = x
            End With
        Case 2
             ctlExtender = ""
             Set ctlExtender = Nothing
             nome = "shapee" & cont
             Set ctlExtender = Form1.Controls.Add("VB.shape", nome)
             nome.Text = nome
             cont.Text = cont
             With ctlExtender
               .Visible = True
               .Shape = 3
               .Height = 200
               .Width = 200
               .BorderWidth = 9
               .Left = x
               .Top = y
             End With
             cont = cont + 1
             txtyy.Text = y
             txtxx.Text = x
             List1.AddItem (nome)
        End Select
       
    End Sub
    
    
    Private Sub List1_Click()
        Dim nome_sel As Shape
        Set nome_sel = Me
        Text5.Text = List1.Text
        NomeSel = List1.Text
    End Sub
    il programma crea un controllo shape ogni click del tasto dx del mouse (differenzia i controlli con un contatore che concateno al nome, "shapee" & cont), ho fatto un list e lo riempio con tutti i nomi dei controlli shape del form, vorrei che selezionando una shape dal list possa spostare la shape selezionata cliccando col sx e impostare la nuova posizione dello shape esattamente dove ho cliccato col sx. quello che non riesco č modificare le proprietā dello shape selezionato, il nome dello shape selezionato č in List1.Text

  9. #9
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    se hai memorizzato il nome del controllo in una variabile (in questo caso pippo ) č sufficiente fare cosė:


    codice:
    Dim p As Shape
    Set p = Me.Controls(pippo)
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    0
    perfetto, grazie mille. Avrei un'altra cosa da chiederti, quando vado a creare una shape cliccando con il dx, se la creazione č nell'evento

    codice:
    form1_mousedown(...)
    la shape la crea in tutta l'area del form č la visualizza correttamente, se volessi poter creare shape solo su un controllo di tipo image cambio l'evento in

    codice:
     image1_MouseDown(...)
    , cliccando sul dx mi crea le shape ma non le visualizza, sembra che vengano create sotto il controllo image e quindi coperte da esso.

    č possibile impostare un livello di visualizzazione?altrimenti come posso fare?

    grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.