Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    vb6 - creazione controllo toolbar a runtime

    per creare a runtime dei controlli label ho utilizzato il seguente codice

    Dim §ctl1 As Control
    Set §ctl1 = §form.Controls.Add("VB.Label", "£Intest1", §form)
    With §ctl1
    .Visible = True
    .Top = 0
    .Left = 0
    .Height = 250
    .Width = 300
    .BackColor = 255
    .Caption = "Intestazione"
    .Alignment = 0
    End With

    per creare una casella di testo utilizzo VB.Text invece di VB.Label
    per una toolbar mi sembrava intuitivo utilizzare VB.Toolbar ma non e'
    cosi'; qualcuno mi sa dire cosa utilizzare?
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    Allora:

    -intanto mi sembra che già in passato ti sia stato chiesto di postare il codice racchiudendolo con gli appositi tag (pulsante CODE) per facilitarne la lettura;

    -poi continuiamo a non capire l'utilità e l'origine di quei caratteri § e £;

    -infine, mentre è abbastanza comune creare controlli come Label e TextBox a run-time (purché ci sia un motivo valido), non mi sembra probabile che ci sia questa necessità anche per le ToolBar. Perché vorresti farlo?

  3. #3
    -intanto mi sembra che già in passato ti sia stato chiesto di postare il codice racchiudendolo con gli appositi tag (pulsante CODE) per facilitarne la lettura;

    hai pienamente ragione, ma purtroppo non riesco a farlo;
    quando clicco sul pulsante CODE mi chiede di inserire qualcosa
    e non so cosa inserire



    -poi continuiamo a non capire l'utilità e l'origine di quei caratteri § e £;

    e' solo una mia convenzione personale per distinguere i tipi di campo



    -infine, mentre è abbastanza comune creare controlli come Label e TextBox a run-time (purché ci sia un motivo valido), non mi sembra probabile che ci sia questa necessità anche per le ToolBar. Perché vorresti farlo?

    perche' mi sono costruito una routine generale che viene richiamata all' evento
    load di ogni singolo form, e che provvede a centrare la maschera, effettuare
    operazioni di settaggio campi in base al loro tag, ... se possibile vorrei fargli
    creare anche questo campo per non doverlo inserire in ogni singolo form

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    Originariamente inviato da Luberto Mario
    -intanto mi sembra che già in passato ti sia stato chiesto di postare il codice racchiudendolo con gli appositi tag (pulsante CODE) per facilitarne la lettura;

    hai pienamente ragione, ma purtroppo non riesco a farlo;
    quando clicco sul pulsante CODE mi chiede di inserire qualcosa
    e non so cosa inserire
    Ti chiede (ovviamente) il codice da formattare. Puoi comunque anche scrivere a mano il tag iniziale [CODE ] e quello finale [/CODE ] (senza quello spazio che ho lasciato dopo la E)

    Originariamente inviato da Luberto Mario
    -poi continuiamo a non capire l'utilità e l'origine di quei caratteri § e £;

    e' solo una mia convenzione personale per distinguere i tipi di campo
    Bizzarra convenzione. Forse sarebbe più logico adeguarsi ad una convenzione più diffusa ed accettata. vedi per esempio http://it.wikipedia.org/wiki/Notazione_ungara


    Originariamente inviato da Luberto Mario
    -infine, mentre è abbastanza comune creare controlli come Label e TextBox a run-time (purché ci sia un motivo valido), non mi sembra probabile che ci sia questa necessità anche per le ToolBar. Perché vorresti farlo?

    perche' mi sono costruito una routine generale che viene richiamata all' evento
    load di ogni singolo form, e che provvede a centrare la maschera, effettuare
    operazioni di settaggio campi in base al loro tag, ... se possibile vorrei fargli
    creare anche questo campo per non doverlo inserire in ogni singolo form
    Se il tuo progetto utilizza ToolBar avrai dovuto aggiungere il componente Microsoft Windows Common Control 6.0. Questo altro non è che una libreria di controlli che si chiama MsComCtlLib.ocx. Di conseguenza, a run-time, un oggetto di classe ToolBar può essere creato riferendosi alla libreria che lo contiene. Dim MyToolbar As MSComctlLib.Toolbar.

    Quindi questa tua... "routine generale" sostituisce le capacità visuali dell'IDE. Non mi sembra un grande affare.

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    A quanto scritto da Grumpy aggiungo una domanda:

    Come pensi di intercettare gli eventi nel Toolbar creato a run-time?
    Intendo, quando fai Click su un pulsante...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    Originariamente inviato da gibra
    A quanto scritto da Grumpy aggiungo una domanda:

    Come pensi di intercettare gli eventi nel Toolbar creato a run-time?
    Intendo, quando fai Click su un pulsante...
    ... pulsante che, fra l'altro, dovrebbe essere creato anche lui.

  7. #7
    infatti
    ho rinunciato all' idea

  8. #8
    riprendo la discussione, rivolgendomi in particolare a Grumpy
    puoi per favore indicarmi come dichiarare una ProgressBar,
    ossia l' equivalente della Dim MyToolbar As MSComctlLib.Toolbar
    riferita ad una progressbar?
    grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    La dichiarazione è identica a quella della Toolbar, visto che fanno parte della stessa libreria: Dim MyProgressBar As MSComctllib.ProgressBar

    L'inserimento nel form (che forse si chiamerà Form1, non Form) puoi farlo in maniera analoga alla Label del tuo esempio:

    Set MyProgressBar = Form1.Controls.Add("MSComctlLib.ProgressBar", "pb1")


    Provando ad eseguire questa istruzione però riceverai un chiarissimo messaggio che ti dirà che per la ProgressBar il nome da usare è... un altro. Sostituiscilo e vai avanti.

    Ma... non avevi rinunciato?

  10. #10
    grazie Grumpy
    e' vero, ma sono testa dura

    comunque ne approfitto per chiederti: ho creato una textbox
    con sfondo colorato in blu, che creo da codice, e man mano modifico
    la sua larghezza per simulare la progressbar:
    problema: non si vede
    ho allora utilizzato l' istruzione me.refresh e c'e'; ma anche un fastidioso
    sfarfallio; esiste qualcosa di equivalente al comando docms.repaint dell' access?

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.