Probleme mit vielen Panels
Probleme mit vielen Panels
moin,
auf einem Panel erstelle ich im Code ca. 50 Panels.
Diese möchte ich je nach Bedarf in der Größe und Position verändern können.
Wie mache ich das?
'Mouse_Down' und 'Mouse_Up' werden mir richtig angezeigt. Aber 'Mouse_Move' nicht.
Da klappt das 'Mouse.Inside(PanelXY)' nicht.
Wie kann ich das lösen?
auf einem Panel erstelle ich im Code ca. 50 Panels.
Diese möchte ich je nach Bedarf in der Größe und Position verändern können.
Wie mache ich das?
'Mouse_Down' und 'Mouse_Up' werden mir richtig angezeigt. Aber 'Mouse_Move' nicht.
Da klappt das 'Mouse.Inside(PanelXY)' nicht.
Wie kann ich das lösen?
Gruss
Re: Probleme mit vielen Panels
vielleicht hilft dir das weiter:
Code: Alles auswählen
# Gambas Form File 3.0
{ Form Form
MoveScaled(0,0,64,64)
{ Button1 Button
MoveScaled(43,57,18,4)
}
{ Panel1 Panel test
Name = "Panel1"
MoveScaled(2,2,22.8571,11.4286)
Background = Color.Blue
}
{ Panel2 Panel test
Name = "Panel2"
MoveScaled(2,14,22.8571,11.4286)
Background = Color.Red
}
{ Panel3 Panel test
Name = "Panel3"
MoveScaled(2,26,22.8571,11.4286)
Background = Color.Green
}
{ Label1 Label
MoveScaled(2,57,5.7143,4)
Background = Color.White
Alignment = Align.Center
}
{ Label2 Label
MoveScaled(9,57,5.7143,4)
Background = Color.White
Alignment = Align.Center
}
{ Label3 Label
MoveScaled(16,57,25,4)
Background = Color.White
Alignment = Align.Center
}
{ Panel4 Panel
MoveScaled(26,2,22.8571,11.4286)
Background = Color.DarkBlue
}
{ Panel5 Panel
MoveScaled(26,14,22.8571,11.4286)
Background = Color.DarkRed
}
{ Panel6 Panel
MoveScaled(26,26,22.8571,11.4286)
Background = Color.DarkGreen
}
{ Label4 Label
MoveScaled(2,52,12,4)
Background = Color.White
Alignment = Align.Center
}
{ Label5 Label
MoveScaled(16,52,11.4286,4)
Background = Color.White
Alignment = Align.Center
}
{ Label6 Label
MoveScaled(29,52,11.4286,4)
Background = Color.White
Alignment = Align.Center
}
}
Code: Alles auswählen
' Gambas class file
Public Sub Form_Open()
End
Public Sub Button1_Click()
Me.Close
End
Public Sub test_MouseMove()
Label1.Text = Mouse.X
Label2.Text = Mouse.Y
Label3.Text = Last.name
checkmouse()
End
Public Sub Panel4_MouseMove()
Label1.Text = Mouse.X
Label2.Text = Mouse.Y
Label3.Text = Panel4.name
checkmouse()
End
Public Sub Panel5_MouseMove()
Label1.Text = Mouse.X
Label2.Text = Mouse.Y
Label3.Text = Panel5.name
checkmouse()
End
Public Sub Panel6_MouseMove()
Label1.Text = Mouse.X
Label2.Text = Mouse.Y
Label3.Text = Panel6.name
checkmouse()
End
Public Sub checkmouse()
Label4.Background = &H808080
Label5.Background = &H808080
Label6.Background = &H808080
If Mouse.Left Then
Label4.Background = &H000000
Endif
If Mouse.Middle Then
Label5.Background = &H000000
Endif
If Mouse.Right Then
Label6.Background = &H000000
Endif
End
Re: Probleme mit vielen Panels
moin,
dann müßte ich für jedes Panel die 'Sub Mouse_Move' schreiben. Ist aber schlecht, da die Anzahl der Panels variieren.
Außerdem ein riesiger Aufwand.
Ich erstelle jetzt erst mal zum Testen mit einer 'For ... Next' Schleife die Panels in einem Array. Beispiel: Pna0 bis Pna49. Mit gleichem Namen und Tag. Die Anzahl der Panels ist abhängig von der Größe des Eltern-Panel.
dann müßte ich für jedes Panel die 'Sub Mouse_Move' schreiben. Ist aber schlecht, da die Anzahl der Panels variieren.
Außerdem ein riesiger Aufwand.
Ich erstelle jetzt erst mal zum Testen mit einer 'For ... Next' Schleife die Panels in einem Array. Beispiel: Pna0 bis Pna49. Mit gleichem Namen und Tag. Die Anzahl der Panels ist abhängig von der Größe des Eltern-Panel.
Gruss
Re: Probleme mit vielen Panels
schau doch mal in den code ... die panels 1 bis 3 (wegen mir auch 50) werden in EINER mousemove abgefrühstückt ... stichwort group ...
Re: Probleme mit vielen Panels
die 'Public Sub test_MouseMove()' habe ich mal übernommen, wird aber bei mr niemals angesprungen. ??
Ich abe eine Sub mit MouseMove, die auch angesprungen wird. Aber keine spezielle Auswertung auf das 'gemachte' Panel.
Es soll das Panel, auf der sich die Maus befindet verschoben bzw. verändert werden.
Das Panel kann ich nicht beeinflussen.
Ich abe eine Sub mit MouseMove, die auch angesprungen wird. Aber keine spezielle Auswertung auf das 'gemachte' Panel.
Es soll das Panel, auf der sich die Maus befindet verschoben bzw. verändert werden.
Das Panel kann ich nicht beeinflussen.
Gruss
Re: Probleme mit vielen Panels
gruppe des panels gesetzt?
wenn ereignisprozedur = test_mousemove dann gruppe des panels = test ... zugriff auf die eigenschaften mit last.xxx
was du sehen würdest wenn du meinen code mal in gambas ausgeführt hättest ...
wenn ereignisprozedur = test_mousemove dann gruppe des panels = test ... zugriff auf die eigenschaften mit last.xxx
was du sehen würdest wenn du meinen code mal in gambas ausgeführt hättest ...
Re: Probleme mit vielen Panels
Bei diesen Panels kann ich keine 'Group' deklarieren. Macht Fehlermeldung: > 'Panel.Group' ist keine Eigenschaft
Ich habe Dein Code mal versucht. Es hat ja mit menem Problem gar nichts zu tun!
Kein Panel kann ich verschieben.
Hast Du mal in der IDE ein Panel angeklickt und rechts unter den Eigenschaften bei Bertätigung von 'Group' die Erläuterung gelesen?
Mach mal. Oder im Wiki, da steht nichts von 'Group' .
Ich habe Dein Code mal versucht. Es hat ja mit menem Problem gar nichts zu tun!
Kein Panel kann ich verschieben.
Hast Du mal in der IDE ein Panel angeklickt und rechts unter den Eigenschaften bei Bertätigung von 'Group' die Erläuterung gelesen?
Mach mal. Oder im Wiki, da steht nichts von 'Group' .
Gruss
Re: Probleme mit vielen Panels
stimmt ... existiert nicht zur laufzeit
echt jetzt ?
ach komm ... es existiert in meinen code keine routine zum verschieben und trotzdem gehts nicht ...
ein letzter kleiner tip ... hidden panel auf der form anlegen und zur laufzeit kopieren ... aber da du es ja (wieder mal) besser weißt bin ich raus
schönen abend noch
Re: Probleme mit vielen Panels
ich versteh nicht was das soll.
Du hast auf der Form alles angelegt. -- Ich lege die Panels zur Laufzeit an! Momentan bei der Fenstergröße sind es 48 Panels.
Du zeigst in den Labels die X + Y Positionen der Maus und den Panelnamen an und ein buntes Farbenwechsel.
Das ist doch das Einfachste, was es gibt. Wenn das für Dich so einfach ist, dann mach mal ein Beispiel!
Ich möchte die Panels zur Laufzeit erstellen und mit Maus_Move die Position jedes einzelnen Panel verschieben können und deren Größe.
Hast Du schon mal ein 'Control' zur Laufzeit erstellt und damit die Eigenschaften und Methoden durchgetestet?
Das ist etwas anders, als wenn Du diese auf der Form erstellst.
Du hast auf der Form alles angelegt. -- Ich lege die Panels zur Laufzeit an! Momentan bei der Fenstergröße sind es 48 Panels.
Du zeigst in den Labels die X + Y Positionen der Maus und den Panelnamen an und ein buntes Farbenwechsel.
Das ist doch das Einfachste, was es gibt. Wenn das für Dich so einfach ist, dann mach mal ein Beispiel!
Ich möchte die Panels zur Laufzeit erstellen und mit Maus_Move die Position jedes einzelnen Panel verschieben können und deren Größe.
Hast Du schon mal ein 'Control' zur Laufzeit erstellt und damit die Eigenschaften und Methoden durchgetestet?
Das ist etwas anders, als wenn Du diese auf der Form erstellst.
Gruss
Re: Probleme mit vielen Panels
moin,
ich füge mal die 'Panels' als Beispiel hinzu.
Vielleicht findest Du, wie ich einzelne Panels bewegen kann.
ich füge mal die 'Panels' als Beispiel hinzu.
Vielleicht findest Du, wie ich einzelne Panels bewegen kann.
- Dateianhänge
-
- pan_bew_t1-0.0.1.tar.gz
- (12.76 KiB) 15-mal heruntergeladen
Gruss
Re: Probleme mit vielen Panels
du schuldest mir ein abendessen ...
- Dateianhänge
-
- GehtDoch-1.0.tar.gz
- (12.85 KiB) 16-mal heruntergeladen
Re: Probleme mit vielen Panels
moin,
das kann ich auch schon eine Weile. Bei Deinem Beispiel kann ich aber nicht ein beliebig auszuwählnedess Panel ansprechen und bearbeiten. Das kann ich aber inzwischen.
Ich werde als nächstens versuchen ein paar 'Griffe' dran zu bauen, um es in der Größe zu variieren.
Momentan nutze ich dazu noch Panels, es sollen aber mal ScrollAreas oder PictureBoxen werden.
Da kann ich dann einzelne Elemete eines zu erstellenden Image verschieben, löschen ....
Ist aber noch ein langer Weg bis dahin.
das kann ich auch schon eine Weile. Bei Deinem Beispiel kann ich aber nicht ein beliebig auszuwählnedess Panel ansprechen und bearbeiten. Das kann ich aber inzwischen.
Ich werde als nächstens versuchen ein paar 'Griffe' dran zu bauen, um es in der Größe zu variieren.
Momentan nutze ich dazu noch Panels, es sollen aber mal ScrollAreas oder PictureBoxen werden.
Da kann ich dann einzelne Elemete eines zu erstellenden Image verschieben, löschen ....
Ist aber noch ein langer Weg bis dahin.
Gruss
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste