Welches Control ist oben, bzw. wie nach oben?

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
gambasso
Foriker
Beiträge: 1084
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Welches Control ist oben, bzw. wie nach oben?

Beitrag von gambasso » Sa 27. Jun 2020, 13:20

moin,

ich habe 3 ScrollAreas, (Hauptzeichenfläche) gleiche Größe, liegen übereinander.
Dann 6 ScrollAreas, sollen überall liegen können, die Größe ist mit der Maus einstellbar.

Wie schaffe ich es, eine beliebige ScrollArea als oberste ScrollArea zu plazieren, um diese zu bearbeiten?

Wie lese ich aus, welche ScrollArea oben ist?
Gruss

Benutzeravatar
cogier
Foriker
Beiträge: 51
Registriert: Do 19. Jul 2018, 16:18
Wohnort: Guernsey, Channel Islands
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von cogier » Sa 27. Jun 2020, 15:20

Sie müssen 'Raise' (Erhöhen) verwenden. Schauen Sie sich das beigefügte Programm an.
Testing5-0.0.1.tar.gz
(14.13 KiB) 15-mal heruntergeladen

gambasso
Foriker
Beiträge: 1084
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von gambasso » Sa 27. Jun 2020, 16:16

danke schön,

das Prinzip ist klar, ich habe etwa 9 ScrollAreas, wobei ich gerne das 'Oberste' als Text in einem Label angezeigt haben möchte.
Außerdem brauche ich die Möglichkeit, jede ScrollArea auf Wunsch noch oben zur Verarbeitung zu bringen.

Dazu versuche ich es erst mal mit 9 Buttons. Anders komme ich nicht ran.
Gruss

besenmuckel
Foriker
Beiträge: 130
Registriert: Di 4. Nov 2014, 21:11
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von besenmuckel » So 28. Jun 2020, 11:34

Oder den Aufruf über Menü statt Buttons. Hier am Beispiel(Testing5-0.0.1.tar.gz) von cogier zum testen einfach diesen Code einfügen. Timer ausgeschaltet. Die einzelnen Bilder werden mit Rechtsklick über das Menü aufgerufen. Das Form_Menu hier im Code, lässt sich aber einfacher find ich mit den Menüeditor erstellen. Man kann im Menüeditor z. B. auch schneller für jedes Menü gleich Tastenkombinationen festlegen.

Code: Alles auswählen

' Gambas class file

iCount As Integer

Public Sub Form_Open()

  Timer1.Enabled = False

End

Public Sub Form_Menu()

  Dim menus, item As Menu

  menus = New Menu(Me)    ' Neues Menu anlegen
  item = New Menu(menus) As "Bild1"   ' Neuer Eintrag im Menu, "Bild1" ist der Funtionsname der aufgerufen werden soll
  item.Text = ("Bild1")  ' Text für Menupunkt
  item = New Menu(menus) As "Bild2"
  item.Text = ("Bild2")
  item = New Menu(menus) As "Bild3"
  item.Text = ("Bild3")
  item = New Menu(menus) As "Ende"
  item.Text = ("Ende")
  menus.Popup()    ' Menu anzeigen

End

Public Sub Bild1_Click()

  PictureBox1.Raise

End

Public Sub Bild2_Click()

  PictureBox2.Raise

End

Public Sub Bild3_Click()

  PictureBox3.Raise

End

Public Sub Ende_Click()

  Me.Close

End

Public Sub Timer1_Timer()

  Inc iCount
  If iCount = 4 Then iCount = 1

  If iCount = 1 Then PictureBox1.Raise
  If iCount = 2 Then PictureBox2.Raise
  If iCount = 3 Then PictureBox3.Raise

End

vuott
Foriker
Beiträge: 103
Registriert: Fr 16. Jan 2015, 01:27
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von vuott » So 28. Jun 2020, 19:28

Hier benutze ich neun "Label".
gambas code
Public Sub Form_Open()

  Button2.Enabled = False

End

Public Sub Button1_Click()   ' Um die Position eine "Label" zufällig zu ändern.

  Dim ob As Object

  Repeat
    ob = Me.Children[Rand(0, 8)]
  Until Object.Type(ob) == "Label"

' Es platziert das "Label" oben:
  ob.Raise
  
  Button2.Enabled = True

End

Public Sub Button2_Click()   ' Um zu sehen, welches "Label" oben ist.

  Dim cl As Control
  
  For Each cl In Me.Controls
' Das letzte "Label" steht oben (sein Name wird in "Me.Caption" angezeigt):
    Me.Caption = cl.Name
  Next
  
  Button2.Enabled = False

End

gambasso
Foriker
Beiträge: 1084
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von gambasso » Do 2. Jul 2020, 13:27

moin,

das haut alles nicht so hin,

gegeben: 9 ScrollAreas / alle durchsichtig mit Border
3 davon als Hauptbild, alle gleich groß, liegen übereinamder
auf diesen liegen jeweils 2 kleine ScrollAreas, aber versetzt, do daß ich jede sehen kann

6 Button, jeweils einer kleinen ScrollArea zugeordnet.
der Button gibt den Befehl zur der kleinen ScrollArea: 'ScrollAreaXY.Raise()'
auch 'ScrollAreaXY.SetFocus()' bringt nichts
auch ein 'Wait' bringt mir nichts

Wie bekomme ich jede gewünschte ScrollArea in den Vordergrund zur weiteren Bearbeitung?
Gruss

vuott
Foriker
Beiträge: 103
Registriert: Fr 16. Jan 2015, 01:27
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von vuott » Do 2. Jul 2020, 16:05

gambasso hat geschrieben:
Do 2. Jul 2020, 13:27
das haut alles nicht so hin,

gegeben: 9 ScrollAreas / alle durchsichtig mit Border
3 davon als Hauptbild, alle gleich groß, liegen übereinamder
........ etc....
Können Sie die Programmdatei anhängen ?
Wir müssen ein paar Tests machen.

gambasso
Foriker
Beiträge: 1084
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von gambasso » Do 2. Jul 2020, 17:06

die Datei ist zu groß, ich werde versuchen, diese auf das wesentliche zu schrumpfen.
Das dauerd aber etwas Zeit.
Gruss

vuott
Foriker
Beiträge: 103
Registriert: Fr 16. Jan 2015, 01:27
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von vuott » Do 2. Jul 2020, 17:48

ok

gambasso
Foriker
Beiträge: 1084
Registriert: Sa 17. Mär 2012, 09:55
Kontaktdaten:

Re: Welches Control ist oben, bzw. wie nach oben?

Beitrag von gambasso » So 5. Jul 2020, 10:58

moin,

habe den Code mal abgspeckt. Mit 'abc.Parent(xyz)' klappt es zwar, aber mit 'Raise' wäres es wesentlich einfacher.
In 'Raise' ist wahrscheinlich 'Parent' nicht möglich, brauche ich aber.
Dateianhänge
n2test_01-0.0.1.tar.gz
(26.73 KiB) 9-mal heruntergeladen
Gruss

Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 1 Gast