Ein Bild auf andere Form verschieben ?

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
gambasso
Foriker
Beiträge:1091
Registriert:Sa 17. Mär 2012, 09:55
Kontaktdaten:
Ein Bild auf andere Form verschieben ?

Beitrag von gambasso » Mo 17. Aug 2020, 13:38

moin,

ich möchte ein Bild aus einem TableView zu einer anderen Form auf einer ScrollArea verschieben (Kopieren).
In der Tabelle bekomme ich z.B. die Bilder eines Verzeichnisses angezeigt.
Da möchte ich mir eins aussuchen können und in einer ScrollArea übernehmen.

Bisher habe ich es umständlich geschaft mit 'TableView_MouseMove' . Dabei lese ich das Bild und schiebe es in einer Extra-Form mit nur dem Bild.
Diese kann ich dann auf dem Bildschirm hin und her verschieben. Ich habe aber noch nichts gefunden, wie ich das darunterliegende Controll ausgelesen bekomme.
Nur mit 'Mouse.Right' und einem Menü kann ich es zu einem im Menü angeklickten Control kopieren. Das heißt, ich muß jedes infragekommende Control im Menü auflisten und eine Routine dazu schreiben.
Einfacher wäre es natürlich, wenn ich eine Abrage hätte, worüber sich das Bild (die Extra-Form) gerade befindet.
Dann einfach klicken und fertig.
Gibt es so etwas?

Die Abfrage 'TableView_MouseMove' ist blöd geamacht. Reagiert wie 'TableView_Enter', ohne Mouse.Left.
Brauchst nur TableView mit der Maus berühren, wird in die Sub verzweigt.
Gruss

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

Re: Ein Bild auf andere Form verschieben ?

Beitrag von cogier » Di 18. Aug 2020, 10:59

Führen Sie diese in einer grafischen Anwendung aus. Ich hoffe, es hilft.

Code: Alles auswählen

' Gambas class file

TableView1 As TableView
ScrollView1 As ScrollView

Public Sub Form_Open()
  
  Setup
  
End

Public Sub TableView1_Click()
  
  Dim PictureBox1 As PictureBox
  Dim pPict As Picture = TableView1[Last.Row, Last.Column].Picture
  
  With PictureBox1 = New PictureBox(ScrollView1) As "PictureBoxes"
    .H = 100
    .Mode = PictureBox.Contain
    .Alignment = Align.Center
    .Width = 100
    .Padding = 5
    .Picture = pPict
  End With
  
End

Public Sub PictureBoxes_MouseDown()
  
  Last.Delete
  
End

Public Sub Setup()
  
  Dim sPicts As String[] = ["right", "left", "stop", "printer", "copy", "paste", "play", "computer", "camera", "up", "add", "apply", "bookmark", "book", "bottom"]
  Dim iRow, iCol, iCount As Integer
  
  With Me
    .H = 600
    .W = 350
    .Arrangement = Arrange.Vertical
    .Padding = 5
  End With
  
  With TableView1 = New TableView(Me) As "TableView1"
    .Rows.Height = 96
    .Expand = True
    .Rows.Count = 5
    .Columns.Count = 3
    For iRow = 0 To 4
      For iCol = 0 To 2
        .[iRow, iCol].Picture = Picture["icon:/96/" & sPicts[iCount]]
        .[iRow, iCol].Alignment = Align.Center
        Inc iCount
      Next
    Next
  End With
  
  TableView1.Columns.Width = -1
  
  With ScrollView1 = New ScrollView(Me) As "ScrollArea1"
    .Arrangement = Arrange.Horizontal
    .H = 100
  End With
  
End

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

Re: Ein Bild auf andere Form verschieben ?

Beitrag von gambasso » Di 18. Aug 2020, 15:46

moin,

so etwas ähnliches habe ich ja. Dabei kann ich durch RechsClick und PopUp-Menu dann bestimmen wohin mit dem Bild.

Ich möchte gern > Bild anklicken, Ziehen, dann auf einer anderen Form auf einer beliebigen ScrollArea Ablegen.
Geht sowas nicht mit 'Drag & Drop'? Ich weiss darüber aber nichts.
Gruss

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

Re: Ein Bild auf andere Form verschieben ?

Beitrag von besenmuckel » Di 18. Aug 2020, 16:29

Bei mir und Dolphin als Dateimanager geht es auch direkt daraus. Schiebe Bild direkt auf Form -> Ausgabe Print wird dann der Pfad angezeigt.

Code: Alles auswählen

file:///home/User/Pictures/Color.png
Form -> Eigenschaften -> Drop = True.

Code: Alles auswählen

Public Sub Form_Drop()

  Print Str(Drag.Data)

End
Kannst ja hier mal schauen.
http://gambaswiki.org/wiki/app/draganddrop

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

Re: Ein Bild auf andere Form verschieben ?

Beitrag von besenmuckel » Di 18. Aug 2020, 18:08

Da es die tar.gz auf der Seite anscheinend nicht mehr gibt, habe ich sie mal hier neu gemacht. Am Code nichts geändert. Habe ihn von der Seite übernommen.
draganddrop-0.0.1.tar.gz
(29KiB)11-mal heruntergeladen

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

Re: Ein Bild auf andere Form verschieben ?

Beitrag von gambasso » Sa 22. Aug 2020, 13:20

moin,

so in etwa habe ich es bis dato ja hinbekommen, aber was mir fehlt, welches Object liegt gerade unter dem zu verschiebenen Bild?
Bisheriger Stand ist, ich muß vorher definieren, wo das Bild abgelegt werden soll.

Da finde ich ichts drüber.
Gruss

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste