# DFrame

- **Ortam:** İstemci, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/DFrame
- **Çeviri tarihi:** 2025-09-08

## Açıklama

DFrame, temelde tüm VGUI elemanlarının anasıdır. %98 oranında elemanınızı buna ebeveyn olarak atarsınız.

[Kaynağı görüntüle](https://github.com/Facepunch/garrysmod/blob/master/garrysmod/lua/vgui/dframe.lua)

## Ebeveyn

Bu sayfada listelenmeyen metotları vb. [EditablePanel](https://gmod.tr/wiki/EditablePanel)'dan miras alır.

## Uygulananlar

Aşağıdaki kancaları/metotları uygular veya geçersiz kılar. Bunları geçersiz kılmak isterseniz, muhtemelen orijinal fonksiyonu da çağırmak istersiniz.

- [Panel:Init](https://gmod.tr/wiki/PANEL:Init)
- [Panel:Think](https://gmod.tr/wiki/PANEL:Think)
- [Panel:Paint](https://gmod.tr/wiki/PANEL:Paint)
- [Panel:OnMousePressed](https://gmod.tr/wiki/PANEL:OnMousePressed)
- [Panel:OnMouseReleased](https://gmod.tr/wiki/PANEL:OnMouseReleased)
- [Panel:PerformLayout](https://gmod.tr/wiki/PANEL:PerformLayout)
- [Panel:GenerateExample](https://gmod.tr/wiki/PANEL:GenerateExample)

## Olaylar

DFrame:[OnClose](https://gmod.tr/wiki/DFrame:OnClose)()

DFrame, DFrame:Close ile kapatıldığında çağrılır. Bu, DFrame'in kontrol kutusundaki kapatma düğmesine tıklandığında geçerlidir. Bu fonksiyon hiçbir şey yapmaz ve geçersiz kılınması güvenlidir. Bu, DFrame Panel:Remove ile kaldırıldığında çağrılmaz, bunun için PANEL:OnRemove'a bakın.

## Metotlar

DFrame:[Center](https://gmod.tr/wiki/DFrame:Center)()

Çerçeveyi tüm ekrana göre ortalar ve düzenini geçersiz kılar. Bu, Panel:Center'ı geçersiz kılar.

DFrame:[Close](https://gmod.tr/wiki/DFrame:Close)()

DFrame'i gizler veya kaldırır ve DFrame:OnClose'u çağırır. Çerçevenin gizlenip gizlenmeyeceğini veya kaldırılıp kaldırılmayacağını ayarlamak için DFrame:SetDeleteOnClose kullanın.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[GetBackgroundBlur](https://gmod.tr/wiki/DFrame:GetBackgroundBlur)()

Çerçevenin arkasındaki arka planın bulanıklaştırılıp bulanıklaştırılmadığını alır.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[GetDeleteOnClose](https://gmod.tr/wiki/DFrame:GetDeleteOnClose)()

DFrame'in kapatıldığında kaldırılıp kaldırılmayacağını belirler. Bu, DFrame:SetDeleteOnClose ile ayarlanır.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[GetDraggable](https://gmod.tr/wiki/DFrame:GetDraggable)()

Çerçevenin kullanıcı tarafından sürüklenip sürüklenemeyeceğini alır.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[GetIsMenu](https://gmod.tr/wiki/DFrame:GetIsMenu)()

Çerçevenin bir derma menüsünün parçası olup olmadığını alır. Bu, DFrame:SetIsMenu ile ayarlanır.

[number](https://gmod.tr/wiki/number) DFrame:[GetMinHeight](https://gmod.tr/wiki/DFrame:GetMinHeight)()

DFrame'in kullanıcı tarafından yeniden boyutlandırılabileceği minimum yüksekliği alır. Çerçeveyi yeniden boyutlandırabilmesi için önce DFrame:SetSizable'ı çağırmalısınız.

[number](https://gmod.tr/wiki/number) DFrame:[GetMinWidth](https://gmod.tr/wiki/DFrame:GetMinWidth)()

DFrame'in kullanıcı tarafından yeniden boyutlandırılabileceği minimum genişliği alır. Kullanıcının çerçeveyi yeniden boyutlandırabilmesi için önce DFrame:SetSizable'ı çağırmalısınız.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[GetPaintShadow](https://gmod.tr/wiki/DFrame:GetPaintShadow)()

DFrame'i çevreleyen gölge efektinin çizilip çizilmediğini alır.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[GetScreenLock](https://gmod.tr/wiki/DFrame:GetScreenLock)()

DFrame'in ekran çözünürlüğünün sınırlarına kısıtlanıp kısıtlanmadığını alır.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[GetSizable](https://gmod.tr/wiki/DFrame:GetSizable)()

DFrame'in kullanıcı tarafından yeniden boyutlandırılıp boyutlandırılamayacağını alır. Bu, çerçevenin sağ alt köşesine tıklayıp sürükleyerek gerçekleştirilir.

[string](https://gmod.tr/wiki/string) DFrame:[GetTitle](https://gmod.tr/wiki/DFrame:GetTitle)()

Çerçevenin başlığını döndürür.

[boolean](https://gmod.tr/wiki/boolean) DFrame:[IsActive](https://gmod.tr/wiki/DFrame:IsActive)()

Çerçevenin veya alt elemanlarından birinin ekran odağına sahip olup olmadığını belirler.

DFrame:[SetBackgroundBlur](https://gmod.tr/wiki/DFrame:SetBackgroundBlur)( [boolean](https://gmod.tr/wiki/boolean) blur )

Arka plan elemanlarının kullanılamayacağını belirtir.

DFrame:[SetDeleteOnClose](https://gmod.tr/wiki/DFrame:SetDeleteOnClose)( [boolean](https://gmod.tr/wiki/boolean) shouldDelete )

DFrame'in DFrame:Close ile kapatıldığında kaldırılıp kaldırılmayacağını belirler.

DFrame:[SetDraggable](https://gmod.tr/wiki/DFrame:SetDraggable)( [boolean](https://gmod.tr/wiki/boolean) draggable )

Çerçevenin kullanıcı tarafından sürüklenip sürüklenemeyeceğini ayarlar. DFrame yalnızca başlık çubuğundan sürüklenebilir.

DFrame:[SetIcon](https://gmod.tr/wiki/DFrame:SetIcon)( [string](https://gmod.tr/wiki/string) path )

DFrame başlığının soluna bir ikon ekler veya kaldırır.

DFrame:[SetIsMenu](https://gmod.tr/wiki/DFrame:SetIsMenu)( [boolean](https://gmod.tr/wiki/boolean) isMenu )

Çerçevenin bir derma menüsünün parçası olup olmadığını ayarlar. Eğer bu true olarak ayarlanırsa, çerçeveye tıklandığında CloseDermaMenus çağrılmaz ve bu nedenle açık olan menüler açık kalır.

DFrame:[SetMinHeight](https://gmod.tr/wiki/DFrame:SetMinHeight)( [number](https://gmod.tr/wiki/number) minH )

Kullanıcı tarafından DFrame'in yeniden boyutlandırılabileceği minimum yüksekliği ayarlar. Bu yalnızca çerçeveyi yeniden boyutlandırmaya çalışan kullanıcılar için geçerlidir; Panel:SetTall ve benzeri metotlar etkilenmez. Kullanıcının çerçeveyi yeniden boyutlandırabilmesi için önce DFrame:SetSizable'ı çağırmalısınız.

DFrame:[SetMinWidth](https://gmod.tr/wiki/DFrame:SetMinWidth)( [number](https://gmod.tr/wiki/number) minW )

Kullanıcı tarafından DFrame'in yeniden boyutlandırılabileceği minimum genişliği ayarlar. Bu yalnızca çerçeveyi yeniden boyutlandırmaya çalışan kullanıcılar için geçerlidir; Panel:SetWide ve benzeri metotlar etkilenmez. Kullanıcının çerçeveyi yeniden boyutlandırabilmesi için önce DFrame:SetSizable'ı çağırmalısınız.

DFrame:[SetPaintShadow](https://gmod.tr/wiki/DFrame:SetPaintShadow)( [boolean](https://gmod.tr/wiki/boolean) shouldPaint )

DFrame'i çevreleyen gölge efektinin çizilip çizilmeyeceğini ayarlar.

DFrame:[SetScreenLock](https://gmod.tr/wiki/DFrame:SetScreenLock)( [boolean](https://gmod.tr/wiki/boolean) lock )

DFrame'in ekran çözünürlüğünün sınırlarına kısıtlanıp kısıtlanmadığını ayarlar.

DFrame:[SetSizable](https://gmod.tr/wiki/DFrame:SetSizable)( [boolean](https://gmod.tr/wiki/boolean) sizeable )

DFrame'in kullanıcı tarafından yeniden boyutlandırılıp boyutlandırılamayacağını ayarlar. Bu, çerçevenin sağ alt köşesine tıklayıp sürükleyerek gerçekleştirilir. Minimum boyutu DFrame:SetMinWidth ve DFrame:SetMinHeight kullanarak ayarlayabilirsiniz.

DFrame:[SetTitle](https://gmod.tr/wiki/DFrame:SetTitle)( [string](https://gmod.tr/wiki/string) title )

Çerçevenin başlığını ayarlar.

DFrame:[ShowCloseButton](https://gmod.tr/wiki/DFrame:ShowCloseButton)( [boolean](https://gmod.tr/wiki/boolean) show )

DFrame'in kontrol kutusunun (kapatma, küçültme ve büyütme düğmeleri) görüntülenip görüntülenmeyeceğini belirler.

### Örnek

Temel bir DFrame oluşturur.

```lua
concommand.Add( "open_frame", function()
	local DFrame = vgui.Create("DFrame") -- Panelin adı, onu ebeveyn olarak atamak zorunda değiliz.
	DFrame:SetPos(100, 100) -- Konumu 100x'e 100y olarak ayarlar.
	DFrame:SetSize(300, 200) -- Boyutu 300x'e 200y olarak ayarlar.
	DFrame:SetTitle("Derma Frame") -- Sol üstteki başlığı "Derma Frame" olarak ayarlar.
	DFrame:MakePopup() -- Farenizin hareket edebilmesini sağlar.
end )
```

![dpanel_example.png](https://gmod.tr/api/uploads/wiki/4f1ad9cecf63e36c2a3c.png)

### Örnek

Gelişmiş, özelleştirilmiş bir DFrame oluşturun.

```lua
-- "Font" adındaki yazı tipi tek satırda tanımlanıyor.
surface.CreateFont("Font", {
    font = "Arial",
    extended = true,
    size = 20
})

local faded_black = Color(0, 0, 0, 200) -- Siyah rengi ama 200 Alfa değeri ile

concommand.Add( "open_frame", function()
	local DermaPanel = vgui.Create("DFrame") -- DFrame değerini saklamak için DermaPanel adı.
	DermaPanel:SetSize(500, 300) -- Boyutu 500x'e 300y olarak ayarlar.
	DermaPanel:Center() -- Paneli ortalar.
	DermaPanel:SetTitle("") -- Başlığı boş olarak ayarlar.
	DermaPanel:SetDraggable(false) -- Sürüklenemez hale getirir.
	DermaPanel:MakePopup() -- Üzerinde farenizi hareket ettirebilmenizi sağlar.

	-- Paint fonksiyonu, w, h = ne kadar geniş ve yüksek olduğu.
	DermaPanel.Paint = function(self, w, h)
	    -- Yukarıda saklanan faded_black rengiyle yuvarlatılmış bir kutu çizer.
	    draw.RoundedBox(2, 0, 0, w, h, faded_black)
	    -- Beyaz renkte metin çizer.
	    draw.SimpleText("Derma Frame", "Font", 250, 5, color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP)
	end
end )
```

![dframe_paint.png](https://gmod.tr/api/uploads/wiki/538edf133187de89a45f.png)

- [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/DFrame
