Hej ! Vore det inte bättre att använda en Slider? Hej! Roade mig med att göra en principlösning hur man skulle kunna manipulera en Label. Kul idé Sven !!! Jovisst jag bara spånade iväg lite snabbt. Ett förslag för att kompletera Sven. Jag har gjort ett exempel som du kan ändra storleken på en textbox som om det vore ett fönster. <b>Man borde väl ha bättre ordning på högerkanten,</b> Ja...så enkelt kan det vara. hmmm..Dra ut en label eller textbox i runtime
Finns det något tex, en label eller text box där man kan dra ut den på längden med att markera med muspekaren och dra. Dvs i runtime
Tänkte kunna markera en tid med att dra ut den per halvtimme och markera med text och färg i den.
Förstår ni vad jag menar
TobbeSv: Dra ut en label eller textbox i runtime
Du måste lägga till komponenten: "Microsoft Windows Common Controls 6.0 (SP6)"Sv:Dra ut en label eller textbox i runtime
Nä man skall kunna visa text i den, samt att det skall finnas en ruta för varje halvtimma som man markerar och drar ut till önskad tid, typ en tabell.
:-) tobbeSv: Dra ut en label eller textbox i runtime
<b>Lägg upp en Label1 på Formen.
Klicka längst till höger i Label:n
Dra musen åt höger.
Släpp musen klick och dra igen.</b>
När du kollat kan du återkomma så utvecklar Vi det mer.
<code>
Option Explicit
Dim lblxmax As Long
Private Sub Form_Load()
lblxmax = Label1.Width - 120
Label1.BorderStyle = 1
Label1.Caption = String(255, "X")
End Sub
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X > lblxmax Then
Label1.Tag = "Ok"
Label1.MousePointer = 9
End If
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Label1.Tag = "Ok" Then
If X > lblxmax + 90 Then Label1.Width = lblxmax + 300
End If
End Sub
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Tag = ""
Label1.MousePointer = 0
lblxmax = Label1.Width - 120
End Sub
</code>
Du kan trixa med -120 resp + 300 efter önskemål.Sv:Dra ut en label eller textbox i runtime
Borde man inte sätta värdet efter X och Y ? (i MouseMove)
/MartinSv: Dra ut en label eller textbox i runtime
Finns mycket att utveckla på denna ide om man är intresserad.
Återkom gärna med ett annat sätt att lösa detta.Sv:Dra ut en label eller textbox i runtime
Jag har fortfarande inte fattat hur man gör för att få det att se ut som kod....
Man borde väl ha bättre ordning på högerkanten, men på detta viset går det att både förlänga och förkorta.
Private Sub Form_Load()
Dim ReadyToMove As Boolean
Dim HorisontalPos As Integer
Label1.BorderStyle = 1
End Sub
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReadyToMove = True
HorisontalPos = X
End Sub
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If ReadyToMove THEN
ReadyToMove = False
Label1.Width = (HorisontalPos + X)
endif
End SubSv: Dra ut en label eller textbox i runtime
Programarkivet:VB6: Hur du kan ändra storleken på en kontroll i runtime
Den subklassa kontrollen och använder API.
Du kan därför inte pausa programmet i VB editorn.Sv: Dra ut en label eller textbox i runtime
Ja det är Controll.Left + Controll.Width
Min lösning är inte speciellt djupsinnig,jag bara skrev rakt upp och ner (5 min).Sv:Dra ut en label eller textbox i runtime
Alltid kul att se dig "spåna" Sven...
Det ger onekligen nya idéer..
/MartinSv:Dra ut en label eller textbox i runtime
Nu när jag kollar, så sköter sig högerkanten fint *S*
/Martin