PANEL
Bu, tüm panellerde mevcut olan kancaların (hook) bir listesidir.
Belirli panellerin kendi kancaları olabilir, bunlar kendi kategorilerinde listelenmiştir.
Bu kancalar panelinizde çağrılır. Bunlar hook.Add ile yakalanamaz.
Panel'den metotları miras alır.
Olaylar
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()
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( 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.
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.
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()
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()
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()
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( 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( Panel child )
Panelin bir alt öğesi kaldırılmak üzereyken çağrılır.
PANEL:OnCursorEntered()
İmleç panelin sınırlarına girdiğinde çağrılır.
PANEL:OnCursorExited()
İmleç panelin sınırlarından çıktığında çağrılır.
İmleç panelin sınırları içinde hareket ettirildiğinde çağrılır.
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.
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( 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 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
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
Panel odaklanmışken bir fare tuşuna basıldığında çağrılır.
Panel odaklanmışken bir fare tuşu bırakıldığında çağrılır.
Fare tekerleği kullanıldığında çağrılır.
PANEL:OnRemove()
Panel kaldırılmak üzereyken çağrılır.
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()
Panelin alt öğesi olan bir DVScrollBar veya DHScrollBar görünür olduğunda çağrılır.
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()
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()
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( string id )
Bir RichText içinde tıklanabilir bir metne tıklandığında çağrılır.
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.
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.
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()
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()
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
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()
Panel:IsVisible true olduğu sürece her karede çağrılır.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord