Abych opsal svou situaci...dělám inventář do hry. Máme tu Scene1 (teda form1) a další form z názvem Inventory. Po tom co seberu na Scene1 nějaký předmět se mi uloží do inventáře, díky refresh funkci která obnoví data z Inventory formuláře a kterou volám vždycky při otevření formu Inventory klávesou I.
Problém je ale v tom, že seberu nejakej předmět a mám ho v inventáři. A teď mám kod pro Drag & Drop funkci...který je ale zakomponovaný ve formu Inventory. A teď potřebuji tu funkci použít na formulář scene1. Tedy ješte podrobněji když mám ve formu Inventory dejme tomu nějakej item, má označení Item (je to pouhý obrázek který zobrazuji vždy pokud je daná hodnota k itemu True, což se stane vždy když daný predmet user sebere) a teď, inventory zobrazuji metodou Show teda jsou vidét dva formy zároveň Scene1 a nad tím je Inventory a přesne takhle to má být. ale k té drag drop funkci...potřebuji aby se Item1 z formu Inventory dal přetáhnout do Scene1. Teda řekneme že máme v scene1 Picture1 a podmínku v drag drop funkci že pokud přenesu Item1 na picture1 tak se něco stane. ale tohle mi právě nefunguje! prostě nejde mi to použít z jednoho formu na druhej...možná kdybych dal něco jako:
Private Sub Scene1.Picture1_DragDrop(Source As Control, X As Single, Y As Single)
Command1.Visible = False
End Sub
ale toto bohužel nefunguje.
tady je kod:
Dim top_sur, left_sur As Integer
Private Sub Item1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Item1.Drag vbBeginDrag
End Sub
Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Item1.Drag vbEndDrag
End Sub
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move X, Y
Item1.Move X - Command1.Width / 2, _
Y - Item1.Height / 2
Item1.Left = left_sur
Item1.Top = top_sur
End Sub
Private Sub Form_Load()
top_sur = Item1.Top
left_sur = Item1.Left
End Sub
Private Sub Picture1_DragDrop(Source As Control, X As Single, Y As Single)
Item1.Visible = False
End Sub