| |

Fortgeschrittene ProgrammierungSpeichern und laden von Steuerelementen | |  | Autor: Philipp | Datum: 04.06.10 14:05 |
| Hallo und guten Tag,
habe mal wieder ein problem und bekomme es nicht hin.
Also ich habe eine PictureBox.In dieser Picturebox habe ich 2 oder mehrere textboxen.
Nun möchte ich Positionen nach dem Mouse_move Event speichern und wieder laden.
Hier mein Code:
Option Explicit
Dim DragFlag As Boolean
Dim MemX As Long, MemY As Long
Dim intShapes As Integer
Private Type cntrldat
XPos As Single
YPos As Single
XPos1 As Single
YPos1 As Single
End Type
Private XD!, YD!, TwX!, TwY!
Private Dat1$
Private Sub Command1_Click()
intShapes = intShapes + 1
' Set the location below the first TextBox.
Load Text1(intShapes)
'Text1(i).Move Text1(0).Left, Text1(0).Top + 500
Text1(intShapes).Left = intShapes * 130
Text1(intShapes).Top = intShapes * 130
' Make the new TextBox visible
Text1(intShapes).Visible = True
End Sub
Private Sub Command2_Click()
Dim i&, CInfo As cntrldat
'If Shape1.UBound > 0 And Dat1 <> "" Then
' Controls speichern
Open Dat1 For Random As #1 Len = Len(CInfo)
For i = 0 To Text1.Count - 1
With Text1(i)
CInfo.XPos = .Left
CInfo.YPos = .Top
'.FillColor = Shape1.FillColor
End With
Next i
Put #1, , CInfo
Close #1
'End If
End Sub
Private Sub Form_Load()
Dim i&, CInfo As cntrldat, NewIndex&
Dim j
On Error Resume Next
Dat1 = App.Path
If Right$(Dat1, 1) <> "\" Then Dat1 = Dat1 & "\"
Dat1 = Dat1 & "Cntr.dat"
If Dir$(Dat1) <> "" Then
' Controls laden
Open Dat1 For Random As #1 Len = Len(CInfo)
For i = 1 To LOF(1) \ Len(CInfo)
Get #1, , CInfo
For j = 0 To Text1.Count - 1
With Text1(j)
.Move CInfo.XPos, CInfo.YPos
End With
Next j
Next i
Close #1
End If
End Sub
Private Sub Text1_Change(Index As Integer)
Select Case Index
Case 0
MsgBox ("The text in the first TextBox has changed")
Case 1
MsgBox ("The text in the second TextBox has changed")
Case 2
MsgBox ("The text in the third TextBox has changed")
End Select
End Sub
Private Sub Text1_Click(Index As Integer)
Dim i
Select Case Index
Case 0
MsgBox Index
Case 1
MsgBox Index
Case 2
MsgBox Index
End Select
End Sub
Private Sub Text1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
DragFlag = True
MemX = X
MemY = Y
End Sub
Private Sub Text1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not DragFlag Then Exit Sub
Text1(intShapes).Left = Text1(intShapes).Left + (X - MemX)
Text1(intShapes).Top = Text1(intShapes).Top + (Y - MemY)
End Sub
Private Sub Text1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
DragFlag = False
End Sub
Kann sich vielleicht einer erbarmen und mir helfen?
Vielen Dank und Gruß |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|