Oppure

Loading
18/06/10 10:06
Alfonso
Inserisci una PictureBox nel form, left=0, top=0, width=larghezza del form, Height altezza che ti serve per contenere tutte le icone. Trasferisci le icone, posizioni la ScrollBar, stabilisci nel Form_Load:

Private Sub Form_Load()
PictureBox1.Top = 0 ' la picture parte dal bordo superiore della form
ScrollBar.SmallChange = 10 ' valore per gli scostamenti minimi
ScrollBar.LargeChange = 100 ' valore per gli scostamenti massimi
ScrollBar.Value = PictureBox1.Top ' vale 0
ScrollBar.Min = PictureBox1.Top ' valore minimo della scrollbar = 0
ScrollBar.Max = PictureBox1.Top - PictureBox1.Height + ScrollBar.Height

e poi

Private Sub GrigliaScrollBar_Change()
  PictureBox1.Top = ScrollBar.Value
End Sub
aaa
18/06/10 20:16
skynet1994
Bho non lo so non riesco a capire bene.. comunque non è essenziale lo scrol dei form e poi io per le icone utilizzo i controlli Image e non Picture, per lo scrol dovrei cambiare tutto quindi non è molto importante
aaa
18/06/10 20:47
Alfonso
Non mi sono spiegato. La PictureBox deve essere il contenitore dei controlli image delle icone. I controlli image non devono essere nella form, ma tutti dentro la picture, che è dentro la form.
aaa
19/06/10 9:50
skynet1994
Ah.. adesso ho capito grazie :k:
aaa
19/06/10 10:22
skynet1994
adesso mi è venuto un dubbietto: è possibile salvare una sessione del programma? Perchè nel pannello di controllo si possono impostare i colori delle finestre e altro, e se non salvo ogni volta che avvio il programma devo reimpostare tutto. Quindi è possibile salvare?
aaa
19/06/10 13:56
Alfonso
Per salvare e recuperare dei settaggi puoi usare le funzioni: SaveSetting e GetSetting
Queste funzioni scrivono nel registro di windows

SaveSetting( ByVal AppName As String, ByVal Section As String, ByVal Key As String, ByVal Setting As String)
GetSetting( ByVal AppName As String, ByVal Section As String, ByVal Key As String, ByVal Default As String ) As String

La stringa AppName è il nome del tuo programma per esempio Win3_11
La stringa Section nel tuo caso potrebbe essere il contesto che stai prendendo in esame. Per esempio, se ti riferisci alla FormMain, il suo nome. Nel nostro caso =FormMain
La stringa Key la proprietà che vuoi salvare. Per esempio Image1(0).Top ovvero in stringa Image1_0_Top
La stringa Setting il valore della proprietà Image1(0).Top ovvero per esempio Str( Image1(0).Top)

Private Sub Form_Unload(Cancel As Integer)
SaveSetting("Win3_11", "FormMain", "Image1_0_Top", Str(Image1(0).Top))
SaveSetting("Win3_11", "FormMain", "Image1_0_Left",  Str(Image1(0).Left))
SaveSetting("Win3_11", "FormMain", "Label1_0_Top", Str(Label1(0).Top))
SaveSetting("Win3_11", "FormMain", "Label1_0_Left",  Str(Label1(0).Left))

SaveSetting("Win3_11", "FormMain", "Image1_1_Top", Str(Image1(1).Top))
SaveSetting("Win3_11", "FormMain", "Image1_1_Left", Str(Image1(1).Left))
' .... ecc.

Per recuperare questi dati quando carichi la FormMain
Private Sub Form_Load()
    if len(GetSetting("Win3_11", "FormMain", "Image1_0_Top", "")) > 0 then
       Image1(0).Top=GetSetting("Win3_11", "FormMain", "Image1_0_Top", "")
       Image1(0).Left= GetSetting("Win3_11", "FormMain", "Image1_0_Left", "")
       Label1(0).Top=GetSetting("Win3_11", "FormMain", "Label1_0_Top", "")
       Label1(0).Left= GetSetting("Win3_11", "FormMain", "Label1_0_Left", "")
       ' ....... altre righe
    end if
end sub



La prima volta che il programma viene lanciato non ci sono parametri registrati. Per cui len=0 e non legge il seguito finchè non chiudi per la prima volta il programma in modo da registrare dei valori consistenti.
Ultima modifica effettuata da Alfonso 19/06/10 14:00
aaa
20/06/10 6:28
skynet1994
Grazie per il salvataggio, ora ho un piccolo problemino, voglio fare che se il mouse passa sopra la cartella cambi l'immagine del mouse, cosi che si capisca che va cliccata in quel punto.

L'icona del mouse che voglio usare è quella nel punto MousePointer, ed è la numero 99, voglio farein modo che se il mouse finisce sopra il Controllo Image o Label, il mouse diventi il numero 99 e quando esce da uno dei sue controllo ritorni normale
Ultima modifica effettuata da skynet1994 20/06/10 6:35
aaa
20/06/10 8:19
Alfonso
Il problema è molto simile al menù fittizzio fatto con le label che si illuminano quando passi sopra. Studialo e adattalo.:)
aaa