Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    form sdi / mdi con scrollbar

    Ciao ragazzi, ho un problema.
    Visto che sono costretto ad utilizzare una risoluzione di 1024 * 768 su un monitor a 17" pollici per far stare tutto il contenuto in una form(il contenuto non può essere diviso in due form), ho notato che cambiando la risoluzione del video (ad es: 800*600) l'immagine della form mi fa perdere i contenuti del basso-destra.
    Ora la domanda è: come posso creare le scrollbar?
    Oppure come posso fare per impostare una risoluzione di 1024*768 all'entrata del programma e rispristinarla a 800*600 all'uscita?

    Spero possiate rispondermi ad entrambe le domande, eventualmente megliio alla prima.

    Precisazione: utilizzo form sdi e ho notato che con MDIChild a true richiede una form MDI nel progetto. L'ho creata e ho impostato scrollbars a true della form mdi, ma non mi escono quando cambio la risoluzione!!!
    Come posso fare?

    GRAZIE
    RAGAZZI
    CIAO

  2. #2

    precisazione....

    le scrollbar non mi escono proprio, non solo quando cambio la risoluzione
    AIUTO!

  3. #3
    Indipendentemente dal fatto che tu utilizzi un form mdichild oppure no, le barre di scorrimento in un form non appariranno mai dentro un form di VB6 (in VB.NET invece questa possibilità è consentita e facile da usare). Un form VB6 non ha infatti alcuna proprietà tipo ScrollBars (lascia perdere i form MDI che dovrebbero essere usati esclusivamente come contenitori di form mdichild), puoi sopperire a tale lacuna in due modi:
    [list=1][*]metti tutti i controlli del form in un controllo contenitore Frame, utilizza e programma i controlli HScroll e VScroll in modo da spostare le coordinate del Frame rispetto al Form[*]con le API: usa SetWindowLong per cambiare lo stile del form e aggiungere le scrollbar; fai un subclass in modo da intercettare i messaggi relativi allo scroll (WM_SCROLL se non sbaglio).[/list=1]
    Inutile dire che se non hai pratica con le API è meglio lasciare perdere e usare la prima soluzione.

    Leggendo il tuo post mi è venuto in mente un altro metodo, anche se poco "ortodosso". Occorre creare due form, un form MDI e un form MDIChild. Quest'ultimo contiene tutti i controlli da "scrollare" e deve avere la proprietà BorderStyle = 0 (None), mentre per il form MDI si va a impostare la proprietà backColor = &H8000000F& (il grigio chiaro dei form normali). Durante l'evento Load del form MDI occorre creare il form child, in questo modo:
    codice:
    Dim f As New Form1
    
    f.Show
    Tutto qui. Il problema è che tali barre di scorrimento, pur se funzionanti, non sono gestibili da codice, in quanto non esistono ne eventi ne metodi ne proprietà per interagire con esse (a meno di usare le API, ma si torna daccapo).
    Chi non cerca trova.

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.