Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    117

    [VB6] Staccare una parte di form e farla apparire in un altra

    Buon giorno a tutti,
    spero non sia di disturbo dato che ho sempre molte domande da farvi.
    Ho una domanda inerente al Visual basic 6.

    Ho un form al cui all'interno ho una Picture indicizzata e dentro di questa un usercontrol.

    E' possibile aggiungere un pulsante all'interno del form ma al di fuori della picture per poter staccare la pitcure e tutto cio' che sta all'interno e incollarlo in un'altro nuova finestra indipendente?

    E' da considerare sia che tramite il form principale si possa creare nuove picture (quindi invece di crearle al suo interno, le crea nella nuova Finestra) ed inoltre c'e' da considerare che nell'usercontrol vi sono funzioni che dovrebbero ricevere e spedire dati al form principale.

    In pratica cio' che sto chiedendo e' una sottospecie di reindirizzamento, quindi, tutto cio' che dovrebbe essere creato o spedito o ricevuto all'interno del Form principale, deve essere trasferito alla nuova finestra.

    Grazie in anticipo per la risposta..sperando di essere stato chiaro con la presentazione del problema.

  2. #2
    Ciao..innanzitutto i dubbi contribuiscono allo svolgimento del forum, quindi non ti preoccupare..

    Cmq se ho ben capito ti servirebbe un command button al cui click ti si apre una seconda form con dentro la picture che hai nella prima form.

    Per quanto riguarda la seconda parte, quella inerente all'user control devi essere più preciso in quanto non si capisce bene.. Secondo come è meglio che tu posti il codice.....ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    117
    Ciao, purtroppo non posso scrivere qui il codice perche' solo il codice dell'usercontrol sono 1641 righe pero' posso essere piu' preciso almeno per quanto riguarda la prima parte del problema.

    Come ho gia' detto anticipatamente questo prg e' un client tipo winmx, la questione è relativa all'entrata in chat.

    Considera un forum dove c'e' una listview dove poter visualizzare le stanze di un server e una picture in cui all'interno c'e' l'usercontrol indicizzato della chat.

    L'usercontrol è costituito dalla lista degli utenti presenti in quella chat, una richtextbox dove puoi leggere cosa scrivono gli altri utenti in quella chat e una Text box per poter scrivere i messaggi da inviare in chat.

    Partiamo dall'inizio.

    Ti sei connesso ad un server e successivamente passi alla visualizzazione di questo form.

    In automatico il prg carica tutte le stanze presenti nel server e li visualizzi nella ListView precedentemente citata. A questo punto quando clikki sulla listview decidendo quindi in quale stanza entrare, il prg mette in primo piano la Pitcure e come tu mi hai insegnato carico l'usercontrol.

    Chat.ZOrder 0


    For i = 0 To Stanze_Aperte <- qui verifico se in quella stanza ero gia' entrato e quindi in tal caso non deve caricare una nuova stanza ma seplicemente visualizzarmi quella gia' precedentemente caricata.
    If L_Canali.SelectedItem = VAR_GLOBALI.Canale(i) Then
    Stanza(i).ZOrder 0
    Exit Sub
    End If
    Next

    ' Qui cerco la nuova index per l'usercontrol Stanza

    Dim NuovaStanza
    Dim ii As Long
    Dim v As Boolean

    NuovaStanza = -1

    On Error Resume Next

    For ii = 1 To 100
    v = Stanza(ii).Visible
    If Err Then
    Err.Clear
    NuovaStanza = ii
    Exit For
    End If
    Next ii

    ' Trovato l'index per l'usercontrol incremento il numero di stanze in cui sono entrato e carico sia l'usercontrol (Load Stanza(NuovaStanza))
    e sia un pulsante indicizzato che mi permetera' di passare da una stanza all'altra.

    Stanze_Aperte = Stanze_Aperte + 1
    Load Stanza(NuovaStanza)
    Stanza(NuovaStanza).Top = 0
    Stanza(NuovaStanza).Left = 0
    Stanza_Presente = NuovaStanza
    Stanza(NuovaStanza).Visible = True
    Stanza(NuovaStanza).ZOrder 0

    Load Chat_P(NuovaStanza)
    Chat_P(NuovaStanza).Visible = True

    ' Come caption e come Tiptextbox del pulsante gli inserisco il nome della stanza in cui sono entrato.

    Chat_P(NuovaStanza).Caption = L_Canali.SelectedItem
    Chat_P(NuovaStanza).ToolTipText = L_Canali.SelectedItem

    ' Dopodice' chiamo una routine che mi stabilisce le posizioni e le grandezze dei pulsanti.

    Call Organizza_Pulsanti

    ' Memorizzo in un vettore il nome della stanza in cui sono entrato.

    VAR_GLOBALI.Canale(NuovaStanza) = L_Canali.SelectedItem

    For t = 1 To Stanze_Aperte
    Call Stanza(t).Ridimensiona_Chat
    Next

    questa e' la routine inerente all'entrata in chat. Come puoi notare, gia' in questa parte di programma, quando carico le stanze e i pulsanti faccio :


    Load Stanza(NuovaStanza)
    Load Chat_P(NuovaStanza)

    Teoricamente se stacco l'usercontrol da questo forum dovrei fare:

    Load Form2.Stanza(NuovaStanza)
    Load Form2.Chat_P(NuovaStanza)

    ma come potrei far capire al prg di staccare la picture in cui c'e' l'usercontrol e metterla in un secondo form?
    Posso lasciar invariata questa parte di codice e far in maniera tale che clikkando su un pulsante tutta la gestione della creazione dei pulsanti passi in una seconda finestra?

  4. #4
    Se per te non ho un problema, potresti mandarmi tutto il progetto così che io capisca ad esempio di che picture si tratta, come è impostato l'user control ecc.. altrimenti rischio di darti informazioni o suggerimenti errati..ciao

    cmq mde2005@libero.it

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.