Yorumları: 953
Konuları: 124
Kayıt Tarihi: 06-07-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 6.383
Üstad
Merhaba,
TPanel komponentini kullanarak geliştirdiğim birkaç alternatif komponent yer alıyor. OnPaint aksiyonunda yeniden boyama işlemi yapıyorum. Default Windows çıktısında her şey yolunda gözüküyor. Runtime arayüz temalarını uyguladığı zaman TPanel, benim işlemlerimi gerçekleştirmiyor.
Runtime arayüz temalarının spesifik olarak belirteceğim TWinControl komponentlerine müdahale etmemesi için bir öneriniz var mı? (Hatta mümkünse doğrudan komponent bazlı kısıtlama)
Yorumları: 513
Konuları: 88
Kayıt Tarihi: 28-12-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 2.178
Programcı
(12-07-2021, Saat: 13:51)serdal_aksoy Adlı Kullanıcıdan Alıntı: (31-05-2020, Saat: 15:08)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Merhaba,
TPanel komponentini kullanarak geliştirdiğim birkaç alternatif komponent yer alıyor. OnPaint aksiyonunda yeniden boyama işlemi yapıyorum. Default Windows çıktısında her şey yolunda gözüküyor. Runtime arayüz temalarını uyguladığı zaman TPanel, benim işlemlerimi gerçekleştirmiyor.
Runtime arayüz temalarının spesifik olarak belirteceğim TWinControl komponentlerine müdahale etmemesi için bir öneriniz var mı? (Hatta mümkünse doğrudan komponent bazlı kısıtlama)
Merhaba panel transpare işlemine ihtiyacım var nasıl yaptınız acaba, bilgi paylaşabilir misiniz,
Teşekkürler.
İnternette biraz araştırma yaptıysanız delphinin standart panel componentti ile saydamlık yapılamadığını göreceksiniz
onun yerine yapmak istediğinizi 3. firma bileşenleri ile yapmalısınız (Ücretlidir)
veya
@
mrmarman beyin güzel sözü olan Programcılık biraz sihir biraz illizyon sihir beynimizde illizyon her yerde deyişi ile
madem panel ile saydamlık olmuyor farkı komponentlere yönelerek çözüm üretmelisiniz.
Yukarda yazmışlar oluyor demeyin orada @
Abdullah ILGAZ bey zaten onpaint tarafında kendi çözümünü üretmiş.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Yorumları: 1.499
Konuları: 83
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 12.314
Üstad
Delphi'nin son versiyonları ile Windows 10 'da aşağıdaki kod vasıtası ile tüm TWinControl türevlerine yarı saydamlık kazandırılabilir.
type
TWinControlHelper = class helper for TWinControl
public
procedure AlphaBlendEx(const AlphaBlendValue : Byte);
end;
...
...
...
procedure TWinControlHelper.AlphaBlendEx(const AlphaBlendValue: Byte);
var
AHandle : HWND;
AExStyle : NativeInt;
begin
AHandle := Self.Handle;
AExStyle := GetWindowLongPtr(AHandle, GWL_EXSTYLE);
if AlphaBlendValue = 255
then AExStyle := AExStyle and (not WS_EX_LAYERED)
else AExStyle := AExStyle or WS_EX_LAYERED;
SetWindowLongPtr(AHandle, GWL_EXSTYLE, AExStyle);
SetLayeredWindowAttributes(AHandle, 0, AlphaBlendValue, LWA_ALPHA);
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Panel1.AlphaBlendEx(128);
end;
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...