Panel:Receiver

  Panel:Receiver( string name, function func, table menu = nil )

Açıklama

Panelin sürükle ve bırak olaylarını almasını sağlar. Farklı sürükle-bırak paneli olaylarını almak için farklı isimlerle birden çok kez çağrılabilir.

Argümanlar

1 string name
Alınacak Sürükle-Bırak (DnD) panellerinin adı. Bu, sürüklenip bırakılabilen panellerde Panel:Droppable aracılığıyla ayarlanır.
2 function func
Bu fonksiyon, geçerli bir isme sahip bir panel bu panelin üzerine geldiğinde veya bırakıldığında çağrılır.
Fonksiyon argüman(lar)ı:
1 Panel pnl - Alıcı panel
2 table tbl - Alıcı panelin üzerine bırakılan panellerin bir tablosu
3 boolean dropped - Eğer sadece üzerinde duruluyorsa false, üzerine bırakıldıysa true
4 number menuIndex - Panel:Receiver'ın üçüncü argümanından tıklanan menü öğesinin indeksi
5 number x - İmleç pozisyonu, alıcıya göre
6 number y - İmleç pozisyonu, alıcıya göre
3 table menu = nil
Sürükle ve bırak işlemi sağ tıklama ile yapıldıysa menü görevi görecek bir metin (string) tablosu

Örnek

DDragBase kullanmadan çok basit bir sürükle ve bırak örneği.

local function DoDrop( self, panels, bDoDrop, Command, x, y ) if ( bDoDrop ) then for k, v in pairs( panels ) do self:AddItem( v ) end end end concommand.Add( "test2", function() local frame = vgui.Create( "DFrame" ) frame:SetSize( 500, 300 ) frame:SetTitle( "Frame" ) frame:MakePopup() frame:Center() local left = vgui.Create( "DScrollPanel", frame ) left:Dock( LEFT ) left:SetWidth( frame:GetWide() / 2 - 7 ) left:SetPaintBackground( true ) left:DockMargin( 0, 0, 4, 0 ) left:Receiver( "myDNDname", DoDrop ) -- Paneli sürükle ve bırak olayları için bir alıcı yapar local right = vgui.Create( "DScrollPanel", frame ) right:Dock( FILL ) right:SetPaintBackground( true ) right:Receiver( "myDNDname", DoDrop ) for i = 1, 30 do local but = vgui.Create( "DButton" ) but:SetText( i ) but:SetSize( 36, 24 ) but:Dock( TOP ) but:Droppable( "myDNDname" ) -- paneli diğer panellerin üzerine sürüklenip bırakılabilir yapar right:AddItem( but ) end end )

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord