Sayfayı Yazdır | Pencereyi Kapat

Panellerin açılıp kapanması

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1232
Tarih: 19 Kasım 2025 Saat 13:16
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Panellerin açılıp kapanması
Mesajı Yazan: kaanl0
Konu: Panellerin açılıp kapanması
Mesaj Tarihi: 18 Kasım 2025 Saat 14:31
Projede iç içe paneller oluşturuyorum dıştaki panele bastığımızda sadece onun içindeki panellerin kapanmasını istiyorum ama şuanki halinde  bütün iç paneller kapanıyor. Sadece kendi içindeki panellerin kapanması için çok deneme yaptım ama sürekli hata aldım. istediğim şeyi nasıl yapabilirim. Kodun çalışan halini atıyorum.

var
MainForm:tclForm;
TitlePnl,NavbarPnl,StocksCategoryPnl,StocksPnl,OpacityPnl,AddEditStockPopUp:TclProPanel;
TitleLbl,ItemPieceValueLbl,ItemPieceLbl,CategoryNameLbl,ItemPriceLbl,StocksNameLbl,SupplyTimeLbl,SupplyTimeValueLbl,Piecelbl,PieceXlbl,PieceValuelbl,AddStockLbl,EditStockLbl:TClProLabel;
HomeBtn,BackBtn,SortBtn,AddStockBtn,DetailsBtn,EditStockBtn,CloseBtn,AddBtn:TClProButton;
CategoryItemImage,StocksImage:TClProImage;
StocksCategoryCount:integer;
vScroll:TCLVertScrollBox;
StocksCount:integer;
AllCategoriesOpen: boolean;



 void SetObjectMargins(AObject,AValue)
  {
  AObject.Margins.Top = AValue;
  AObject.Margins.Bottom = AValue;
  AObject.Margins.Left = AValue;
  AObject.Margins.Right = AValue;
}

function IconSelect(IconUI):String
  var
  Output: String;
  {
  case IconUI of
  {
    'ClosmosyLogo':Output = ' https://resmim.net/cdn/2025/10/22/jV6v6Q.png" rel="nofollow - https://resmim.net/cdn/2025/10/22/jV6v6Q.png ';
    'AdminManagementBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju0eoT.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju0eoT.png ';
    'BackArrowBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1STG.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1STG.png ';
    'HomePageBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1fIT.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1fIT.png ';
    'ItemsBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1mZL.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1mZL.png ';
    'ManagementBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1Tqh.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1Tqh.png ';
    'OrderChecklistBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1jdK.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1jdK.png '; 
    'OrdersBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1CGQ.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1CGQ.png ';
    'QRBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1kI7.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1kI7.png ';
    'SaveBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1gBc.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1gBc.png ';   
    'ShiftBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju18QR.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju18QR.png ';
    'ShiftsBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1Bzj.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1Bzj.png ';
    'SortBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1rXI.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1rXI.png ';
    'StocksBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju15f6.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju15f6.png ';
    'TablesBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1RK8.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1RK8.png ';
    'ItemBookBtnUI':Output = ' https://resmim.net/cdn/2025/10/30/jJzG6h.png" rel="nofollow - https://resmim.net/cdn/2025/10/30/jJzG6h.png ';
    'CategoryItemImageUI':Output =' https://resmim.net/cdn/2025/11/14/jFyEzn.png" rel="nofollow - https://resmim.net/cdn/2025/11/14/jFyEzn.png ';
    'AddStockBtnUI':Output = ' https://resmim.net/cdn/2025/11/17/jqzzkG.png" rel="nofollow - https://resmim.net/cdn/2025/11/17/jqzzkG.png ';

    else{
      ShowMessage('Resim Yok');
    }
  }
  Result=Output;
}


void TitlePnlV
  {
  TitlePnl = MainForm.AddNewProPanel(MainForm,'TitlePnl');
  TitlePnl.Align = alMostTop;
  TitlePnl.Height = (MainForm.clHeight*18)/100;
  TitlePnl.Width = (MainForm.clWidth*100)/100;
  TitlePnl.Margins.Top = (MainForm.clHeight * -0.0715); // -60 / 839 ≈ -0.0715
  TitlePnl.Margins.Left = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  TitlePnl.Margins.Right = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  TitlePnl.clProSettings.BorderWidth = 3;
  TitlePnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  TitlePnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
  TitlePnl.SetclProSettings(TitlePnl.clProSettings);


  TitleLbl = MainForm.AddNewProLabel(TitlePnl,'TitleLbl','STOKLAR');
  TitleLbl.Align = alCenter;
  TitleLbl.Width = (MainForm.clWidth * 1.0178);
  TitleLbl.Height = (MainForm.clHeight * 0.1073);
  TitleLbl.Margins.Top = (MainForm.clHeight * 0.0715); // 60 / 839 ≈ 0.0715
  TitleLbl.clProSettings.FontSize = 30;
  TitleLbl.clProSettings.FontVertAlign = palcenter;
  TitleLbl.clProSettings.FontHorzAlign = palcenter;
  //TitleLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
  TitleLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  TitleLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  MainForm.AddNewEvent(TitleLbl,tbeOnClick,'');
  TitleLbl.SetclProSettings(TitleLbl.clProSettings);
  
}
void NavbarPnlV
  {
  NavbarPnl = MainForm.AddNewProPanel(MainForm,'NavbarPnl');
  NavbarPnl.Align = alMostBottom;
  NavbarPnl.Height = (MainForm.clHeight*8)/100;
  NavbarPnl.Width = (MainForm.clWidth*100)/100;
  NavbarPnl.Margins.Left = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  NavbarPnl.Margins.Right = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  NavbarPnl.Margins.Bottom = (MainForm.clHeight * -0.0119); // -10 / 839 ≈ -0.0119
  NavbarPnl.clProSettings.BorderWidth = 3;
  NavbarPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  NavbarPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
  NavbarPnl.SetclProSettings(NavbarPnl.clProSettings);
  
  HomeBtn = MainForm.AddNewProButton(NavbarPnl,'HomeBtn','');
  HomeBtn.Align = alCenter;
  HomeBtn.Height = (NavbarPnl.Height*105)/100;
  HomeBtn.Width = (NavbarPnl.Width*30)/100;
  HomeBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
  HomeBtn.clProSettings.PictureSource = IconSelect('HomePageBtnUI');
  HomeBtn.SetclProSettings(HomeBtn.clProSettings);
  
  BackBtn = MainForm.AddNewProButton(NavbarPnl,'BackBtn','');
  BackBtn.Align = alCenter;
  BackBtn.Height = (NavbarPnl.Height*105)/100;
  BackBtn.Width = (NavbarPnl.Width*30)/100;
  BackBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
  BackBtn.Margins.Right = (MainForm.clWidth * -0.6361); // -250 / 393 ≈ -0.6361
  BackBtn.clProSettings.PictureSource = IconSelect('BackArrowBtnUI');
  BackBtn.SetclProSettings(BackBtn.clProSettings);
    
  SortBtn = MainForm.AddNewProButton(NavbarPnl,'SortBtn','');
  SortBtn.Align = alCenter;
  SortBtn.Height = (NavbarPnl.Height*105)/100;
  SortBtn.Width = (NavbarPnl.Width*30)/100;
  SortBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
  SortBtn.Margins.left = (MainForm.clWidth * -0.6361); // -250 / 393 ≈ -0.6361
  SortBtn.clProSettings.PictureSource = IconSelect('SortBtnUI');
  SortBtn.SetclProSettings(SortBtn.clProSettings);
  
}
void MainPnlV   
  {
  vScroll = MainForm.AddNewVertScrollBox(MainForm,'vScroll');
  vScroll.Align = alCenter;
  vScroll.Height = (MainForm.clHeight*80)/100;
  vScroll.Width = (MainForm.clWidth*98)/100;
  vScroll.Margins.bottom = 50;
}



void ToggleCategories(Sender: TObject)
var
  I, J: integer;
  TempPnl: TclProPanel;
  NormalHeight: single;
  NormalMargin: integer;
{
  NormalHeight = 74; // Panelin orijinal yüksekliği
  NormalMargin = 5; //  SetObjectMargins'tan (7)

  // Durumu tersine çevir (açık → kapalı, kapalı → açık)
  AllCategoriesOpen = not AllCategoriesOpen;

  // TÜM alt panellerin yüksekliğini ve margin'ini değiştir
  for (I = 1 to StocksCategoryCount) {
    for (J = 1 to StocksCount) {
      TempPnl = MainForm.clFindComponent('StocksPnl' + IntToStr(I) + '_' + IntToStr(J));
      if (TempPnl <> nil) {
        if (AllCategoriesOpen) {
          TempPnl.Height = NormalHeight;
          TempPnl.Margins.Top = NormalMargin;
          TempPnl.Margins.Bottom = NormalMargin;
        } else {
          TempPnl.Height = 0;
          TempPnl.Margins.Top = 0;
          TempPnl.Margins.Bottom = 0;
        }
      }
    }
  }


}

void StocksCategoryPnlVD
  var
  I,J:integer;
  {
  
  for (I = 1 to StocksCategoryCount) {
  StocksCategoryPnl = MainForm.AddNewProButton(vScroll,'StocksCategoryPnl'+IntToStr(I),'');
  StocksCategoryPnl.Align = alTop;
  StocksCategoryPnl.Height = 74;
  //StocksCategoryPnl.Height = (MainForm.clHeight * 0.0930); // 78 / 839 ≈ 0.0930
  SetObjectMargins(StocksCategoryPnl,5);
  StocksCategoryPnl.Margins.Left = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
  StocksCategoryPnl.Margins.Right = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
  StocksCategoryPnl.clProSettings.BorderWidth = 2;
  StocksCategoryPnl.clProSettings.RoundHeight=3.5;
  StocksCategoryPnl.clProSettings.RoundWidth=3.5;
  StocksCategoryPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
  StocksCategoryPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  StocksCategoryPnl.SetclProSettings(StocksCategoryPnl.clProSettings);
  MainForm.AddNewEvent(StocksCategoryPnl, tbeOnClick, 'ToggleCategories');
   
  CategoryItemImage = MainForm.AddNewProImage(StocksCategoryPnl,'CategoryItemImage'+IntToStr(I));
  CategoryItemImage.Align = alCenter;
  CategoryItemImage.Height = (MainForm.clHeight * 0.0775); // 65 / 839 ≈ 0.0775
  CategoryItemImage.Width = (MainForm.clWidth * 0.1654); // 65 / 393 ≈ 0.1654
  CategoryItemImage.Margins.Right = (MainForm.clWidth * 0.6743); // 265 / 393 ≈ 0.6743
  CategoryItemImage.clProSettings.PictureSource = IconSelect('CategoryItemImageUI');
  CategoryItemImage.clProSettings.PictureAutoFit = True;
  CategoryItemImage.SetclProSettings(CategoryItemImage.clProSettings);
  CategoryItemImage.HitTest = false;
  //CategoryItemImage.ClTagStr = IntToStr(I);
  
  
  CategoryNameLbl = MainForm.AddNewProLabel(StocksCategoryPnl,'CategoryNameLbl'+IntToStr(I),'Tatlılar');
  CategoryNameLbl.Align = alCenter;
  CategoryNameLbl.Width = 150;
  CategoryNameLbl.Height = 30;
  CategoryNameLbl.Margins.Right = 15;
  //CategoryNameLbl.Margins.Top =15;
  CategoryNameLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  CategoryNameLbl.clProSettings.FontSize = 20;
  //CategoryNameLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fff700');
  CategoryNameLbl.clProSettings.FontVertAlign = palcenter;
  CategoryNameLbl.clProSettings.FontHorzAlign = palleading;
  CategoryNameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  CategoryNameLbl.HitTest = false;
  CategoryNameLbl.SetclProSettings(CategoryNameLbl.clProSettings);
  
  for (J = 1 to  StocksCount ) {
  StocksPnl = MainForm.addnewpropanel(vScroll, 'StocksPnl'+IntToStr(I)+'_'+IntToStr(J));
  StocksPnl.Align = alTop;
  //StocksPnl.Height = (MainForm.clHeight * 0.0930); // 78 / 839 ≈ 0.0930
  StocksPnl.Height = 74;
  SetObjectMargins(StocksPnl,5);
  StocksPnl.Margins.Left = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
  StocksPnl.Margins.Right = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
  StocksPnl.clProSettings.BorderWidth = 2;
  StocksPnl.clProSettings.RoundHeight=3.5;
  StocksPnl.clProSettings.RoundWidth=3.5;
  StocksPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
  StocksPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  StocksPnl.SetclProSettings(StocksPnl.clProSettings);
  
  StocksImage = MainForm.AddNewProImage(StocksPnl,'StocksImage'+IntToStr(I)+'_'+IntToStr(J));
  StocksImage.Align = alCenter;
  StocksImage.Height = (MainForm.clHeight * 0.0775); // 65 / 839 ≈ 0.0775
  StocksImage.Width = (MainForm.clWidth * 0.1654); // 65 / 393 ≈ 0.1654
  StocksImage.Margins.Right = (MainForm.clWidth * 0.6743); // 265 / 393 ≈ 0.6743
  StocksImage.clProSettings.PictureSource = ' https://resmim.net/cdn/2025/10/27/jAJjr1.png" rel="nofollow - https://resmim.net/cdn/2025/10/27/jAJjr1.png ';
  StocksImage.clProSettings.PictureAutoFit = True;
  StocksImage.SetclProSettings(StocksImage.clProSettings);
  
  StocksNameLbl = MainForm.AddNewProLabel(StocksPnl,'StocksNameLbl'+IntToStr(I)+'_'+IntToStr(J),'Tiramisu');
  StocksNameLbl.Align = alCenter;
  StocksNameLbl.Width = (MainForm.clWidth * 0.3817); // 150 / 393 ≈ 0.3817
  StocksNameLbl.Height = (MainForm.clHeight * 0.0358); // 30 / 839 ≈ 0.0358
  StocksNameLbl.Margins.Right = (MainForm.clWidth * 0.0382); // 15 / 393 ≈ 0.0382
  StocksNameLbl.Margins.Bottom=30;
  StocksNameLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  StocksNameLbl.clProSettings.FontSize = 20;
  //StocksNameLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fff700');
  StocksNameLbl.clProSettings.FontVertAlign = palcenter;
  StocksNameLbl.clProSettings.FontHorzAlign = palleading;
  StocksNameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  StocksNameLbl.SetclProSettings(StocksNameLbl.clProSettings);
  
  DetailsBtn= MainForm.AddNewProButton(StocksPnl, 'DetailsBtn'+IntToStr(I)+'_'+IntToStr(J), 'DETAYLAR');
  DetailsBtn.Align = alCenter;
  DetailsBtn.Width =74;
  DetailsBtn.Height=74;
  DetailsBtn.Margins.Left=282;
  DetailsBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  DetailsBtn.clProSettings.FontSize = 12;
  DetailsBtn.clProSettings.FontVertAlign = palcenter;
  DetailsBtn.clProSettings.FontHorzAlign = palcenter;
  DetailsBtn.clProSettings.TextSettings.Font.Style = [fsBold];
  DetailsBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
  DetailsBtn.clProSettings.RoundWidth = 3.5;
  DetailsBtn.clProSettings.RoundHeight = 3.5;
  DetailsBtn.clProSettings.BorderColor= clAlphaColor.clHexToColor('#3a3a3a')
  DetailsBtn.clProSettings.BorderWidth =2;
  MainForm.AddNewEvent(DetailsBtn,tbeOnClick,'');
  DetailsBtn.SetclProSettings(DetailsBtn.clProSettings);
  }
  }
}
{

MainForm = tclForm.Create(self);
StocksCategoryCount=3;
StocksCount =5;
TitlePnlV;
AllCategoriesOpen = True;  
MainPnlV;
NavbarPnlV;
StocksCategoryPnlVD;


MainForm.SetFormColor('#121212','',clGNone);
MainForm.FormWaiting.Visible = False;
MainForm.BtnFormMenu.Visible = False;
MainForm.BtnGoBack.Visible = False;
MainForm.run;
}




Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 19 Kasım 2025 Saat 09:41
Merhaba Kaan, 
yaşanan sorun ToggleCategories  https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
fonksiyonun hangi kategoriye tıklandığını bilmemesinden ver her tıklandığından tüm kategorilerin altındaki panelleri döngüye sokmasından kaynaklanıyor. 
https://www.docs.clomosy.com/index.php?title=ClTagInt" rel="nofollow - https://www.docs.clomosy.com/index.php?title=ClTagInt kullanarak yapmaya çalışalım



Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 19 Kasım 2025 Saat 09:52

var
  MainForm: TclForm;
  TitlePnl, NavbarPnl, StocksCategoryPnl, StocksPnl, OpacityPnl, AddEditStockPopUp: TclProPanel;
  TitleLbl, ItemPieceValueLbl, ItemPieceLbl, CategoryNameLbl, ItemPriceLbl, StocksNameLbl, SupplyTimeLbl, SupplyTimeValueLbl, Piecelbl, PieceXlbl, PieceValuelbl, AddStockLbl, EditStockLbl: TClProLabel;
  HomeBtn, BackBtn, SortBtn, AddStockBtn, DetailsBtn, EditStockBtn, CloseBtn, AddBtn: TClProButton;
  CategoryItemImage, StocksImage: TClProImage;
  StocksCategoryCount: Integer;
  vScroll: TCLVertScrollBox;
  StocksCount: Integer;
  AllCategoriesOpen: boolean;
  
  function IconSelect(IconUI):String
  var
  Output: String;
  {
  case IconUI of
  {
    'ClosmosyLogo':Output = ' https://resmim.net/cdn/2025/10/22/jV6v6Q.png" rel="nofollow - https://resmim.net/cdn/2025/10/22/jV6v6Q.png ';
    'AdminManagementBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju0eoT.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju0eoT.png ';
    'BackArrowBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1STG.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1STG.png ';
    'HomePageBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1fIT.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1fIT.png ';
    'ItemsBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1mZL.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1mZL.png ';
    'ManagementBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1Tqh.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1Tqh.png ';
    'OrderChecklistBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1jdK.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1jdK.png '; 
    'OrdersBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1CGQ.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1CGQ.png ';
    'QRBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1kI7.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1kI7.png ';
    'SaveBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1gBc.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1gBc.png ';   
    'ShiftBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju18QR.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju18QR.png ';
    'ShiftsBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1Bzj.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1Bzj.png ';
    'SortBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1rXI.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1rXI.png ';
    'StocksBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju15f6.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju15f6.png ';
    'TablesBtnUI':Output = ' https://resmim.net/cdn/2025/10/24/ju1RK8.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1RK8.png ';
    'ItemBookBtnUI':Output = ' https://resmim.net/cdn/2025/10/30/jJzG6h.png" rel="nofollow - https://resmim.net/cdn/2025/10/30/jJzG6h.png ';
    'CategoryItemImageUI':Output =' https://resmim.net/cdn/2025/11/14/jFyEzn.png" rel="nofollow - https://resmim.net/cdn/2025/11/14/jFyEzn.png ';
    'AddStockBtnUI':Output = ' https://resmim.net/cdn/2025/11/17/jqzzkG.png" rel="nofollow - https://resmim.net/cdn/2025/11/17/jqzzkG.png ';

    else{
      ShowMessage('Resim Yok');
    }
  }
  Result=Output;
}
void TitlePnlV
  {
  TitlePnl = MainForm.AddNewProPanel(MainForm,'TitlePnl');
  TitlePnl.Align = alMostTop;
  TitlePnl.Height = (MainForm.clHeight*18)/100;
  TitlePnl.Width = (MainForm.clWidth*100)/100;
  TitlePnl.Margins.Top = (MainForm.clHeight * -0.0715); // -60 / 839 ≈ -0.0715
  TitlePnl.Margins.Left = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  TitlePnl.Margins.Right = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  TitlePnl.clProSettings.BorderWidth = 3;
  TitlePnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  TitlePnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
  TitlePnl.SetclProSettings(TitlePnl.clProSettings);


  TitleLbl = MainForm.AddNewProLabel(TitlePnl,'TitleLbl','STOKLAR');
  TitleLbl.Align = alCenter;
  TitleLbl.Width = (MainForm.clWidth * 1.0178);
  TitleLbl.Height = (MainForm.clHeight * 0.1073);
  TitleLbl.Margins.Top = (MainForm.clHeight * 0.0715); // 60 / 839 ≈ 0.0715
  TitleLbl.clProSettings.FontSize = 30;
  TitleLbl.clProSettings.FontVertAlign = palcenter;
  TitleLbl.clProSettings.FontHorzAlign = palcenter;
  //TitleLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
  TitleLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  TitleLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  MainForm.AddNewEvent(TitleLbl,tbeOnClick,'');
  TitleLbl.SetclProSettings(TitleLbl.clProSettings);
  
}
void NavbarPnlV
  {
  NavbarPnl = MainForm.AddNewProPanel(MainForm,'NavbarPnl');
  NavbarPnl.Align = alMostBottom;
  NavbarPnl.Height = (MainForm.clHeight*8)/100;
  NavbarPnl.Width = (MainForm.clWidth*100)/100;
  NavbarPnl.Margins.Left = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  NavbarPnl.Margins.Right = (MainForm.clWidth * -0.0254); // -10 / 393 ≈ -0.0254
  NavbarPnl.Margins.Bottom = (MainForm.clHeight * -0.0119); // -10 / 839 ≈ -0.0119
  NavbarPnl.clProSettings.BorderWidth = 3;
  NavbarPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  NavbarPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
  NavbarPnl.SetclProSettings(NavbarPnl.clProSettings);
  
  HomeBtn = MainForm.AddNewProButton(NavbarPnl,'HomeBtn','');
  HomeBtn.Align = alCenter;
  HomeBtn.Height = (NavbarPnl.Height*105)/100;
  HomeBtn.Width = (NavbarPnl.Width*30)/100;
  HomeBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
  HomeBtn.clProSettings.PictureSource = IconSelect('HomePageBtnUI');
  HomeBtn.SetclProSettings(HomeBtn.clProSettings);
  
  BackBtn = MainForm.AddNewProButton(NavbarPnl,'BackBtn','');
  BackBtn.Align = alCenter;
  BackBtn.Height = (NavbarPnl.Height*105)/100;
  BackBtn.Width = (NavbarPnl.Width*30)/100;
  BackBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
  BackBtn.Margins.Right = (MainForm.clWidth * -0.6361); // -250 / 393 ≈ -0.6361
  BackBtn.clProSettings.PictureSource = IconSelect('BackArrowBtnUI');
  BackBtn.SetclProSettings(BackBtn.clProSettings);
    
  SortBtn = MainForm.AddNewProButton(NavbarPnl,'SortBtn','');
  SortBtn.Align = alCenter;
  SortBtn.Height = (NavbarPnl.Height*105)/100;
  SortBtn.Width = (NavbarPnl.Width*30)/100;
  SortBtn.Margins.Top = (MainForm.clHeight * -0.0596); // -50 / 839 ≈ -0.0596
  SortBtn.Margins.left = (MainForm.clWidth * -0.6361); // -250 / 393 ≈ -0.6361
  SortBtn.clProSettings.PictureSource = IconSelect('SortBtnUI');
  SortBtn.SetclProSettings(SortBtn.clProSettings);
  
}
void MainPnlV   
  {
  vScroll = MainForm.AddNewVertScrollBox(MainForm,'vScroll');
  vScroll.Align = alCenter;
  vScroll.Height = (MainForm.clHeight*80)/100;
  vScroll.Width = (MainForm.clWidth*98)/100;
  vScroll.Margins.bottom = 50;
}
void ToggleCategories(Sender)
var
  J: Integer;
  TempPnl: TclProPanel;
  TempCategoryPnl: TClProButton;
  CategoryIndex: Integer;
  CategoryIndexStr: String;
  NormalHeight: Single;
  NormalMargin: Integer;
  IsCategoryOpen: Boolean;
{
  Try
  
    TempCategoryPnl = MainForm.ClSender as TClProButton;
    
    if (TempCategoryPnl == nil)
    {
      ShowMessage(' HATA: Kategori paneli bulunamadı!');
      Exit;
    }
    
    CategoryIndexStr = TempCategoryPnl.ClTagStr;
    
    if (CategoryIndexStr == '')
    {
      ShowMessage(' HATA: Kategori numarası bulunamadı! clTagStr boş.');
      Exit;
    }
    
    Try
    
      CategoryIndex = StrToInt(CategoryIndexStr);
    except
      ShowMessage(' HATA: Kategori numarası geçersiz: ' + CategoryIndexStr);
      Exit;
    }
    
    if ((CategoryIndex >= 1) && (CategoryIndex <= 100))
    {
      IsCategoryOpen = (TempCategoryPnl.ClTagInt == 1);
      
      if (IsCategoryOpen)
      {
        TempCategoryPnl.ClTagInt = 0;  // Kapat
        IsCategoryOpen = False;
      }
      else
      {
        TempCategoryPnl.ClTagInt = 1;  // Aç
        IsCategoryOpen = True;
      }
    }
    else
    {
      ShowMessage(' HATA: Geçersiz kategori indeksi: ' + IntToStr(CategoryIndex));
      Exit;
    }
    
    NormalHeight = 74;
    NormalMargin = 5;
    
    for (J = 1 to StocksCount)
    {
      TempPnl = MainForm.clFindComponent('StocksPnl' + IntToStr(CategoryIndex) + '_' + IntToStr(J)) as TclProPanel;
      
      if (TempPnl <> nil)
      {
        if (IsCategoryOpen)
        {
          TempPnl.Height = NormalHeight;
          TempPnl.Margins.Top = NormalMargin;
          TempPnl.Margins.Bottom = NormalMargin;
          TempPnl.Visible = True;
        }
        else
        {
          TempPnl.Height = 0;
          TempPnl.Margins.Top = 0;
          TempPnl.Margins.Bottom = 0;
          TempPnl.Visible = False;
        }
      }
    }
  except
    ShowMessage(' ToggleCategories hatası: ' + LastExceptionMessage);
  }
}
void SetObjectMargins(AObject,AValue)
  {
  AObject.Margins.Top = AValue;
  AObject.Margins.Bottom = AValue;
  AObject.Margins.Left = AValue;
  AObject.Margins.Right = AValue;
}



void StocksCategoryPnlVD
var
  I, J: Integer;
{
  Try
    for (I = 1 to StocksCategoryCount)
    {
      StocksCategoryPnl = MainForm.AddNewProButton(vScroll, 'StocksCategoryPnl' + IntToStr(I), '');
      StocksCategoryPnl.Align = alTop;
      StocksCategoryPnl.Height = 74;
      SetObjectMargins(StocksCategoryPnl, 5);
      StocksCategoryPnl.Margins.Left = (MainForm.clWidth * 0.0382);
      StocksCategoryPnl.Margins.Right = (MainForm.clWidth * 0.0382);
      StocksCategoryPnl.clProSettings.BorderWidth = 2;
      StocksCategoryPnl.clProSettings.RoundHeight = 3.5;
      StocksCategoryPnl.clProSettings.RoundWidth = 3.5;
      StocksCategoryPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
      StocksCategoryPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
      StocksCategoryPnl.SetclProSettings(StocksCategoryPnl.clProSettings);
      
      StocksCategoryPnl.ClTagStr = IntToStr(I);
      
      StocksCategoryPnl.ClTagInt = 1;
      
      MainForm.AddNewEvent(StocksCategoryPnl, tbeOnClick, 'ToggleCategories');
      
      CategoryItemImage = MainForm.AddNewProImage(StocksCategoryPnl, 'CategoryItemImage' + IntToStr(I));
      CategoryItemImage.Align = alCenter;
      CategoryItemImage.Height = (MainForm.clHeight * 0.0775);
      CategoryItemImage.Width = (MainForm.clWidth * 0.1654);
      CategoryItemImage.Margins.Right = (MainForm.clWidth * 0.6743);
      CategoryItemImage.clProSettings.PictureSource = IconSelect('CategoryItemImageUI');
      CategoryItemImage.clProSettings.PictureAutoFit = True;
      CategoryItemImage.SetclProSettings(CategoryItemImage.clProSettings);
      CategoryItemImage.HitTest = false;
      
      CategoryNameLbl = MainForm.AddNewProLabel(StocksCategoryPnl, 'CategoryNameLbl' + IntToStr(I), 'Tatlılar');
      CategoryNameLbl.Align = alCenter;
      CategoryNameLbl.Width = 150;
      CategoryNameLbl.Height = 30;
      CategoryNameLbl.Margins.Right = 15;
      CategoryNameLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
      CategoryNameLbl.clProSettings.FontSize = 20;
      CategoryNameLbl.clProSettings.FontVertAlign = palcenter;
      CategoryNameLbl.clProSettings.FontHorzAlign = palleading;
      CategoryNameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
      CategoryNameLbl.HitTest = false;
      CategoryNameLbl.SetclProSettings(CategoryNameLbl.clProSettings);
      
      for (J = 1 to StocksCount)
      {
        StocksPnl = MainForm.AddNewProPanel(vScroll, 'StocksPnl' + IntToStr(I) + '_' + IntToStr(J));
        StocksPnl.Align = alTop;
        StocksPnl.Height = 74;
        SetObjectMargins(StocksPnl, 5);
        StocksPnl.Margins.Left = (MainForm.clWidth * 0.0382);
        StocksPnl.Margins.Right = (MainForm.clWidth * 0.0382);
        StocksPnl.clProSettings.BorderWidth = 2;
        StocksPnl.clProSettings.RoundHeight = 3.5;
        StocksPnl.clProSettings.RoundWidth = 3.5;
        StocksPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
        StocksPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
        StocksPnl.SetclProSettings(StocksPnl.clProSettings);
        
      }
    }
  
  
  except
    ShowMessage(' StocksCategoryPnlVD hatası: ' + LastExceptionMessage);
  }
}
{
MainForm = tclForm.Create(self);
StocksCategoryCount=3;
StocksCount =5;
TitlePnlV;
AllCategoriesOpen = True;  
MainPnlV;
NavbarPnlV;
StocksCategoryPnlVD;


MainForm.SetFormColor('#121212','',clGNone);
MainForm.FormWaiting.Visible = False;
MainForm.BtnFormMenu.Visible = False;
MainForm.BtnGoBack.Visible = False;
MainForm.run;
}


< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28on72PdrCzSjY4U6VaAw1EQ==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous">


Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 19 Kasım 2025 Saat 09:56
var
  MainForm: TclForm;
  TitlePnl, NavbarPnl, StocksPnl: TclProPanel;
  StocksCategoryPnl: TClProButton; 
  TitleLbl, CategoryNameLbl, StocksNameLbl: TClProLabel;
  HomeBtn, BackBtn, SortBtn, DetailsBtn: TClProButton;
  CategoryItemImage, StocksImage: TClProImage;
  StocksCategoryCount: integer;
  vScroll: TCLVertScrollBox;
  StocksCount: integer;

void SetObjectMargins(AObject, AValue)
{
  AObject.Margins.Top = AValue;
  AObject.Margins.Bottom = AValue;
  AObject.Margins.Left = AValue;
  AObject.Margins.Right = AValue;
}

function IconSelect(IconUI): String
var
  Output: String;
{
  case IconUI of
  {
    'HomePageBtnUI': Output = ' https://resmim.net/cdn/2025/10/24/ju1fIT.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1fIT.png ';
    'BackArrowBtnUI': Output = ' https://resmim.net/cdn/2025/10/24/ju1STG.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1STG.png ';
    'SortBtnUI': Output = ' https://resmim.net/cdn/2025/10/24/ju1rXI.png" rel="nofollow - https://resmim.net/cdn/2025/10/24/ju1rXI.png ';
    'CategoryItemImageUI': Output = ' https://resmim.net/cdn/2025/11/14/jFyEzn.png" rel="nofollow - https://resmim.net/cdn/2025/11/14/jFyEzn.png ';
    else 
    {
      Output = '';
    }
  }
  Result = Output;
}

void TitlePnlV
{
  TitlePnl = MainForm.AddNewProPanel(MainForm, 'TitlePnl');
  TitlePnl.Align = alMostTop;
  TitlePnl.Height = (MainForm.clHeight * 18) / 100;
  TitlePnl.Width = (MainForm.clWidth * 100) / 100;
  TitlePnl.Margins.Top = (MainForm.clHeight * -0.0715);
  TitlePnl.Margins.Left = (MainForm.clWidth * -0.0254);
  TitlePnl.Margins.Right = (MainForm.clWidth * -0.0254);
  TitlePnl.clProSettings.BorderWidth = 3;
  TitlePnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  TitlePnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
  TitlePnl.SetclProSettings(TitlePnl.clProSettings);

  TitleLbl = MainForm.AddNewProLabel(TitlePnl, 'TitleLbl', 'STOKLAR');
  TitleLbl.Align = alCenter;
  TitleLbl.Width = (MainForm.clWidth * 1.0178);
  TitleLbl.Height = (MainForm.clHeight * 0.1073);
  TitleLbl.Margins.Top = (MainForm.clHeight * 0.0715);
  TitleLbl.clProSettings.FontSize = 30;
  TitleLbl.clProSettings.FontVertAlign = palcenter;
  TitleLbl.clProSettings.FontHorzAlign = palcenter;
  TitleLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  TitleLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  TitleLbl.SetclProSettings(TitleLbl.clProSettings);
}

void NavbarPnlV
{
  NavbarPnl = MainForm.AddNewProPanel(MainForm, 'NavbarPnl');
  NavbarPnl.Align = alMostBottom;
  NavbarPnl.Height = (MainForm.clHeight * 8) / 100;
  NavbarPnl.Width = (MainForm.clWidth * 100) / 100;
  NavbarPnl.Margins.Left = (MainForm.clWidth * -0.0254);
  NavbarPnl.Margins.Right = (MainForm.clWidth * -0.0254);
  NavbarPnl.Margins.Bottom = (MainForm.clHeight * -0.0119);
  NavbarPnl.clProSettings.BorderWidth = 3;
  NavbarPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
  NavbarPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
  NavbarPnl.SetclProSettings(NavbarPnl.clProSettings);

  HomeBtn = MainForm.AddNewProButton(NavbarPnl, 'HomeBtn', '');
  HomeBtn.Align = alCenter;
  HomeBtn.Height = (NavbarPnl.Height * 105) / 100;
  HomeBtn.Width = (NavbarPnl.Width * 30) / 100;
  HomeBtn.Margins.Top = (MainForm.clHeight * -0.0596);
  HomeBtn.clProSettings.PictureSource = IconSelect('HomePageBtnUI');
  HomeBtn.SetclProSettings(HomeBtn.clProSettings);

  BackBtn = MainForm.AddNewProButton(NavbarPnl, 'BackBtn', '');
  BackBtn.Align = alCenter;
  BackBtn.Height = (NavbarPnl.Height * 105) / 100;
  BackBtn.Width = (NavbarPnl.Width * 30) / 100;
  BackBtn.Margins.Top = (MainForm.clHeight * -0.0596);
  BackBtn.Margins.Right = (MainForm.clWidth * -0.6361);
  BackBtn.clProSettings.PictureSource = IconSelect('BackArrowBtnUI');
  BackBtn.SetclProSettings(BackBtn.clProSettings);

  SortBtn = MainForm.AddNewProButton(NavbarPnl, 'SortBtn', '');
  SortBtn.Align = alCenter;
  SortBtn.Height = (NavbarPnl.Height * 105) / 100;
  SortBtn.Width = (NavbarPnl.Width * 30) / 100;
  SortBtn.Margins.Top = (MainForm.clHeight * -0.0596);
  SortBtn.Margins.left = (MainForm.clWidth * -0.6361);
  SortBtn.clProSettings.PictureSource = IconSelect('SortBtnUI');
  SortBtn.SetclProSettings(SortBtn.clProSettings);
}

void MainPnlV
{
  vScroll = MainForm.AddNewVertScrollBox(MainForm, 'vScroll');
  vScroll.Align = alCenter;
  vScroll.Height = (MainForm.clHeight * 80) / 100;
  vScroll.Width = (MainForm.clWidth * 98) / 100;
  vScroll.Margins.bottom = 50;
}

void ToggleCategories(Sender)
var
  J: Integer;
  TempPnl: TclProPanel;
  TempCategoryPnl: TClProButton;
  CategoryIndex: Integer;
  CategoryIndexStr: String;
  NormalHeight: Single;
  NormalMargin: Integer;
  IsCategoryOpen: Boolean;
{
  Try
    TempCategoryPnl = MainForm.ClSender as TClProButton;
    
    if (TempCategoryPnl == nil) Exit;
    
    CategoryIndexStr = TempCategoryPnl.ClTagStr;
    if (CategoryIndexStr == '') Exit;
    
    Try
      CategoryIndex = StrToInt(CategoryIndexStr);
    except
      Exit;
    }
    
    // Durum Kontrolü (TagInt 1 ise AÇIK, 0 ise KAPALI)
    IsCategoryOpen = (TempCategoryPnl.ClTagInt == 1);
    
    if (IsCategoryOpen)
    {
      TempCategoryPnl.ClTagInt = 0;  // Şimdi Kapa
      IsCategoryOpen = False;
    }
    else
    {
      TempCategoryPnl.ClTagInt = 1;  // Şimdi Aç
      IsCategoryOpen = True;
    }
    
    NormalHeight = 74;
    NormalMargin = 5;
    
    for (J = 1 to StocksCount)
    {
      TempPnl = MainForm.clFindComponent('StocksPnl' + IntToStr(CategoryIndex) + '_' + IntToStr(J)) as TclProPanel;
      
      if (TempPnl <> nil)
      {
        if (IsCategoryOpen)
        {
          TempPnl.Height = NormalHeight;
          TempPnl.Margins.Top = NormalMargin;
          TempPnl.Margins.Bottom = NormalMargin;
          TempPnl.Visible = True;
        }
        else
        {
          TempPnl.Height = 0;
          TempPnl.Margins.Top = 0;
          TempPnl.Margins.Bottom = 0;
          TempPnl.Visible = False;
        }
      }
    }
  except
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}

void StocksCategoryPnlVD
var
  I, J: Integer;
{
  Try
    for (I = 1 to StocksCategoryCount)
    {
      StocksCategoryPnl = MainForm.AddNewProButton(vScroll, 'StocksCategoryPnl' + IntToStr(I), '');
      StocksCategoryPnl.Align = alTop;
      StocksCategoryPnl.Height = 74;
      SetObjectMargins(StocksCategoryPnl, 5);
      StocksCategoryPnl.Margins.Left = (MainForm.clWidth * 0.0382);
      StocksCategoryPnl.Margins.Right = (MainForm.clWidth * 0.0382);
      StocksCategoryPnl.clProSettings.BorderWidth = 2;
      StocksCategoryPnl.clProSettings.RoundHeight = 3.5;
      StocksCategoryPnl.clProSettings.RoundWidth = 3.5;
      StocksCategoryPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
      StocksCategoryPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
      StocksCategoryPnl.SetclProSettings(StocksCategoryPnl.clProSettings);
      
      // --- TAG AYARLARI ---
      StocksCategoryPnl.ClTagStr = IntToStr(I);
      StocksCategoryPnl.ClTagInt = 1; // Başlangıçta AÇIK (1)
      
      MainForm.AddNewEvent(StocksCategoryPnl, tbeOnClick, 'ToggleCategories');
      
      CategoryItemImage = MainForm.AddNewProImage(StocksCategoryPnl, 'CategoryItemImage' + IntToStr(I));
      CategoryItemImage.Align = alCenter;
      CategoryItemImage.Height = (MainForm.clHeight * 0.0775);
      CategoryItemImage.Width = (MainForm.clWidth * 0.1654);
      CategoryItemImage.Margins.Right = (MainForm.clWidth * 0.6743);
      CategoryItemImage.clProSettings.PictureSource = IconSelect('CategoryItemImageUI');
      CategoryItemImage.clProSettings.PictureAutoFit = True;
      CategoryItemImage.SetclProSettings(CategoryItemImage.clProSettings);
      CategoryItemImage.HitTest = false;
      
      CategoryNameLbl = MainForm.AddNewProLabel(StocksCategoryPnl, 'CategoryNameLbl' + IntToStr(I), 'Kategori ' + IntToStr(I));
      CategoryNameLbl.Align = alCenter;
      CategoryNameLbl.Width = 150;
      CategoryNameLbl.Height = 30;
      CategoryNameLbl.Margins.Right = 15;
      CategoryNameLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
      CategoryNameLbl.clProSettings.FontSize = 20;
      CategoryNameLbl.clProSettings.FontVertAlign = palcenter;
      CategoryNameLbl.clProSettings.FontHorzAlign = palleading;
      CategoryNameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
      CategoryNameLbl.HitTest = false;
      CategoryNameLbl.SetclProSettings(CategoryNameLbl.clProSettings);
      
      for (J = 1 to StocksCount)
      {
        StocksPnl = MainForm.AddNewProPanel(vScroll, 'StocksPnl' + IntToStr(I) + '_' + IntToStr(J));
        StocksPnl.Align = alTop;
        StocksPnl.Height = 74;
        SetObjectMargins(StocksPnl, 5);
        StocksPnl.Margins.Left = (MainForm.clWidth * 0.0382);
        StocksPnl.Margins.Right = (MainForm.clWidth * 0.0382);
        StocksPnl.clProSettings.BorderWidth = 2;
        StocksPnl.clProSettings.RoundHeight = 3.5;
        StocksPnl.clProSettings.RoundWidth = 3.5;
        StocksPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e');
        StocksPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
        StocksPnl.SetclProSettings(StocksPnl.clProSettings);
        
        
        StocksImage = MainForm.AddNewProImage(StocksPnl, 'StocksImage' + IntToStr(I) + '_' + IntToStr(J));
        StocksImage.Align = alCenter;
        StocksImage.Height = (MainForm.clHeight * 0.0775);
        StocksImage.Width = (MainForm.clWidth * 0.1654);
        StocksImage.Margins.Right = (MainForm.clWidth * 0.6743);
        StocksImage.clProSettings.PictureSource = ' https://resmim.net/cdn/2025/10/27/jAJjr1.png" rel="nofollow - https://resmim.net/cdn/2025/10/27/jAJjr1.png ';
        StocksImage.clProSettings.PictureAutoFit = True;
        StocksImage.SetclProSettings(StocksImage.clProSettings);

        StocksNameLbl = MainForm.AddNewProLabel(StocksPnl, 'StocksNameLbl' + IntToStr(I) + '_' + IntToStr(J), 'Ürün ' + IntToStr(J));
        StocksNameLbl.Align = alCenter;
        StocksNameLbl.Width = (MainForm.clWidth * 0.3817);
        StocksNameLbl.Height = (MainForm.clHeight * 0.0358);
        StocksNameLbl.Margins.Right = (MainForm.clWidth * 0.0382);
        StocksNameLbl.Margins.Bottom = 30;
        StocksNameLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
        StocksNameLbl.clProSettings.FontSize = 20;
        StocksNameLbl.clProSettings.FontVertAlign = palcenter;
        StocksNameLbl.clProSettings.FontHorzAlign = palleading;
        StocksNameLbl.clProSettings.TextSettings.Font.Style = [fsBold];
        StocksNameLbl.SetclProSettings(StocksNameLbl.clProSettings);

        DetailsBtn = MainForm.AddNewProButton(StocksPnl, 'DetailsBtn' + IntToStr(I) + '_' + IntToStr(J), 'DETAYLAR');
        DetailsBtn.Align = alCenter;
        DetailsBtn.Width = 74;
        DetailsBtn.Height = 74;
        DetailsBtn.Margins.Left = 282;
        DetailsBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
        DetailsBtn.clProSettings.FontSize = 12;
        DetailsBtn.clProSettings.FontVertAlign = palcenter;
        DetailsBtn.clProSettings.FontHorzAlign = palcenter;
        DetailsBtn.clProSettings.TextSettings.Font.Style = [fsBold];
        DetailsBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50');
        DetailsBtn.clProSettings.RoundWidth = 3.5;
        DetailsBtn.clProSettings.RoundHeight = 3.5;
        DetailsBtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a');
        DetailsBtn.clProSettings.BorderWidth = 2;
        DetailsBtn.SetclProSettings(DetailsBtn.clProSettings);
      }
    }
  except
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}

{
  MainForm = tclForm.Create(self);
  StocksCategoryCount = 3;
  StocksCount = 5;
  
  TitlePnlV;
  MainPnlV;
  NavbarPnlV;
  StocksCategoryPnlVD;

  MainForm.SetFormColor('#121212', '', clGNone);
  MainForm.FormWaiting.Visible = False;
  MainForm.BtnFormMenu.Visible = False;
  MainForm.BtnGoBack.Visible = False;
  MainForm.run;
}

 bu kodu direk çalıştırır mısın
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net