Avatar billede leol Nybegynder
01. april 2006 - 23:23 Der er 13 kommentarer og
1 løsning

For meget tekst?

Hej.

Jeg er igang med et program. Men så skrev jeg for meget et sted. Så ville jeg godt spørge hvordan man gør så man kan scroll ned lige som på en hjemmeside..
Avatar billede leol Nybegynder
01. april 2006 - 23:38 #1
Altså en scrollbar på min form1
Avatar billede h7iws Nybegynder
02. april 2006 - 22:03 #2
Jo. alt kan lade sig gøre, det her er måske ikke det nemmeste, men det kan lade sig gøre!
hvad er din tekst skrevet i?
En tekst-boks ?? så er det nemt!
En label ?? Det kan da lade sig gøre :)

Eller ??
Avatar billede lau- Nybegynder
03. april 2006 - 14:50 #3
Hvis det er en tekstboks har tekstboksen en egenskab som hedder Scrollbars, som enten kan sættes til:
0 - None (default)
1 - Horizontal
2 - Vertical
3 - Both
Avatar billede leol Nybegynder
03. april 2006 - 16:24 #4
lau- <-- Det ved jeg godt hvordan man gør..

Men det er nu HELE min form1.. Altså det hele lave i min form..
Der er mange frames i
Avatar billede h7iws Nybegynder
03. april 2006 - 20:20 #5
Ok, jeg er med, kigger lige på det !
- ville nok foreslå at man benyttede faneblade eller noget lignende,
men det er jo ikke et svart på spørgsmålet!
I'm on it !! :p
Avatar billede h7iws Nybegynder
03. april 2006 - 20:31 #6
Her har du tp knapper, knappen cmd_up og knappen cmd_down, ideen er simpel og virker, men kræver nok lidt omskrivning før det er perfekt:

'** START **

Private Sub cmd_up_Click()
Dim objCtl As Object
  On Error Resume Next
  For Each objCtl In Controls
    If objCtl.Name <> "cmd_up" And objCtl.Name <> "cmd_down" Then
        objCtl.Top = objCtl.Top - 100
    End If
  Next
End Sub

Private Sub cmd_down_Click()
Dim objCtl As Object
  On Error Resume Next
  For Each objCtl In Controls
    If objCtl.Name <> "cmd_up" And objCtl.Name <> "cmd_down" Then
        objCtl.Top = objCtl.Top + 100
    End If
  Next
End Sub


'** END **

Håber at du kan bruge det ??!

Mvh Emil
Avatar billede leol Nybegynder
03. april 2006 - 21:20 #7
Er det bottom's jeg skal oprette?
Avatar billede h7iws Nybegynder
03. april 2006 - 21:24 #8
Ja, to knapper ..
Avatar billede h7iws Nybegynder
03. april 2006 - 21:25 #9
Ellers har jeg lavet en med scrollbar:

'** START **

Private Sub Form_Load()
    VScroll1.Max = get_max()
    VScroll1.Min = get_min()
End Sub

Private Sub VScroll1_Change()
    Dim objCtl As Object, this_min As Integer
    this_min = get_min()
    'VScroll1.Value
    On Error Resume Next
    For Each objCtl In Controls
        If objCtl.Name <> "VScroll1" Then
            objCtl.Top = (VScroll1.Value - VScroll1.Min) + (objCtl.Top - this_min)
        End If
    Next
End Sub

Private Function get_max() As Integer
  get_max = Form1.Height
End Function

Private Function get_min() As Integer
    Dim objCtl As Object, min_top_value As Integer
    min_top_value = get_max()
  On Error Resume Next
  For Each objCtl In Controls
    If objCtl.Name <> "VScroll1" Then
        If objCtl.Top < min_top_value Then min_top_value = objCtl.Top
    End If
  Next
  get_min = min_top_value
End Function

'** END **

Det er lidt pænere !!
Avatar billede h7iws Nybegynder
03. april 2006 - 21:27 #10
ahh, er vist kommet til at bytte om på hvad der er op og ned :s
Skal jeg lige rette det ??
Og så kan jeg jo også lige rette at det næsten ikke flytter sig når man trykker på knapperne !
Avatar billede h7iws Nybegynder
03. april 2006 - 21:34 #11
ahh, jeg giver op for nu, mit hovede er timeligt smadre, sorry ...
Hvis du er meget interesseret i at jeg laver det, så kan du skrive til mig på
vbs snabela has prik dk
Avatar billede leol Nybegynder
03. april 2006 - 21:41 #12
Ok.. Forstod ikke din mail.. Men vil godt have du skal lave det.. Jeg er nemlig lost..
Avatar billede h7iws Nybegynder
04. april 2006 - 16:23 #13
okay, men det jeg har lavet, virker det ikke fint nok ??
Den første skal du lave to 'CommandButton'´s , enholdsvis ved navn
cmd_up
cmd_down

og så skulle det hele gerne rykke på sig når du klikker på disse !!

I den anden skal du lave en VScroolBar
Og så skulle det gerne rykke på sig når du klikker henholdsvis op eller ned ...
Jeg skal se på det så hurtigt som muligt, men jeg har desværre en masse overarbejde denne uge, og da jeg har to jobs at passe bliver det nok trængt :s

Hygge til...
Avatar billede h7iws Nybegynder
04. april 2006 - 16:40 #14
hmm, her er vist noget, ikke så pænt, men det virker vist !!

'** START **

Private Sub Form_Load()
    VScroll1.Max = get_max() / 100
    VScroll1.Min = get_min() / 100
End Sub

Private Sub VScroll1_Change()
    Dim objCtl As Object, this_min As Integer
    this_min = get_min()
    On Error Resume Next
    For Each objCtl In Controls
        If objCtl.Name <> "VScroll1" Then
            objCtl.Top = VScroll1.Max - ((VScroll1.Value * 100)) + (objCtl.Top - this_min)
        End If
    Next
End Sub

Private Function get_max() As Integer
  get_max = Form1.Height
End Function

Private Function get_min() As Integer
    Dim objCtl As Object, min_top_value As Integer
    min_top_value = get_max()
  On Error Resume Next
  For Each objCtl In Controls
    If objCtl.Name <> "VScroll1" Then
        If objCtl.Top < min_top_value Then min_top_value = objCtl.Top
    End If
  Next
  get_min = min_top_value
End Function

'** SLUT **

Skal nok lige rette fejl og skrive kommantarer når jeg får tid :p
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester