# PANEL

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

Bu, tüm panellerde mevcut olan kancaların (hook) bir listesidir.

Belirli panellerin kendi kancaları olabilir, bunlar kendi kategorilerinde listelenmiştir.

> **NOT:** Bu kancalar panelinizde çağrılır. Bunlar [hook.Add](https://gmod.tr/wiki/hook.Add) ile yakalanamaz.

Panel'den metotları miras alır.

## Olaylar

PANEL:[AnimationThink](https://gmod.tr/wiki/PANEL:AnimationThink)()

Panel görünür olmadığı (Panel:IsVisible) sürece her karede çağrılır. PANEL:Think'e benzer, ancak aşağıda açıklandığı gibi Panel:SetAnimationEnabled ile devre dışı bırakılabilir. Eğer bunu geçersiz kılıyorsanız, her karede Panel:AnimationThinkInternal'ı çağırmalısınız, aksi takdirde animasyonlar çalışmayı durdurur. Bu kancayı Panel:SetAnimationEnabled ile "devre dışı bırakmak" isterseniz, bu kancayı tanımladıktan sonra çağırmalısınız. Bir kez devre dışı bırakıldığında, özel bir kanca Panel:SetAnimationEnabled tarafından tekrar etkinleştirilmez - kancanın yeniden tanımlanması gerekir.

PANEL:[ApplySchemeSettings](https://gmod.tr/wiki/PANEL:ApplySchemeSettings)()

Panelin şemasını (renkler, yazı tipleri, stil) uygulaması gerektiğinde çağrılır. Panelin oluşturulmasından birkaç kare sonra bir kez çağrılır. Motor, bu kanca Lua'da çağrılmadan hemen önce çoğu panel için Panel:SetFGColor ve Panel:SetBGColor'ı (motor panel temasından/şemasından) üzerine yazar.

PANEL:[DragHoverClick](https://gmod.tr/wiki/PANEL:DragHoverClick)( [number](https://gmod.tr/wiki/number) hoverTime )

Bir nesne sürüklenip bu panelin üzerinde 0.1 saniye bekletildiğinde çağrılır. Bu, örneğin bir nesne üzerine getirildiğinde bir sekmeyi açmak veya bir düğümü genişletmek için DPropertySheet ve DTree tarafından kullanılır.

PANEL:[DroppedOn](https://gmod.tr/wiki/PANEL:DroppedOn)( [Panel](https://gmod.tr/wiki/Panel) pnl )

Bu panel başka bir panelin üzerine bırakıldığında çağrılır. Sadece DDragBase'den türetilen paneller için çalışır.

PANEL:[GenerateExample](https://gmod.tr/wiki/PANEL:GenerateExample)( [string](https://gmod.tr/wiki/string) class, [Panel](https://gmod.tr/wiki/Panel) dpropertysheet, [number](https://gmod.tr/wiki/number) width, [number](https://gmod.tr/wiki/number) height )

Panelin, bu panel için kullanılacak örnek kullanım senaryosu / örnek kod oluşturması gerektiğinde çağrılır. derma_controls konsol komutuyla açılan panelde kullanılır.

PANEL:[Init](https://gmod.tr/wiki/PANEL:Init)()

Panel oluşturulduğunda çağrılır. Bu, panelin sahip olduğu her temel tür için çağrılır.

PANEL:[LoadCookies](https://gmod.tr/wiki/PANEL:LoadCookies)()

Bu panelde Panel:SetCookieName çağrıldıktan sonra, bu panel için yeni yüklenen çerez değerlerini uygulamak üzere çağrılır.

PANEL:[OnActivate](https://gmod.tr/wiki/PANEL:OnActivate)()

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Bölüm yüklemesi sırasında etkinleştirildiğimizde çağrılır. Yükleme ekranı paneli tarafından kullanılır.

PANEL:[OnChildAdded](https://gmod.tr/wiki/PANEL:OnChildAdded)( [Panel](https://gmod.tr/wiki/Panel) child )

Panele bir alt öğe eklendiğinde çağrılır. Bu, panelin metatable'ı ayarlanmadan önce çağrılır. Sorun Takipçisi: 2759

PANEL:[OnChildRemoved](https://gmod.tr/wiki/PANEL:OnChildRemoved)( [Panel](https://gmod.tr/wiki/Panel) child )

Panelin bir alt öğesi kaldırılmak üzereyken çağrılır.

PANEL:[OnCursorEntered](https://gmod.tr/wiki/PANEL:OnCursorEntered)()

İmleç panelin sınırlarına girdiğinde çağrılır.

PANEL:[OnCursorExited](https://gmod.tr/wiki/PANEL:OnCursorExited)()

İmleç panelin sınırlarından çıktığında çağrılır.

[boolean](https://gmod.tr/wiki/boolean) PANEL:[OnCursorMoved](https://gmod.tr/wiki/PANEL:OnCursorMoved)( [number](https://gmod.tr/wiki/number) cursorX, [number](https://gmod.tr/wiki/number) cursorY )

İmleç panelin sınırları içinde hareket ettirildiğinde çağrılır.

PANEL:[OnDeactivate](https://gmod.tr/wiki/PANEL:OnDeactivate)()

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Bölüm yüklemesi sırasında devre dışı bırakıldığımızda çağrılır. Yükleme ekranı paneli tarafından kullanılır.

[Panel](https://gmod.tr/wiki/Panel) PANEL:[OnDrop](https://gmod.tr/wiki/PANEL:OnDrop)()

Bir şeyin üzerine bırakılıyoruz. Burada yeni bir panel oluşturup geri döndürebiliriz, böylece bizi bırakmak yerine yeni paneli bırakır! Biz olduğumuz yerde kalırız! Sadece DDragBase'den türetilen paneller için çalışır.

PANEL:[OnFocusChanged](https://gmod.tr/wiki/PANEL:OnFocusChanged)( [boolean](https://gmod.tr/wiki/boolean) gained )

Panel odak kazandığında veya kaybettiğinde çağrılır. Panel:HasFocus yalnızca bir sonraki karede güncellenir ve bu kanca çalıştırıldığında "eski" değeri döndürür. Aynısı vgui.GetKeyboardFocus için de geçerlidir.

PANEL:[OnHScroll](https://gmod.tr/wiki/PANEL:OnHScroll)( [number](https://gmod.tr/wiki/number) offset )

Panelin alt öğesi olan bir DHScrollBar kaydırıldığında çağrılır.

[boolean](https://gmod.tr/wiki/boolean) PANEL:[OnKeyCodePressed](https://gmod.tr/wiki/PANEL:OnKeyCodePressed)( [number](https://gmod.tr/wiki/number) keyCode )

Panel odaklanmışken bir klavye tuşuna basıldığında çağrılır. Bu, ESC/"cancelselect" tuş ataması için çalışmaz. Sorun Takipçisi: 2886

[boolean](https://gmod.tr/wiki/boolean) PANEL:[OnKeyCodeReleased](https://gmod.tr/wiki/PANEL:OnKeyCodeReleased)( [number](https://gmod.tr/wiki/number) keyCode )

Panel odaklanmışken bir klavye tuşu bırakıldığında çağrılır. Bu, TILDE/"toggleconsole" tuş ataması için çalışmaz. Sorun Takipçisi: 2886

[boolean](https://gmod.tr/wiki/boolean) PANEL:[OnMousePressed](https://gmod.tr/wiki/PANEL:OnMousePressed)( [number](https://gmod.tr/wiki/number) keyCode )

Panel odaklanmışken bir fare tuşuna basıldığında çağrılır.

[boolean](https://gmod.tr/wiki/boolean) PANEL:[OnMouseReleased](https://gmod.tr/wiki/PANEL:OnMouseReleased)( [number](https://gmod.tr/wiki/number) keyCode )

Panel odaklanmışken bir fare tuşu bırakıldığında çağrılır.

[boolean](https://gmod.tr/wiki/boolean) PANEL:[OnMouseWheeled](https://gmod.tr/wiki/PANEL:OnMouseWheeled)( [number](https://gmod.tr/wiki/number) scrollDelta )

Fare tekerleği kullanıldığında çağrılır.

PANEL:[OnRemove](https://gmod.tr/wiki/PANEL:OnRemove)()

Panel kaldırılmak üzereyken çağrılır.

PANEL:[OnScreenSizeChanged](https://gmod.tr/wiki/PANEL:OnScreenSizeChanged)( [number](https://gmod.tr/wiki/number) oldWidth, [number](https://gmod.tr/wiki/number) oldHeight, [number](https://gmod.tr/wiki/number) newWidth, [number](https://gmod.tr/wiki/number) newHeight )

Oyuncunun oyun ekran çözünürlüğü değiştiğinde çağrılır. Bu kanca çağrıldığında ScrW ve ScrH yeni değerleri döndürür.

PANEL:[OnScrollbarAppear](https://gmod.tr/wiki/PANEL:OnScrollbarAppear)()

Panelin alt öğesi olan bir DVScrollBar veya DHScrollBar görünür olduğunda çağrılır.

PANEL:[OnSizeChanged](https://gmod.tr/wiki/PANEL:OnSizeChanged)( [number](https://gmod.tr/wiki/number) newWidth, [number](https://gmod.tr/wiki/number) newHeight )

Panel boyutu değiştikten hemen sonra çağrılır. Bu kanca çağrıldığında tüm boyut fonksiyonları yeni değerleri döndürür. Bu kancada panel boyutunu değiştirmek sonsuz bir döngüye neden olur!

PANEL:[OnStartDragging](https://gmod.tr/wiki/PANEL:OnStartDragging)()

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. dragndrop.StartDragging tarafından, panel sürüklenmeye başladığında çağrılır.

PANEL:[OnStopDragging](https://gmod.tr/wiki/PANEL:OnStopDragging)()

Bu dahili olarak kullanılır - kullanabiliyor olsanız da muhtemelen kullanmamalısınız. Panel:DragMouseRelease tarafından, panel nesnesi sürüklendikten sonra bırakıldığında çağrılır.

PANEL:[OnTextClicked](https://gmod.tr/wiki/PANEL:OnTextClicked)( [string](https://gmod.tr/wiki/string) id )

Bir RichText içinde tıklanabilir bir metne tıklandığında çağrılır.

PANEL:[OnVScroll](https://gmod.tr/wiki/PANEL:OnVScroll)( [number](https://gmod.tr/wiki/number) offset )

Panelin alt öğesi olan bir DVScrollBar kaydırıldığında çağrılır.

[boolean](https://gmod.tr/wiki/boolean) PANEL:[Paint](https://gmod.tr/wiki/PANEL:Paint)( [number](https://gmod.tr/wiki/number) width, [number](https://gmod.tr/wiki/number) height )

Panelin çizilmesi gerektiğinde çağrılır. Panel tamamen ekran dışındaysa bu kanca çalışmaz, ancak panelin herhangi bir parçası hala ekrandaysa çalışmaya devam eder. Paint() fonksiyonlarını geçersiz kılarak özelleştirilmiş bir görünüme sahip paneller oluşturabilirsiniz, bu da varsayılan görünümün çizilmesini engeller. Ayrıca bakınız: PANEL:PaintOver. surface kütüphanesinden (ve dolayısıyla draw kütüphanesinden) gelen render işlemleri, aşağıdaki örnekte görüldüğü gibi her zaman bu panelin global konumuna göre kaydırılır.

[boolean](https://gmod.tr/wiki/boolean) PANEL:[PaintOver](https://gmod.tr/wiki/PANEL:PaintOver)( [number](https://gmod.tr/wiki/number) width, [number](https://gmod.tr/wiki/number) height )

Panel ve tüm alt öğeleri çizildiğinde çağrılır, varsayılan çizimi geçersiz kılmak için true döndürün. Bu, örneğin PropSelect'te bir panelin seçili olduğunu gösteren bir gösterge olarak, panelin PANEL:Paint kancasının üzerine yazmak zorunda kalmadan panelin üzerine içerik çizmek için kullanışlıdır.

PANEL:[PerformLayout](https://gmod.tr/wiki/PANEL:PerformLayout)( [number](https://gmod.tr/wiki/number) width, [number](https://gmod.tr/wiki/number) height )

Panellerin düzeninin yeniden yapılması gerektiğinde çağrılır. Bu, tüm alt panellerin, bu panelin olası yeni boyutuna uyacak şekilde yeniden konumlandırılması gerektiği anlamına gelir. Bu, çeşitli şekillerde tetiklenebilir: Panel:InvalidateLayout bu veya önceki karede çağrıldı (argümana bağlı olarak) Aynı panelde Panel:SetPos birden fazla kez çağrıldı (Sorun) Bu panele bir alt öğe eklendi (TODO: Doğrula) Bu panelin boyutu değişti Bu fonksiyonu doğrudan çağırmamalısınız. Bunun yerine Panel:InvalidateLayout kullanın. Hata ayıklama amacıyla panel düzenlerini oluştukları anda görselleştirmek için vgui_visualizelayout 1 komutunu kullanabilirsiniz. Panellerin bunu her karede yapmaması gerekir.

PANEL:[PostAutoRefresh](https://gmod.tr/wiki/PANEL:PostAutoRefresh)()

Sadece derma.DefineControl ile tanımlanan öğelerde ve sadece panelin AllowAutoRefresh değeri true ise çalışır. derma.DefineControl, panelin sınıf adıyla çağrıldıktan sonra çağrılır. Ayrıca bakınız: PANEL:PreAutoRefresh

PANEL:[PreAutoRefresh](https://gmod.tr/wiki/PANEL:PreAutoRefresh)()

Sadece derma.DefineControl ile tanımlanan öğelerde ve sadece panelin AllowAutoRefresh değeri true ise çalışır. derma.DefineControl bu panelin sınıf adıyla çağrıldığında, bu paneldeki değişiklikler uygulanmadan önce çağrılır. Ayrıca bakınız: PANEL:PostAutoRefresh

[boolean](https://gmod.tr/wiki/boolean) PANEL:[TestHover](https://gmod.tr/wiki/PANEL:TestHover)( [number](https://gmod.tr/wiki/number) x, [number](https://gmod.tr/wiki/number) y )

Panelin fare tarafından üzerinde gezilip gezilmediğini test etmek için çağrılır. Bu, yalnızca panelin ebeveyninin üzerinde geziliyorsa çağrılır.

PANEL:[Think](https://gmod.tr/wiki/PANEL:Think)()

Panel:IsVisible true olduğu sürece her karede çağrılır.

- [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_Hooks
