# Panel Özelleştirme

- **İngilizce aslı:** https://wiki.facepunch.com/gmod/Panel_Customization
- **Çeviri tarihi:** 2025-09-08

Bazen bir eklenti veya oyun modu için özel bir VGUI Paneli oluşturmak isteyebilirsiniz.

## Bir Tablo Oluşturun

Özel bir VGUI Paneli oluşturmanın ilk adımı bir tablo oluşturmaktır.

```lua
local PANEL = {}
```

## Ardından Fonksiyonlar Ekleyin

Garry's Mod'un başlatıldığında ne yapacağını bilmesi için tablomuza bir fonksiyon verebiliriz.

```lua
function PANEL:Init()
    self:SetSize( 100, 100 )
    self:Center()
end
```

Panelimizin boyutunu 100 piksel genişliğinde ve 100 piksel yüksekliğinde ayarlamak için `self:SetSize( 100, 100 )` kullanırız. `self:Center()`, panelimizi ebeveyninin ortasına ortalar (eğer bir ebeveyn verilmemişse, paneli ekranın ortasına ortalayacaktır).

Ayrıca, paneli ekrana çizmek istediğimizde Garry's Mod'a ne yapmamız gerektiğini söylemesi için tablomuza bir fonksiyon verebiliriz.

```lua
function PANEL:Paint( w, h )
    draw.RoundedBox( 0, 0, 0, w, h, color_black )
end
```

Bu fonksiyonda, panelimizi `self:SetSize()` içinde tanımlanan boyutlarla çizmek için `draw.RoundedBox(...)` fonksiyonunu çağırırız. 0,0'dan başlarız çünkü bu, panelimizdeki en üst ve en sol noktadır.

## Son Olarak Kaydediyoruz

Özel bir VGUI Paneli oluşturmanın son adımı, [tabloyu kaydetmektir](https://gmod.tr/wiki/vgui.Register).

```lua
vgui.Register( "MyFirstPanel", PANEL, "Panel" )
```

Burada; `"MyFirstPanel"`, oluşturmak istediğinizde kullanılacak olan panelinizin istenen adıdır. `PANEL`, oluşturduğumuz tablodur ve `"Panel"`, temel olarak kullanmak istediğiniz eleman türüdür.

## Sonuç

Artık özel panelinizi aşağıdaki kodu kullanarak oluşturabilirsiniz:

```lua
local pnl = vgui.Create( "MyFirstPanel", parentpanel )
```

veya

```lua
local pnl = parentpanel:Add( "MyFirstPanel" )
```

## Kodun Tamamı

```lua
local PANEL = {}

function PANEL:Init()
    self:SetSize( 100, 100 )
    self:Center()
end

function PANEL:Paint( w, h )
    draw.RoundedBox( 0, 0, 0, w, h, color_black )
end

vgui.Register( "MyFirstPanel", PANEL, "Panel" )
```

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/Panel_Customization
