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

    sovrapposizione controlli

    ciao,
    sono agli inizi con VB, ma il problema che ho non mi sembra che centri molto con il linguaggio in sè.
    Avete presente il comando Porta in primo piano di VB, che permette di portare un controllo in primo piano rispetto ad altri? Ecco, è un comando che c'è anche in molti altri programmi, e funziona sempre. In VB invece non riesco a capire perchè ora non mi funziona. :master:
    Mi spiego meglio... mi sono creato un form con un TabStrip e su di esso una ListView e un Combo. Fin qui tutto ok. Volevo metterci anche una label a fianco al combo.... una cavolata, no? Invece non ci riesco. VB si ostina a mettermi la label sotto gli altri controlli, e non riesco a dirgli di portarla in primo piano!!! Io faccio così (come ho sempre fatto): seleziono il controllo, in questo caso la label, vado su Formato=>Ordine=>Porta in primo piano. Solo che non succede niente, il controllo rimane sotto. Ho provato anche a farlo decine di volte di seguito, pensando che dovesse passare sopra ad ogni controllo ad uno ad uno, ma non cambia un cavolo

    Qualcuno mi sa dire perchè mi succede ciò? Magari sbaglio qualcosa io, ma non penso... è una cosa tanto banale. Come faccio a mettere sta benedetta label sopra il TabStrip???

    grazie a tutti
    ciao
    Claudio

  2. #2
    Non è possibile mettere il controllo che vuoi sopra ad altri perchè con Visual basic esiste una specie di gerarchia degli oggetti. Gli oggetti sono divisi in tre classi per importanza. La classe più bassa e formata dai controlli per il disegno e per le immagini. poi nella classe centrale si trovano oggetti grafici o le label. Nella classe principale si trovano invece tutti i controlli non grafici come CommadButton, Checkbox o Listbox.

    Non si può pensare di mettere una label sopra un bottone oppure non si può mettere una checkbox sotto un immagine.

    Ciao ciao
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  3. #3
    ok, ho capito, ma allora come faccio? non mi sembra una cosa assurda..
    Ad esempio prova ad aprire una qualsiasi finestra di dialogo di un programma. Prendi per esempio la finestra Opzioni Internet di IE (Strumenti=>Opzioni Internet). Come vedi c'è un TabStrip con 6 schede. Nella prima scheda ("Generale") ci sono un po' di controlli, come Frame, Button, TextBox, Image e anche molte Label. Come hanno fatto a mettere la label sul tabstrip? :master: E' quello che vorrei fare io, ma la label mi va sempre sotto al tabstrip!
    Altrimenti come posso mettere una scritta nel tabstrip? nella finetsra in questione (quella di IE) c'è ad esempio la scritta "E' possibile scegliere la pagina da utilizzare come pagina iniziale". Io penso che sia una label! Spiegami ad esempio come potrei fare se volessi ricreare la finestra Opzioni Internet di IE esattamente uguale con VB, in modo da poterla usare per un mio ipotetico browser che mi sono costruito...

    Boh, sta cosa non mi è per niente chiara... :master:
    Claudio

  4. #4
    Lo stesso problema ce l'ho anche con il controllo Frame...
    Claudio

  5. #5
    Molto probabilmente il tabstrip è un Active x che è stato progettato apposta così e non si sono messe sopra delle label.

    Se tu usassi l'active X della tabstrip vedrai molto probabilmente che esiste una sua proprietà che ti permetterà di scegliere le varie voci sulla tabstrip

    ciao ciao
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  6. #6
    Ho trovato!

    Devi aggiungere il componente Microsoft Tabbed control 6.0

    lo metti su form e ti viene già fuori la tua bella tabstrip dove puoi scegliere quante voci e che voci mettere e un mucchio di altra roba ancora.

    ciao ciao
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  7. #7
    Cmq io ho provato e la label stà sopra alla tabstrip.
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  8. #8
    Scusami ma non avevo capito bene cosa volevi fare. Cmq la label stà senza problemi sopra alla tabstrip.

    assicurati di aver creato prima la tabstrip della label. Importa molto anche chi viene creato x primo.

    Scusa ancora

    ciao ciao
    "Penso che nel mondo ci sia mercato per quattro o cinque computer"... Thomas Watson, presidente della IBM, 1943

  9. #9
    le label sono controlli windowless e quindi vanno sempre in 2° piano

    per il controllo tabstrip e frame, nn devi disegnare la label e poi portarla sopra l'altro controllo, devi o disegnarla nel controllo, o disegnarla in qualche altro posto e poi incollarla sul controllo oppure ancora cambiare la prp. container della label.
    in questo modo la label "appartiene" al tabstrip e è quindi visibile
    ciao
    MAx

  10. #10
    grazie a I'mtheleader, ma cmq a me la label non mi ci va sopra il tabstrip.
    Adesso proverò il Microsoft Tabbed Control...

    Invece, MaxBa9, mi puoi dire come si modifica la proprietà Container della label? Forse la soluzione migliore è quella.

    Il frame mi dava lo stesso tipo di problema, ma ho risolto in questo modo, seguendo questi passi:
    1. Inserisco la label
    2. Taglio la label
    3. Disegno il frame
    4. incollo la label sul frame.
    In questo modo il frame contiene la label e quindi me la fa vedere...

    grazie cmq a tutti
    Claudio

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.