Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Form Oluşturma > TclForm Oluşturma
  Aktif Konular Aktif Konular RSS - admin panel stok, analiz sekmesi arayüzü
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

admin panel stok, analiz sekmesi arayüzü

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
DEVCAN Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 01 Mayıs 2026
Durum: Aktif Değil
Puanlar: 4
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı DEVCAN Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: admin panel stok, analiz sekmesi arayüzü
    Gönderim Zamanı: 16 Saat 38 Dakika Önce Saat 21:52
06_211554.pnguploaduploads/405/Ekran_görüntüsü_2026-05-

yönetici panelimde aşağıdaki kod bloğunda yani analiz ve stok sekmelerinin karmaşasını yaşıyorum. üstteki resimlerde olduğu gibi. Asıl arayüz alttaki gibi olmalı 



uses uLib;

var
  myform: TclStyleForm;
  MainScrollBox: TClVertScrollBox;
  TopLayout, TabsLayout, KPIGridLayout, TopCardsLayout: TclLayout;
  MiddleTabsLayout, ListTitleLayout, StokTitleLayout: TclLayout;
  pnlRow1, pnlRow2, pnlKPI1, pnlKPI2, pnlKPI3, pnlKPI4: TclProPanel;
  
  lblHello, lblDate: TclProLabel;
  pnlAvatar: TclProPanel;
  lblAvatar: TclProLabel;
  
  btnTabTemsilci, btnTabYonetici: TclProButton;
  
  lblKPI1Title, lblKPI1Value: TclProLabel;
  lblKPI2Title, lblKPI2Value: TclProLabel;
  lblKPI3Title, lblKPI3Value: TclProLabel;
  lblKPI4Title, lblKPI4Value: TclProLabel;
  
  pnlGelir, pnlMaliyet: TclProPanel;
  lblGelirTitle, lblGelirValue, lblGelirDesc: TclProLabel;
  lblMaliyetTitle, lblMaliyetValue, lblMaliyetDesc: TclProLabel;
  
  btnMidBekleyen, btnMidAnaliz, btnMidStok: TclProButton;
  lblListTitle, lblStokTitle, lblChartTitle: TclProLabel;
  pnlHideHeader: TclProPanel;
  
  CardsParentLayout, ChartParentLayout, StokParentLayout: TclLayout;
  chartRevenue: TclChart;

// GÖRÜNÜRLÜK AYARLAYICI (Resimlerdeki gibi sadece ilgili alanı gösterir)
void SetView(ViewMode: Integer);
var
  c1, c2, c3, t1, t2, t3, b1, b2, b3: String;
{
  CardsParentLayout.Visible = False;  CardsParentLayout.Height = 0;
  ChartParentLayout.Visible = False;  ChartParentLayout.Height = 0;
  StokParentLayout.Visible = False;   StokParentLayout.Height = 0;
  
  c1='#202020'; c2='#202020'; c3='#202020';
  t1='#aaaaaa'; t2='#aaaaaa'; t3='#aaaaaa';
  b1='#555555'; b2='#555555'; b3='#555555';
  
  if (ViewMode == 1) { CardsParentLayout.Visible = True;  CardsParentLayout.Height = 600; KPIGridLayout.Visible = True; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; TopCardsLayout.Visible = True; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Top = 10; c1='#333333'; t1='#ffffff'; b1='#777777'; }
  if (ViewMode == 2) { ChartParentLayout.Visible = True;  ChartParentLayout.Height = 380; KPIGridLayout.Visible = True; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; TopCardsLayout.Visible = True; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Top = 10; c2='#333333'; t2='#ffffff'; b2='#777777'; }
  if (ViewMode == 3) { StokParentLayout.Visible = True;   StokParentLayout.Height = 700; KPIGridLayout.Visible = True; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; TopCardsLayout.Visible = True; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Top = 10; c3='#333333'; t3='#ffffff'; b3='#777777'; }
  
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"'+c1+'", "TextColor":"'+t1+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b1+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"'+c2+'", "TextColor":"'+t2+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b2+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"'+c3+'", "TextColor":"'+t3+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b3+'", "BorderWidth":1}');
}

void NavBekleyenClick; { SetView(1); }
void NavAnalizClick;   { SetView(2); }
void NavStokClick;     { SetView(3); }

// RESİM 3: ONAY BEKLEYEN KART TASARIMI
void AddApprovalCard(AId: String; AIconChar: String; AIconBg: String; AIconColor: String; ATitle: String; ASubTitle: String; ADesc: String; AAlertText: String; AAlertColor: String);
var
  pnlCard, pnlAlert, pnlContent, pnlIconBox, pnlIcon, pnlText, pnlActions: TclProPanel;
  lblAlert, lblIcon, lblTitle, lblSubTitle, lblDesc: TclProLabel;
  btnOnayla, btnReddet: TclProButton;
{
  pnlCard = myform.AddNewProPanel(CardsParentLayout, 'pnlApprCard_' + AId);
  pnlCard.Align = alTop;
  if (AAlertText <> '') pnlCard.Height = 155; else pnlCard.Height = 125;
  pnlCard.Margins.Top = 15; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#252525", "RoundHeight":12, "BorderColor":"#3a3a3a", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  if (AAlertText <> '')
  {
    pnlAlert = myform.AddNewProPanel(pnlCard, 'pnlApprAlert_' + AId);
    pnlAlert.Align = alTop; pnlAlert.Height = 24;
    clComponent.SetupComponent(pnlAlert, '{"BackgroundColor":"' + AAlertColor + '", "RoundHeight":8}');
    lblAlert = myform.AddNewProLabel(pnlAlert, 'lblApprAlert_' + AId, AAlertText);
    lblAlert.Align = alClient; lblAlert.Margins.Left = 10;
    clComponent.SetupComponent(lblAlert, '{"TextColor":"#b71c1c", "TextSize":11, "TextBold":true, "TextVerticalAlign":"center"}');
  }
  
  pnlContent = myform.AddNewProPanel(pnlCard, 'pnlApprContent_' + AId);
  pnlContent.Align = alTop; pnlContent.Height = 70;
  pnlIconBox = myform.AddNewProPanel(pnlContent, 'pnlApprIconBox_' + AId);
  pnlIconBox.Align = alLeft; pnlIconBox.Width = 60;
  pnlIcon = myform.AddNewProPanel(pnlIconBox, 'pnlApprIcon_' + AId);
  pnlIcon.Align = alCenter; pnlIcon.Width = 36; pnlIcon.Height = 36;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"' + AIconBg + '", "RoundHeight":18}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblApprIconLabel_' + AId, AIconChar);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"' + AIconColor + '", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlText = myform.AddNewProPanel(pnlContent, 'pnlApprText_' + AId);
  pnlText.Align = alClient; pnlText.Margins.Top = 14;
  lblTitle = myform.AddNewProLabel(pnlText, 'lblApprTitle_' + AId, ATitle);
  lblTitle.Align = alTop; lblTitle.Height = 18;
  clComponent.SetupComponent(lblTitle, '{"TextColor":"#ffffff", "TextSize":13, "TextBold":true}');
  lblSubTitle = myform.AddNewProLabel(pnlText, 'lblApprSubTitle_' + AId, ASubTitle);
  lblSubTitle.Align = alTop; lblSubTitle.Height = 14;
  clComponent.SetupComponent(lblSubTitle, '{"TextColor":"#cccccc", "TextSize":10}');
  
  if (ADesc <> '') {
    lblDesc = myform.AddNewProLabel(pnlText, 'lblApprDesc_' + AId, '"' + ADesc + '"');
    lblDesc.Align = alTop; lblDesc.Height = 14;
    clComponent.SetupComponent(lblDesc, '{"TextColor":"#aaaaaa", "TextSize":10, "TextItalic":true}'); 
  }
  
  pnlActions = myform.AddNewProPanel(pnlCard, 'pnlApprActions_' + AId);
  pnlActions.Align = alBottom; pnlActions.Height = 36; pnlActions.Margins.Bottom = 8; pnlActions.Margins.Left = 8; pnlActions.Margins.Right = 8;
  btnOnayla = myform.AddNewProButton(pnlActions, 'btnOnayla_' + AId, 'Onayla');
  btnOnayla.Align = alLeft; btnOnayla.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(btnOnayla, '{"BackgroundColor":"#1b5e20", "TextColor":"#ffffff", "TextSize":12, "TextBold":true, "RoundHeight":8}');
  btnReddet = myform.AddNewProButton(pnlActions, 'btnReddet_' + AId, 'Reddet');
  btnReddet.Align = alClient; btnReddet.Margins.Left = 8;
  clComponent.SetupComponent(btnReddet, '{"BackgroundColor":"#252525", "TextColor":"#e53935", "TextSize":12, "TextBold":true, "BorderColor":"#e53935", "BorderWidth":1, "RoundHeight":8}');
}

// RESİM 2: TÜM ÜRÜNLER (STOK) KART TASARIMI
void AddProductCard(AId: String; ALetter: String; AName: String; ADesc: String; ACount: String; AColor: String; AProgress: Integer; IsKritik: Boolean);
var
  pnlCard, pnlIcon, pnlCenter, pnlRight, pnlBadge, pnlProgressBg, pnlProgressFg: TclProPanel;
  lblIcon, lblName, lblDesc, lblCount, lblCountDesc, lblBadge: TclProLabel;
{
  pnlCard = myform.AddNewProPanel(StokParentLayout, 'pnlStokCard_' + AId);
  pnlCard.Align = alTop; pnlCard.Height = 100; pnlCard.Margins.Top = 12; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#2b2b2b", "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  pnlIcon = myform.AddNewProPanel(pnlCard, 'pnlStokIconBox_' + AId);
  pnlIcon.Align = alLeft; pnlIcon.Width = 52; pnlIcon.Height = 52; pnlIcon.Margins.Left = 16; pnlIcon.Margins.Top = 24; pnlIcon.Margins.Bottom = 24;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"#ffffff", "RoundHeight":12}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblStokIconLabel_' + AId, ALetter);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"#111111", "TextSize":18, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlRight = myform.AddNewProPanel(pnlCard, 'pnlStokRight_' + AId);
  pnlRight.Align = alRight; pnlRight.Width = 70; pnlRight.Margins.Right = 16; pnlRight.Margins.Top = 20;
  lblCount = myform.AddNewProLabel(pnlRight, 'lblStokCount_' + AId, ACount);
  lblCount.Align = alTop; lblCount.Height = 24;
  clComponent.SetupComponent(lblCount, '{"TextColor":"' + AColor + '", "TextSize":20, "TextBold":true, "TextHorizontalAlign":"right"}');
  lblCountDesc = myform.AddNewProLabel(pnlRight, 'lblStokCountDesc_' + AId, 'net stok');
  lblCountDesc.Align = alTop; lblCountDesc.Height = 15;
  clComponent.SetupComponent(lblCountDesc, '{"TextColor":"#cccccc", "TextSize":11, "TextHorizontalAlign":"right"}');
  
  pnlCenter = myform.AddNewProPanel(pnlCard, 'pnlStokCenter_' + AId);
  pnlCenter.Align = alClient; pnlCenter.Margins.Left = 16; pnlCenter.Margins.Top = 18;
  lblName = myform.AddNewProLabel(pnlCenter, 'lblStokName_' + AId, AName);
  lblName.Align = alTop; lblName.Height = 22;
  clComponent.SetupComponent(lblName, '{"TextColor":"#ffffff", "TextSize":15, "TextBold":true}');
  
  if (IsKritik) {
    pnlBadge = myform.AddNewProPanel(lblName, 'pnlStokBadge_' + AId);
    pnlBadge.Align = alRight; pnlBadge.Width = 50; pnlBadge.Margins.Right = 20;
    clComponent.SetupComponent(pnlBadge, '{"BackgroundColor":"#ffebee", "RoundHeight":8}');
    lblBadge = myform.AddNewProLabel(pnlBadge, 'lblStokBadgeLabel_' + AId, 'Kritik');
    lblBadge.Align = alClient;
    clComponent.SetupComponent(lblBadge, '{"TextColor":"#c62828", "TextSize":10, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  }
  
  lblDesc = myform.AddNewProLabel(pnlCenter, 'lblStokDesc_' + AId, ADesc);
  lblDesc.Align = alTop; lblDesc.Height = 18;
  clComponent.SetupComponent(lblDesc, '{"TextColor":"#cccccc", "TextSize":11}');
  
  pnlProgressBg = myform.AddNewProPanel(pnlCenter, 'pnlProgressBg_' + AId);
  pnlProgressBg.Align = alTop; pnlProgressBg.Height = 4; pnlProgressBg.Margins.Top = 8; pnlProgressBg.Margins.Right = 20;
  clComponent.SetupComponent(pnlProgressBg, '{"BackgroundColor":"#444444", "RoundHeight":2}');
  pnlProgressFg = myform.AddNewProPanel(pnlProgressBg, 'pnlProgressFg_' + AId);
  pnlProgressFg.Align = alLeft; pnlProgressFg.Width = (myform.clWidth * AProgress) / 100;
  clComponent.SetupComponent(pnlProgressFg, '{"BackgroundColor":"' + AColor + '", "RoundHeight":2}');
}

{
  myform = TclStyleForm.Create(Self);
  myform.SetFormColor('#202020', '', clGNone); 

  pnlHideHeader = myform.AddNewProPanel(myform, 'pnlHideHeader');
  pnlHideHeader.Align = alTop; pnlHideHeader.Height = 80; pnlHideHeader.Margins.Top = -80;
  clComponent.SetupComponent(pnlHideHeader, '{"BackgroundColor":"#202020"}');  
  
  MainScrollBox = myform.AddNewVertScrollBox(myform, 'MainScrollBox');
  MainScrollBox.Align = alClient;

  // Header
  TopLayout = myform.AddNewLayout(MainScrollBox, 'TopLayout');
  TopLayout.Align = alTop; TopLayout.Height = 75; TopLayout.Margins.Top = 20; TopLayout.Margins.Left = 20; TopLayout.Margins.Right = 20;
  pnlAvatar = myform.AddNewProPanel(TopLayout, 'pnlAvatar');
  pnlAvatar.Align = alRight; pnlAvatar.Width = 48; pnlAvatar.Height = 48;
  clComponent.SetupComponent(pnlAvatar, '{"BackgroundColor":"#1b5e20", "RoundHeight":24}'); 
  lblAvatar = myform.AddNewProLabel(pnlAvatar, 'lblAvatar', 'FD'); 
  lblAvatar.Align = alClient;
  clComponent.SetupComponent(lblAvatar, '{"TextColor":"#ffffff", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  lblHello = myform.AddNewProLabel(TopLayout, 'lblHello', 'Merhaba, Fatma');
  lblHello.Align = alTop; lblHello.Height = 28;
  clComponent.SetupComponent(lblHello, '{"TextColor":"#ffffff", "TextSize":22, "TextBold":true}');
  lblDate = myform.AddNewProLabel(TopLayout, 'lblDate', 'Yonetici - Nisan 2025');
  lblDate.Align = alTop; lblDate.Height = 20;
  clComponent.SetupComponent(lblDate, '{"TextColor":"#cccccc", "TextSize":12}');

  // KPIs (2x2 Grid)
  KPIGridLayout = myform.AddNewLayout(MainScrollBox, 'KPIGridLayout');
  KPIGridLayout.Align = alTop; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20;
  
  // Satir 1: Bekleyen onay + Onaylanan
  pnlRow1 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow1');
  pnlRow1.Align = alTop; pnlRow1.Height = 65; pnlRow1.Margins.Left = 20; pnlRow1.Margins.Right = 20; pnlRow1.Margins.Bottom = 10;
  pnlKPI1 = myform.AddNewProPanel(pnlRow1, 'pnlKPI1');
  pnlKPI1.Align = alLeft; pnlKPI1.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI1, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI1Title = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Title', 'Bekleyen onay');
  lblKPI1Title.Align = alTop; lblKPI1Title.Height = 22; lblKPI1Title.Margins.Left = 12; lblKPI1Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI1Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI1Value = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Value', '1');
  lblKPI1Value.Align = alTop; lblKPI1Value.Height = 24; lblKPI1Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI1Value, '{"TextColor":"#ff9800", "TextSize":20, "TextBold":true}');
  pnlKPI2 = myform.AddNewProPanel(pnlRow1, 'pnlKPI2');
  pnlKPI2.Align = alRight; pnlKPI2.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI2, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI2Title = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Title', 'Onaylanan');
  lblKPI2Title.Align = alTop; lblKPI2Title.Height = 22; lblKPI2Title.Margins.Left = 12; lblKPI2Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI2Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI2Value = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Value', '6');
  lblKPI2Value.Align = alTop; lblKPI2Value.Height = 24; lblKPI2Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI2Value, '{"TextColor":"#4CAF50", "TextSize":20, "TextBold":true}');
  
  // Satir 2: Kritik stok + Rezerve adet
  pnlRow2 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow2');
  pnlRow2.Align = alTop; pnlRow2.Height = 65; pnlRow2.Margins.Left = 20; pnlRow2.Margins.Right = 20;
  pnlKPI3 = myform.AddNewProPanel(pnlRow2, 'pnlKPI3');
  pnlKPI3.Align = alLeft; pnlKPI3.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI3, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI3Title = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Title', 'Kritik stok');
  lblKPI3Title.Align = alTop; lblKPI3Title.Height = 22; lblKPI3Title.Margins.Left = 12; lblKPI3Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI3Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI3Value = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Value', '2 urun');
  lblKPI3Value.Align = alTop; lblKPI3Value.Height = 24; lblKPI3Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI3Value, '{"TextColor":"#f44336", "TextSize":20, "TextBold":true}');
  pnlKPI4 = myform.AddNewProPanel(pnlRow2, 'pnlKPI4');
  pnlKPI4.Align = alRight; pnlKPI4.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI4, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI4Title = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Title', 'Rezerve adet');
  lblKPI4Title.Align = alTop; lblKPI4Title.Height = 22; lblKPI4Title.Margins.Left = 12; lblKPI4Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI4Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI4Value = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Value', '18');
  lblKPI4Value.Align = alTop; lblKPI4Value.Height = 24; lblKPI4Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI4Value, '{"TextColor":"#2196F3", "TextSize":20, "TextBold":true}');

  // Gelir/Kar Kartlari
  TopCardsLayout = myform.AddNewLayout(MainScrollBox, 'TopCardsLayout');
  TopCardsLayout.Align = alTop; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Left = 20; TopCardsLayout.Margins.Right = 20; TopCardsLayout.Margins.Top = 10;
  pnlGelir = myform.AddNewProPanel(TopCardsLayout, 'pnlGelir');
  pnlGelir.Align = alLeft; pnlGelir.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlGelir, '{"BackgroundColor":"#e8f5e9", "RoundHeight":12}'); 
  lblGelirTitle = myform.AddNewProLabel(pnlGelir, 'lblGelirTitle', 'Net Gelir');
  lblGelirTitle.Align = alTop; lblGelirTitle.Height = 20; lblGelirTitle.Margins.Left = 16; lblGelirTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblGelirTitle, '{"TextColor":"#2e7d32", "TextSize":12, "TextBold":true}');
  lblGelirValue = myform.AddNewProLabel(pnlGelir, 'lblGelirValue', '63.300 TL');
  lblGelirValue.Align = alTop; lblGelirValue.Height = 30; lblGelirValue.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirValue, '{"TextColor":"#1b5e20", "TextSize":22, "TextBold":true}');
  lblGelirDesc = myform.AddNewProLabel(pnlGelir, 'lblGelirDesc', 'iade dusuldu');
  lblGelirDesc.Align = alTop; lblGelirDesc.Height = 18; lblGelirDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirDesc, '{"TextColor":"#388e3c", "TextSize":10}');
  pnlMaliyet = myform.AddNewProPanel(TopCardsLayout, 'pnlMaliyet');
  pnlMaliyet.Align = alRight; pnlMaliyet.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlMaliyet, '{"BackgroundColor":"#ffebee", "RoundHeight":12}'); 
  lblMaliyetTitle = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetTitle', 'Net Kar');
  lblMaliyetTitle.Align = alTop; lblMaliyetTitle.Height = 20; lblMaliyetTitle.Margins.Left = 16; lblMaliyetTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblMaliyetTitle, '{"TextColor":"#c62828", "TextSize":12, "TextBold":true}');
  lblMaliyetValue = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetValue', '+3.900 TL');
  lblMaliyetValue.Align = alTop; lblMaliyetValue.Height = 30; lblMaliyetValue.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetValue, '{"TextColor":"#b71c1c", "TextSize":22, "TextBold":true}');
  lblMaliyetDesc = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetDesc', 'marj %6');
  lblMaliyetDesc.Align = alTop; lblMaliyetDesc.Height = 18; lblMaliyetDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetDesc, '{"TextColor":"#d32f2f", "TextSize":10}');

  // ANA MENÜ BUTONLARI
  MiddleTabsLayout = myform.AddNewLayout(MainScrollBox, 'MiddleTabsLayout');
  MiddleTabsLayout.Align = alTop; MiddleTabsLayout.Height = 45; MiddleTabsLayout.Margins.Top = 20; MiddleTabsLayout.Margins.Left = 20; MiddleTabsLayout.Margins.Right = 20;
  btnMidBekleyen = myform.AddNewProButton(MiddleTabsLayout, 'btnMidBekleyen', 'Bekleyen');
  btnMidBekleyen.Align = alLeft; btnMidBekleyen.Width = (myform.clWidth - 40) / 3;
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"#333333", "TextColor":"#ffffff", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#777777", "BorderWidth":1}');
  myform.AddNewEvent(btnMidBekleyen, tbeOnClick, 'NavBekleyenClick');
  btnMidAnaliz = myform.AddNewProButton(MiddleTabsLayout, 'btnMidAnaliz', 'Analiz');
  btnMidAnaliz.Align = alLeft; btnMidAnaliz.Width = (myform.clWidth - 40) / 3; btnMidAnaliz.Margins.Left = 5;
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidAnaliz, tbeOnClick, 'NavAnalizClick');
  btnMidStok = myform.AddNewProButton(MiddleTabsLayout, 'btnMidStok', 'Stok');
  btnMidStok.Align = alLeft; btnMidStok.Width = (myform.clWidth - 40) / 3; btnMidStok.Margins.Left = 5;
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidStok, tbeOnClick, 'NavStokClick');

  // --- DİNAMİK İÇERİK KONTEYNERLARI ---

  // 1. BEKLEYEN (RESİM 3)
  CardsParentLayout = myform.AddNewLayout(MainScrollBox, 'CardsParentLayout');
  CardsParentLayout.Align = alTop; CardsParentLayout.Height = 600; CardsParentLayout.Visible = True;
  ListTitleLayout = myform.AddNewLayout(CardsParentLayout, 'ListTitleLayout');
  ListTitleLayout.Align = alTop; ListTitleLayout.Height = 35; ListTitleLayout.Margins.Top = 20; ListTitleLayout.Margins.Left = 20;
  lblListTitle = myform.AddNewProLabel(ListTitleLayout, 'lblListTitle', 'ONAY BEKLEYEN TALEPLERx');
  lblListTitle.Align = alLeft; lblListTitle.Width = 300;
  clComponent.SetupComponent(lblListTitle, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  AddApprovalCard('1', 'U', '#fff3e0', '#e65100', 'USB-C Hub', 'Yeni Satis - 5 adet - 3.250 TL - Ahmet Y.', 'Toplu alim', 'Stok yetersiz! Net stok: 3 adet', '#ffebee');
  AddApprovalCard('2', 'K', '#e8f5e9', '#2e7d32', 'Mekanik Klavye', 'Stok Guncelleme - 10 adet - Zeynep K.', 'Depodan transfer', '', '');
  AddApprovalCard('3', 'W', '#f3e5f5', '#6a1b9a', 'Web Kamera HD', 'Yeni Satis - 4 adet - 4.800 TL - Ahmet Y.', '', '', '');

  // 2. ANALİZ (RESİM 1)
  ChartParentLayout = myform.AddNewLayout(MainScrollBox, 'ChartParentLayout');
  ChartParentLayout.Align = alTop; ChartParentLayout.Height = 0; ChartParentLayout.Visible = False;
  lblChartTitle = myform.AddNewProLabel(ChartParentLayout, 'lblChartTitle', 'GELİR / GİDER GRAFİĞİ');
  lblChartTitle.Align = alTop; lblChartTitle.Height = 50; lblChartTitle.Margins.Left = 20; lblChartTitle.Margins.Top = 20;
  clComponent.SetupComponent(lblChartTitle, '{"TextColor":"#ffffff", "TextSize":18, "TextBold":true}');
  chartRevenue = myform.AddNewChart(ChartParentLayout, 'chartRevenue', '');
  chartRevenue.Align = alTop; chartRevenue.Height = 280; chartRevenue.Margins.Left = 20; chartRevenue.Margins.Right = 20;
  chartRevenue.Charttype = clCBar;
  chartRevenue.XAxisText = 'Gun';
  chartRevenue.ChartItemText = 'Tip';
  chartRevenue.ChartItemsValue = 'Tutar';
  chartRevenue.clLoadDataFromJSONStr('[' +
    '{"Gun":"Pzt","Tutar":55,"Tip":"Gelir","color":"#aed581"},{"Gun":"Pzt","Tutar":42,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Sal","Tutar":38,"Tip":"Gelir","color":"#aed581"},{"Gun":"Sal","Tutar":28,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Car","Tutar":18,"Tip":"Gelir","color":"#aed581"},{"Gun":"Car","Tutar":14,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Per","Tutar":22,"Tip":"Gelir","color":"#aed581"},{"Gun":"Per","Tutar":17,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Cum","Tutar":19,"Tip":"Gelir","color":"#aed581"},{"Gun":"Cum","Tutar":15,"Tip":"Maliyet","color":"#ef9a9a"}]');

  // 3. STOK (RESİM 2)
  StokParentLayout = myform.AddNewLayout(MainScrollBox, 'StokParentLayout');
  StokParentLayout.Align = alTop; StokParentLayout.Height = 0; StokParentLayout.Visible = False;
  StokTitleLayout = myform.AddNewLayout(StokParentLayout, 'StokTitleLayout');
  StokTitleLayout.Align = alTop; StokTitleLayout.Height = 35; StokTitleLayout.Margins.Top = 20; StokTitleLayout.Margins.Left = 20;
  lblStokTitle = myform.AddNewProLabel(StokTitleLayout, 'lblStokTitle', 'TÜM ÜRÜNLER');
  lblStokTitle.Align = alLeft; lblStokTitle.Width = 200;
  clComponent.SetupComponent(lblStokTitle, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  AddProductCard('1', 'L', 'Laptop Pro X1', 'Rezerve: 8 - 18.500 TL', '37', '#4CAF50', 70, False);
  AddProductCard('2', 'K', 'Mekanik Klavye', 'Rezerve: 3 - 1.850 TL', '9', '#FF9800', 40, False);
  AddProductCard('3', 'U', 'USB-C Hub', 'Rezerve: 5 - 650 TL', '3', '#f44336', 15, True);
  AddProductCard('4', 'M', 'Monitor 27"', 'Rezerve: 2 - 8.900 TL', '4', '#f44336', 20, True);
  AddProductCard('5', 'W', 'Web Kamera HD', 'Rezerve: 0 - 1.200 TL', '26', '#4CAF50', 55, False);

  myform.Run;
}
< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -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">
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 858
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 16 Saat 12 Dakika Önce Saat 22:18
Merhaba Levent 

Öncelikle tasarım çok güzel olmuş.
Bahsettiğin sekmelerin birbirine girmesi ve karmaşa yaratması sebebi Clomosy' de align=altop diyerek bir scrollbox içine alt alta dizdiğin de sistem otomatik olarak hizalama yapıyor. bir sekmeyi de gizlemek istediğin de sadece visible=false yapman yeterli. Sistem görünmez paneli hizalamadan çıkarır. 

ancak yazdığın kodda SetView fonksiyonu içinde sekmeler gizlenirken hem visible=false hem de height =0 yapılmış yükseklik sıfırlandığın da sistem o panelin içindeki bileşenlerin sınırlarını da kaybediyor. geri açtığında da true ve yüksekliği 600 yaptığın da yerlerini bulamıyorlar ve panellerin üzerine karmaşa oluşturuyor. 

çözüm olarak setview fonksiyonu temizlemen sadece renkleri ve görünürlükleri değiştirmen gerekli. tasarımın en altında da panellerin boylarını sadece bir kez tanımlaman yeterli







https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" 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">
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 858
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 16 Saat 11 Dakika Önce Saat 22:19
//uses uLib;

var
  myform: TclStyleForm;
  MainScrollBox: TClVertScrollBox;
  TopLayout, TabsLayout, KPIGridLayout, TopCardsLayout: TclLayout;
  MiddleTabsLayout, ListTitleLayout, StokTitleLayout: TclLayout;
  pnlRow1, pnlRow2, pnlKPI1, pnlKPI2, pnlKPI3, pnlKPI4: TclProPanel;
  
  lblHello, lblDate: TclProLabel;
  pnlAvatar: TclProPanel;
  lblAvatar: TclProLabel;
  
  btnTabTemsilci, btnTabYonetici: TclProButton;
  
  lblKPI1Title, lblKPI1Value: TclProLabel;
  lblKPI2Title, lblKPI2Value: TclProLabel;
  lblKPI3Title, lblKPI3Value: TclProLabel;
  lblKPI4Title, lblKPI4Value: TclProLabel;
  
  pnlGelir, pnlMaliyet: TclProPanel;
  lblGelirTitle, lblGelirValue, lblGelirDesc: TclProLabel;
  lblMaliyetTitle, lblMaliyetValue, lblMaliyetDesc: TclProLabel;
  
  btnMidBekleyen, btnMidAnaliz, btnMidStok: TclProButton;
  lblListTitle, lblStokTitle, lblChartTitle: TclProLabel;
  pnlHideHeader: TclProPanel;
  
  CardsParentLayout, ChartParentLayout, StokParentLayout: TclLayout;
  chartRevenue: TclChart;

// GÖRÜNÜRLÜK AYARLAYICI (Düzeltildi)
void SetView(ViewMode: Integer);
var
  c1, c2, c3, t1, t2, t3, b1, b2, b3: String;
{
  CardsParentLayout.Visible = False;
  ChartParentLayout.Visible = False;
  StokParentLayout.Visible = False;
  
  c1='#202020'; c2='#202020'; c3='#202020';
  t1='#aaaaaa'; t2='#aaaaaa'; t3='#aaaaaa';
  b1='#555555'; b2='#555555'; b3='#555555';
  
  if (ViewMode == 1) { CardsParentLayout.Visible = True; c1='#333333'; t1='#ffffff'; b1='#777777'; }
  if (ViewMode == 2) { ChartParentLayout.Visible = True; c2='#333333'; t2='#ffffff'; b2='#777777'; }
  if (ViewMode == 3) { StokParentLayout.Visible = True; c3='#333333'; t3='#ffffff'; b3='#777777'; }
  
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"'+c1+'", "TextColor":"'+t1+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b1+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"'+c2+'", "TextColor":"'+t2+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b2+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"'+c3+'", "TextColor":"'+t3+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b3+'", "BorderWidth":1}');
}

void NavBekleyenClick; { SetView(1); }
void NavAnalizClick;   { SetView(2); }
void NavStokClick;     { SetView(3); }

void AddApprovalCard(AId: String; AIconChar: String; AIconBg: String; AIconColor: String; ATitle: String; ASubTitle: String; ADesc: String; AAlertText: String; AAlertColor: String);
var
  pnlCard, pnlAlert, pnlContent, pnlIconBox, pnlIcon, pnlText, pnlActions: TclProPanel;
  lblAlert, lblIcon, lblTitle, lblSubTitle, lblDesc: TclProLabel;
  btnOnayla, btnReddet: TclProButton;
{
  pnlCard = myform.AddNewProPanel(CardsParentLayout, 'pnlApprCard_' + AId);
  pnlCard.Align = alTop;
  if (AAlertText <> '') pnlCard.Height = 155; else pnlCard.Height = 125;
  pnlCard.Margins.Top = 15; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#252525", "RoundHeight":12, "BorderColor":"#3a3a3a", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  if (AAlertText <> '')
  {
    pnlAlert = myform.AddNewProPanel(pnlCard, 'pnlApprAlert_' + AId);
    pnlAlert.Align = alTop; pnlAlert.Height = 24;
    clComponent.SetupComponent(pnlAlert, '{"BackgroundColor":"' + AAlertColor + '", "RoundHeight":8}');
    lblAlert = myform.AddNewProLabel(pnlAlert, 'lblApprAlert_' + AId, AAlertText);
    lblAlert.Align = alClient; lblAlert.Margins.Left = 10;
    clComponent.SetupComponent(lblAlert, '{"TextColor":"#b71c1c", "TextSize":11, "TextBold":true, "TextVerticalAlign":"center"}');
  }
  
  pnlContent = myform.AddNewProPanel(pnlCard, 'pnlApprContent_' + AId);
  pnlContent.Align = alTop; pnlContent.Height = 70;
  pnlIconBox = myform.AddNewProPanel(pnlContent, 'pnlApprIconBox_' + AId);
  pnlIconBox.Align = alLeft; pnlIconBox.Width = 60;
  pnlIcon = myform.AddNewProPanel(pnlIconBox, 'pnlApprIcon_' + AId);
  pnlIcon.Align = alCenter; pnlIcon.Width = 36; pnlIcon.Height = 36;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"' + AIconBg + '", "RoundHeight":18}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblApprIconLabel_' + AId, AIconChar);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"' + AIconColor + '", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlText = myform.AddNewProPanel(pnlContent, 'pnlApprText_' + AId);
  pnlText.Align = alClient; pnlText.Margins.Top = 14;
  lblTitle = myform.AddNewProLabel(pnlText, 'lblApprTitle_' + AId, ATitle);
  lblTitle.Align = alTop; lblTitle.Height = 18;
  clComponent.SetupComponent(lblTitle, '{"TextColor":"#ffffff", "TextSize":13, "TextBold":true}');
  lblSubTitle = myform.AddNewProLabel(pnlText, 'lblApprSubTitle_' + AId, ASubTitle);
  lblSubTitle.Align = alTop; lblSubTitle.Height = 14;
  clComponent.SetupComponent(lblSubTitle, '{"TextColor":"#cccccc", "TextSize":10}');
  
  if (ADesc <> '') {
    lblDesc = myform.AddNewProLabel(pnlText, 'lblApprDesc_' + AId, '"' + ADesc + '"');
    lblDesc.Align = alTop; lblDesc.Height = 14;
    clComponent.SetupComponent(lblDesc, '{"TextColor":"#aaaaaa", "TextSize":10, "TextItalic":true}'); 
  }
  
  pnlActions = myform.AddNewProPanel(pnlCard, 'pnlApprActions_' + AId);
  pnlActions.Align = alBottom; pnlActions.Height = 36; pnlActions.Margins.Bottom = 8; pnlActions.Margins.Left = 8; pnlActions.Margins.Right = 8;
  btnOnayla = myform.AddNewProButton(pnlActions, 'btnOnayla_' + AId, 'Onayla');
  btnOnayla.Align = alLeft; btnOnayla.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(btnOnayla, '{"BackgroundColor":"#1b5e20", "TextColor":"#ffffff", "TextSize":12, "TextBold":true, "RoundHeight":8}');
  btnReddet = myform.AddNewProButton(pnlActions, 'btnReddet_' + AId, 'Reddet');
  btnReddet.Align = alClient; btnReddet.Margins.Left = 8;
  clComponent.SetupComponent(btnReddet, '{"BackgroundColor":"#252525", "TextColor":"#e53935", "TextSize":12, "TextBold":true, "BorderColor":"#e53935", "BorderWidth":1, "RoundHeight":8}');
}

void AddProductCard(AId: String; ALetter: String; AName: String; ADesc: String; ACount: String; AColor: String; AProgress: Integer; IsKritik: Boolean);
var
  pnlCard, pnlIcon, pnlCenter, pnlRight, pnlBadge, pnlProgressBg, pnlProgressFg: TclProPanel;
  lblIcon, lblName, lblDesc, lblCount, lblCountDesc, lblBadge: TclProLabel;
{
  pnlCard = myform.AddNewProPanel(StokParentLayout, 'pnlStokCard_' + AId);
  pnlCard.Align = alTop; pnlCard.Height = 100; pnlCard.Margins.Top = 12; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#2b2b2b", "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  pnlIcon = myform.AddNewProPanel(pnlCard, 'pnlStokIconBox_' + AId);
  pnlIcon.Align = alLeft; pnlIcon.Width = 52; pnlIcon.Height = 52; pnlIcon.Margins.Left = 16; pnlIcon.Margins.Top = 24; pnlIcon.Margins.Bottom = 24;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"#ffffff", "RoundHeight":12}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblStokIconLabel_' + AId, ALetter);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"#111111", "TextSize":18, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlRight = myform.AddNewProPanel(pnlCard, 'pnlStokRight_' + AId);
  pnlRight.Align = alRight; pnlRight.Width = 70; pnlRight.Margins.Right = 16; pnlRight.Margins.Top = 20;
  lblCount = myform.AddNewProLabel(pnlRight, 'lblStokCount_' + AId, ACount);
  lblCount.Align = alTop; lblCount.Height = 24;
  clComponent.SetupComponent(lblCount, '{"TextColor":"' + AColor + '", "TextSize":20, "TextBold":true, "TextHorizontalAlign":"right"}');
  lblCountDesc = myform.AddNewProLabel(pnlRight, 'lblStokCountDesc_' + AId, 'net stok');
  lblCountDesc.Align = alTop; lblCountDesc.Height = 15;
  clComponent.SetupComponent(lblCountDesc, '{"TextColor":"#cccccc", "TextSize":11, "TextHorizontalAlign":"right"}');
  
  pnlCenter = myform.AddNewProPanel(pnlCard, 'pnlStokCenter_' + AId);
  pnlCenter.Align = alClient; pnlCenter.Margins.Left = 16; pnlCenter.Margins.Top = 18;
  lblName = myform.AddNewProLabel(pnlCenter, 'lblStokName_' + AId, AName);
  lblName.Align = alTop; lblName.Height = 22;
  clComponent.SetupComponent(lblName, '{"TextColor":"#ffffff", "TextSize":15, "TextBold":true}');
  
  if (IsKritik) {
    pnlBadge = myform.AddNewProPanel(lblName, 'pnlStokBadge_' + AId);
    pnlBadge.Align = alRight; pnlBadge.Width = 50; pnlBadge.Margins.Right = 20;
    clComponent.SetupComponent(pnlBadge, '{"BackgroundColor":"#ffebee", "RoundHeight":8}');
    lblBadge = myform.AddNewProLabel(pnlBadge, 'lblStokBadgeLabel_' + AId, 'Kritik');
    lblBadge.Align = alClient;
    clComponent.SetupComponent(lblBadge, '{"TextColor":"#c62828", "TextSize":10, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  }
  
  lblDesc = myform.AddNewProLabel(pnlCenter, 'lblStokDesc_' + AId, ADesc);
  lblDesc.Align = alTop; lblDesc.Height = 18;
  clComponent.SetupComponent(lblDesc, '{"TextColor":"#cccccc", "TextSize":11}');
  
  pnlProgressBg = myform.AddNewProPanel(pnlCenter, 'pnlProgressBg_' + AId);
  pnlProgressBg.Align = alTop; pnlProgressBg.Height = 4; pnlProgressBg.Margins.Top = 8; pnlProgressBg.Margins.Right = 20;
  clComponent.SetupComponent(pnlProgressBg, '{"BackgroundColor":"#444444", "RoundHeight":2}');
  pnlProgressFg = myform.AddNewProPanel(pnlProgressBg, 'pnlProgressFg_' + AId);
  pnlProgressFg.Align = alLeft; pnlProgressFg.Width = (myform.clWidth * AProgress) / 100;
  clComponent.SetupComponent(pnlProgressFg, '{"BackgroundColor":"' + AColor + '", "RoundHeight":2}');
}

{
  myform = TclStyleForm.Create(Self);
  myform.SetFormColor('#202020', '', clGNone); 

  pnlHideHeader = myform.AddNewProPanel(myform, 'pnlHideHeader');
  pnlHideHeader.Align = alTop; pnlHideHeader.Height = 80; pnlHideHeader.Margins.Top = -80;
  clComponent.SetupComponent(pnlHideHeader, '{"BackgroundColor":"#202020"}');  
  
  MainScrollBox = myform.AddNewVertScrollBox(myform, 'MainScrollBox');
  MainScrollBox.Align = alClient;

  TopLayout = myform.AddNewLayout(MainScrollBox, 'TopLayout');
  TopLayout.Align = alTop; TopLayout.Height = 75; TopLayout.Margins.Top = 20; TopLayout.Margins.Left = 20; TopLayout.Margins.Right = 20;
  pnlAvatar = myform.AddNewProPanel(TopLayout, 'pnlAvatar');
  pnlAvatar.Align = alRight; pnlAvatar.Width = 48; pnlAvatar.Height = 48;
  clComponent.SetupComponent(pnlAvatar, '{"BackgroundColor":"#1b5e20", "RoundHeight":24}'); 
  lblAvatar = myform.AddNewProLabel(pnlAvatar, 'lblAvatar', 'FD'); 
  lblAvatar.Align = alClient;
  clComponent.SetupComponent(lblAvatar, '{"TextColor":"#ffffff", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  lblHello = myform.AddNewProLabel(TopLayout, 'lblHello', 'Merhaba, Fatma');
  lblHello.Align = alTop; lblHello.Height = 28;
  clComponent.SetupComponent(lblHello, '{"TextColor":"#ffffff", "TextSize":22, "TextBold":true}');
  lblDate = myform.AddNewProLabel(TopLayout, 'lblDate', 'Yonetici - Nisan 2025');
  lblDate.Align = alTop; lblDate.Height = 20;
  clComponent.SetupComponent(lblDate, '{"TextColor":"#cccccc", "TextSize":12}');

  KPIGridLayout = myform.AddNewLayout(MainScrollBox, 'KPIGridLayout');
  KPIGridLayout.Align = alTop; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20;
  
  pnlRow1 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow1');
  pnlRow1.Align = alTop; pnlRow1.Height = 65; pnlRow1.Margins.Left = 20; pnlRow1.Margins.Right = 20; pnlRow1.Margins.Bottom = 10;
  pnlKPI1 = myform.AddNewProPanel(pnlRow1, 'pnlKPI1');
  pnlKPI1.Align = alLeft; pnlKPI1.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI1, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI1Title = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Title', 'Bekleyen onay');
  lblKPI1Title.Align = alTop; lblKPI1Title.Height = 22; lblKPI1Title.Margins.Left = 12; lblKPI1Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI1Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI1Value = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Value', '1');
  lblKPI1Value.Align = alTop; lblKPI1Value.Height = 24; lblKPI1Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI1Value, '{"TextColor":"#ff9800", "TextSize":20, "TextBold":true}');
  pnlKPI2 = myform.AddNewProPanel(pnlRow1, 'pnlKPI2');
  pnlKPI2.Align = alRight; pnlKPI2.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI2, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI2Title = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Title', 'Onaylanan');
  lblKPI2Title.Align = alTop; lblKPI2Title.Height = 22; lblKPI2Title.Margins.Left = 12; lblKPI2Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI2Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI2Value = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Value', '6');
  lblKPI2Value.Align = alTop; lblKPI2Value.Height = 24; lblKPI2Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI2Value, '{"TextColor":"#4CAF50", "TextSize":20, "TextBold":true}');
  
  pnlRow2 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow2');
  pnlRow2.Align = alTop; pnlRow2.Height = 65; pnlRow2.Margins.Left = 20; pnlRow2.Margins.Right = 20;
  pnlKPI3 = myform.AddNewProPanel(pnlRow2, 'pnlKPI3');
  pnlKPI3.Align = alLeft; pnlKPI3.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI3, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI3Title = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Title', 'Kritik stok');
  lblKPI3Title.Align = alTop; lblKPI3Title.Height = 22; lblKPI3Title.Margins.Left = 12; lblKPI3Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI3Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI3Value = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Value', '2 urun');
  lblKPI3Value.Align = alTop; lblKPI3Value.Height = 24; lblKPI3Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI3Value, '{"TextColor":"#f44336", "TextSize":20, "TextBold":true}');
  pnlKPI4 = myform.AddNewProPanel(pnlRow2, 'pnlKPI4');
  pnlKPI4.Align = alRight; pnlKPI4.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI4, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI4Title = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Title', 'Rezerve adet');
  lblKPI4Title.Align = alTop; lblKPI4Title.Height = 22; lblKPI4Title.Margins.Left = 12; lblKPI4Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI4Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI4Value = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Value', '18');
  lblKPI4Value.Align = alTop; lblKPI4Value.Height = 24; lblKPI4Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI4Value, '{"TextColor":"#2196F3", "TextSize":20, "TextBold":true}');

  TopCardsLayout = myform.AddNewLayout(MainScrollBox, 'TopCardsLayout');
  TopCardsLayout.Align = alTop; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Left = 20; TopCardsLayout.Margins.Right = 20; TopCardsLayout.Margins.Top = 10;
  pnlGelir = myform.AddNewProPanel(TopCardsLayout, 'pnlGelir');
  pnlGelir.Align = alLeft; pnlGelir.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlGelir, '{"BackgroundColor":"#e8f5e9", "RoundHeight":12}'); 
  lblGelirTitle = myform.AddNewProLabel(pnlGelir, 'lblGelirTitle', 'Net Gelir');
  lblGelirTitle.Align = alTop; lblGelirTitle.Height = 20; lblGelirTitle.Margins.Left = 16; lblGelirTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblGelirTitle, '{"TextColor":"#2e7d32", "TextSize":12, "TextBold":true}');
  lblGelirValue = myform.AddNewProLabel(pnlGelir, 'lblGelirValue', '63.300 TL');
  lblGelirValue.Align = alTop; lblGelirValue.Height = 30; lblGelirValue.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirValue, '{"TextColor":"#1b5e20", "TextSize":22, "TextBold":true}');
  lblGelirDesc = myform.AddNewProLabel(pnlGelir, 'lblGelirDesc', 'iade dusuldu');
  lblGelirDesc.Align = alTop; lblGelirDesc.Height = 18; lblGelirDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirDesc, '{"TextColor":"#388e3c", "TextSize":10}');
  pnlMaliyet = myform.AddNewProPanel(TopCardsLayout, 'pnlMaliyet');
  pnlMaliyet.Align = alRight; pnlMaliyet.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlMaliyet, '{"BackgroundColor":"#ffebee", "RoundHeight":12}'); 
  lblMaliyetTitle = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetTitle', 'Net Kar');
  lblMaliyetTitle.Align = alTop; lblMaliyetTitle.Height = 20; lblMaliyetTitle.Margins.Left = 16; lblMaliyetTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblMaliyetTitle, '{"TextColor":"#c62828", "TextSize":12, "TextBold":true}');
  lblMaliyetValue = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetValue', '+3.900 TL');
  lblMaliyetValue.Align = alTop; lblMaliyetValue.Height = 30; lblMaliyetValue.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetValue, '{"TextColor":"#b71c1c", "TextSize":22, "TextBold":true}');
  lblMaliyetDesc = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetDesc', 'marj %6');
  lblMaliyetDesc.Align = alTop; lblMaliyetDesc.Height = 18; lblMaliyetDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetDesc, '{"TextColor":"#d32f2f", "TextSize":10}');

  MiddleTabsLayout = myform.AddNewLayout(MainScrollBox, 'MiddleTabsLayout');
  MiddleTabsLayout.Align = alTop; MiddleTabsLayout.Height = 45; MiddleTabsLayout.Margins.Top = 20; MiddleTabsLayout.Margins.Left = 20; MiddleTabsLayout.Margins.Right = 20;
  btnMidBekleyen = myform.AddNewProButton(MiddleTabsLayout, 'btnMidBekleyen', 'Bekleyen');
  btnMidBekleyen.Align = alLeft; btnMidBekleyen.Width = (myform.clWidth - 40) / 3;
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"#333333", "TextColor":"#ffffff", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#777777", "BorderWidth":1}');
  myform.AddNewEvent(btnMidBekleyen, tbeOnClick, 'NavBekleyenClick');
  btnMidAnaliz = myform.AddNewProButton(MiddleTabsLayout, 'btnMidAnaliz', 'Analiz');
  btnMidAnaliz.Align = alLeft; btnMidAnaliz.Width = (myform.clWidth - 40) / 3; btnMidAnaliz.Margins.Left = 5;
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidAnaliz, tbeOnClick, 'NavAnalizClick');
  btnMidStok = myform.AddNewProButton(MiddleTabsLayout, 'btnMidStok', 'Stok');
  btnMidStok.Align = alLeft; btnMidStok.Width = (myform.clWidth - 40) / 3; btnMidStok.Margins.Left = 5;
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidStok, tbeOnClick, 'NavStokClick');

  CardsParentLayout = myform.AddNewLayout(MainScrollBox, 'CardsParentLayout');
  CardsParentLayout.Align = alTop; CardsParentLayout.Height = 600; CardsParentLayout.Visible = True;
  ListTitleLayout = myform.AddNewLayout(CardsParentLayout, 'ListTitleLayout');
  ListTitleLayout.Align = alTop; ListTitleLayout.Height = 35; ListTitleLayout.Margins.Top = 20; ListTitleLayout.Margins.Left = 20;
  lblListTitle = myform.AddNewProLabel(ListTitleLayout, 'lblListTitle', 'ONAY BEKLEYEN TALEPLER');
  lblListTitle.Align = alLeft; lblListTitle.Width = 300;
  clComponent.SetupComponent(lblListTitle, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  AddApprovalCard('1', 'U', '#fff3e0', '#e65100', 'USB-C Hub', 'Yeni Satis - 5 adet - 3.250 TL - Ahmet Y.', 'Toplu alim', 'Stok yetersiz! Net stok: 3 adet', '#ffebee');
  AddApprovalCard('2', 'K', '#e8f5e9', '#2e7d32', 'Mekanik Klavye', 'Stok Guncelleme - 10 adet - Zeynep K.', 'Depodan transfer', '', '');
  AddApprovalCard('3', 'W', '#f3e5f5', '#6a1b9a', 'Web Kamera HD', 'Yeni Satis - 4 adet - 4.800 TL - Ahmet Y.', '', '', '');

  ChartParentLayout = myform.AddNewLayout(MainScrollBox, 'ChartParentLayout');
  ChartParentLayout.Align = alTop; ChartParentLayout.Height = 380; ChartParentLayout.Visible = False; 
  lblChartTitle = myform.AddNewProLabel(ChartParentLayout, 'lblChartTitle', 'GELİR / GİDER GRAFİĞİ');
  lblChartTitle.Align = alTop; lblChartTitle.Height = 50; lblChartTitle.Margins.Left = 20; lblChartTitle.Margins.Top = 20;
  clComponent.SetupComponent(lblChartTitle, '{"TextColor":"#ffffff", "TextSize":18, "TextBold":true}');
  chartRevenue = myform.AddNewChart(ChartParentLayout, 'chartRevenue', '');
  chartRevenue.Align = alTop; chartRevenue.Height = 280; chartRevenue.Margins.Left = 20; chartRevenue.Margins.Right = 20;
  chartRevenue.Charttype = clCBar;
  chartRevenue.XAxisText = 'Gun';
  chartRevenue.ChartItemText = 'Tip';
  chartRevenue.ChartItemsValue = 'Tutar';
  chartRevenue.clLoadDataFromJSONStr('[' +
    '{"Gun":"Pzt","Tutar":55,"Tip":"Gelir","color":"#aed581"},{"Gun":"Pzt","Tutar":42,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Sal","Tutar":38,"Tip":"Gelir","color":"#aed581"},{"Gun":"Sal","Tutar":28,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Car","Tutar":18,"Tip":"Gelir","color":"#aed581"},{"Gun":"Car","Tutar":14,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Per","Tutar":22,"Tip":"Gelir","color":"#aed581"},{"Gun":"Per","Tutar":17,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Cum","Tutar":19,"Tip":"Gelir","color":"#aed581"},{"Gun":"Cum","Tutar":15,"Tip":"Maliyet","color":"#ef9a9a"}]');

  StokParentLayout = myform.AddNewLayout(MainScrollBox, 'StokParentLayout');
  StokParentLayout.Align = alTop; StokParentLayout.Height = 700; StokParentLayout.Visible = False; 
  StokTitleLayout = myform.AddNewLayout(StokParentLayout, 'StokTitleLayout');
  StokTitleLayout.Align = alTop; StokTitleLayout.Height = 35; StokTitleLayout.Margins.Top = 20; StokTitleLayout.Margins.Left = 20;
  lblStokTitle = myform.AddNewProLabel(StokTitleLayout, 'lblStokTitle', 'TÜM ÜRÜNLER');
  lblStokTitle.Align = alLeft; lblStokTitle.Width = 200;
  clComponent.SetupComponent(lblStokTitle, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  AddProductCard('1', 'L', 'Laptop Pro X1', 'Rezerve: 8 - 18.500 TL', '37', '#4CAF50', 70, False);
  AddProductCard('2', 'K', 'Mekanik Klavye', 'Rezerve: 3 - 1.850 TL', '9', '#FF9800', 40, False);
  AddProductCard('3', 'U', 'USB-C Hub', 'Rezerve: 5 - 650 TL', '3', '#f44336', 15, True);
  AddProductCard('4', 'M', 'Monitor 27"', 'Rezerve: 2 - 8.900 TL', '4', '#f44336', 20, True);
  AddProductCard('5', 'W', 'Web Kamera HD', 'Rezerve: 0 - 1.200 TL', '26', '#4CAF50', 55, False);

  myform.Run;
}
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" 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">
Yukarı Dön
DEVCAN Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 01 Mayıs 2026
Durum: Aktif Değil
Puanlar: 4
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı DEVCAN Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 14 Saat 33 Dakika Önce Saat 23:57
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" 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">
Yukarı Dön
DEVCAN Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 01 Mayıs 2026
Durum: Aktif Değil
Puanlar: 4
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı DEVCAN Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 14 Saat 30 Dakika Önce Saat 00:00
kod bloğunu denedim formda ama değişiklik olmadı hala eskisi gibi stok kısmında profil aşağıda ürünler sayfanın en üstünde, analiz kısmında da grafik yukarda aşağıda olması gerekirken aşağıda da profil bilgileri mevcut aynı şekildehttps://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" 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">
Yukarı Dön
M-Guney Açılır Kutu İzle
Kıdemli Üye
Kıdemli Üye


Kayıt Tarihi: 16 Eylül 2025
Konum: Konya, Meram, K
Durum: Aktif Değil
Puanlar: 228
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı M-Guney Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 4 Saat 12 Dakika Önce Saat 10:18
İlk başta attığınız kodda sadece layoutların visible false olmasından kaynaklı yerleştirmede problem meydana gelmekte 

Eğer ki bu kısımları main blok kısmından kaldırırsan problem çözülecektir.
//StokParentLayout.Visible = False;



//uses uLib;

var
  myform: TclStyleForm;
  MainScrollBox: TClVertScrollBox;
  TopLayout, TabsLayout, KPIGridLayout, TopCardsLayout: TclLayout;
  MiddleTabsLayout, ListTitleLayout, StokTitleLayout: TclLayout;
  pnlRow1, pnlRow2, pnlKPI1, pnlKPI2, pnlKPI3, pnlKPI4: TclProPanel;
  
  lblHello, lblDate: TclProLabel;
  pnlAvatar: TclProPanel;
  lblAvatar: TclProLabel;
  
  btnTabTemsilci, btnTabYonetici: TclProButton;
  
  lblKPI1Title, lblKPI1Value: TclProLabel;
  lblKPI2Title, lblKPI2Value: TclProLabel;
  lblKPI3Title, lblKPI3Value: TclProLabel;
  lblKPI4Title, lblKPI4Value: TclProLabel;
  
  pnlGelir, pnlMaliyet: TclProPanel;
  lblGelirTitle, lblGelirValue, lblGelirDesc: TclProLabel;
  lblMaliyetTitle, lblMaliyetValue, lblMaliyetDesc: TclProLabel;
  
  btnMidBekleyen, btnMidAnaliz, btnMidStok: TclProButton;
  lblListTitle, lblStokTitle, lblChartTitle: TclProLabel;
  pnlHideHeader: TclProPanel;
  
  CardsParentLayout, ChartParentLayout, StokParentLayout: TclLayout;
  chartRevenue: TclChart;

// GÖRÜNÜRLÜK AYARLAYICI (Düzeltildi)
void SetView(ViewMode: Integer);
var
  c1, c2, c3, t1, t2, t3, b1, b2, b3: String;
{
  CardsParentLayout.Visible = False;
  ChartParentLayout.Visible = False;
  StokParentLayout.Visible = False;
  
  c1='#202020'; c2='#202020'; c3='#202020';
  t1='#aaaaaa'; t2='#aaaaaa'; t3='#aaaaaa';
  b1='#555555'; b2='#555555'; b3='#555555';
  
  if (ViewMode == 1) { CardsParentLayout.Visible = True; c1='#333333'; t1='#ffffff'; b1='#777777'; }
  if (ViewMode == 2) { ChartParentLayout.Visible = True; c2='#333333'; t2='#ffffff'; b2='#777777'; ChartParentLayout.Height = 380;}
  if (ViewMode == 3) { StokParentLayout.Visible = True; c3='#333333'; t3='#ffffff'; b3='#777777'; StokParentLayout.Height = 700;}
  
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"'+c1+'", "TextColor":"'+t1+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b1+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"'+c2+'", "TextColor":"'+t2+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b2+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"'+c3+'", "TextColor":"'+t3+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b3+'", "BorderWidth":1}');

  //MainScrollBox.ScrollTo(0,-410); // Tıklanıldığında açılan kısma scrollu kaydırır
}

void NavBekleyenClick; { SetView(1); }
void NavAnalizClick;   { SetView(2); }
void NavStokClick;     { SetView(3); }

void AddApprovalCard(AId: String; AIconChar: String; AIconBg: String; AIconColor: String; ATitle: String; ASubTitle: String; ADesc: String; AAlertText: String; AAlertColor: String);
var
  pnlCard, pnlAlert, pnlContent, pnlIconBox, pnlIcon, pnlText, pnlActions: TclProPanel;
  lblAlert, lblIcon, lblTitle, lblSubTitle, lblDesc: TclProLabel;
  btnOnayla, btnReddet: TclProButton;
{
  pnlCard = myform.AddNewProPanel(CardsParentLayout, 'pnlApprCard_' + AId);
  pnlCard.Align = alTop;
  if (AAlertText <> '') pnlCard.Height = 155; else pnlCard.Height = 125;
  pnlCard.Margins.Top = 15; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#252525", "RoundHeight":12, "BorderColor":"#3a3a3a", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  if (AAlertText <> '')
  {
    pnlAlert = myform.AddNewProPanel(pnlCard, 'pnlApprAlert_' + AId);
    pnlAlert.Align = alTop; pnlAlert.Height = 24;
    clComponent.SetupComponent(pnlAlert, '{"BackgroundColor":"' + AAlertColor + '", "RoundHeight":8}');
    lblAlert = myform.AddNewProLabel(pnlAlert, 'lblApprAlert_' + AId, AAlertText);
    lblAlert.Align = alClient; lblAlert.Margins.Left = 10;
    clComponent.SetupComponent(lblAlert, '{"TextColor":"#b71c1c", "TextSize":11, "TextBold":true, "TextVerticalAlign":"center"}');
  }
  
  pnlContent = myform.AddNewProPanel(pnlCard, 'pnlApprContent_' + AId);
  pnlContent.Align = alTop; pnlContent.Height = 70;
  pnlIconBox = myform.AddNewProPanel(pnlContent, 'pnlApprIconBox_' + AId);
  pnlIconBox.Align = alLeft; pnlIconBox.Width = 60;
  pnlIcon = myform.AddNewProPanel(pnlIconBox, 'pnlApprIcon_' + AId);
  pnlIcon.Align = alCenter; pnlIcon.Width = 36; pnlIcon.Height = 36;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"' + AIconBg + '", "RoundHeight":18}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblApprIconLabel_' + AId, AIconChar);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"' + AIconColor + '", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlText = myform.AddNewProPanel(pnlContent, 'pnlApprText_' + AId);
  pnlText.Align = alClient; pnlText.Margins.Top = 14;
  lblTitle = myform.AddNewProLabel(pnlText, 'lblApprTitle_' + AId, ATitle);
  lblTitle.Align = alTop; lblTitle.Height = 18;
  clComponent.SetupComponent(lblTitle, '{"TextColor":"#ffffff", "TextSize":13, "TextBold":true}');
  lblSubTitle = myform.AddNewProLabel(pnlText, 'lblApprSubTitle_' + AId, ASubTitle);
  lblSubTitle.Align = alTop; lblSubTitle.Height = 14;
  clComponent.SetupComponent(lblSubTitle, '{"TextColor":"#cccccc", "TextSize":10}');
  
  if (ADesc <> '') {
    lblDesc = myform.AddNewProLabel(pnlText, 'lblApprDesc_' + AId, '"' + ADesc + '"');
    lblDesc.Align = alTop; lblDesc.Height = 14;
    clComponent.SetupComponent(lblDesc, '{"TextColor":"#aaaaaa", "TextSize":10, "TextItalic":true}'); 
  }
  
  pnlActions = myform.AddNewProPanel(pnlCard, 'pnlApprActions_' + AId);
  pnlActions.Align = alBottom; pnlActions.Height = 36; pnlActions.Margins.Bottom = 8; pnlActions.Margins.Left = 8; pnlActions.Margins.Right = 8;
  btnOnayla = myform.AddNewProButton(pnlActions, 'btnOnayla_' + AId, 'Onayla');
  btnOnayla.Align = alLeft; btnOnayla.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(btnOnayla, '{"BackgroundColor":"#1b5e20", "TextColor":"#ffffff", "TextSize":12, "TextBold":true, "RoundHeight":8}');
  btnReddet = myform.AddNewProButton(pnlActions, 'btnReddet_' + AId, 'Reddet');
  btnReddet.Align = alClient; btnReddet.Margins.Left = 8;
  clComponent.SetupComponent(btnReddet, '{"BackgroundColor":"#252525", "TextColor":"#e53935", "TextSize":12, "TextBold":true, "BorderColor":"#e53935", "BorderWidth":1, "RoundHeight":8}');
}

void AddProductCard(AId: String; ALetter: String; AName: String; ADesc: String; ACount: String; AColor: String; AProgress: Integer; IsKritik: Boolean);
var
  pnlCard, pnlIcon, pnlCenter, pnlRight, pnlBadge, pnlProgressBg, pnlProgressFg: TclProPanel;
  lblIcon, lblName, lblDesc, lblCount, lblCountDesc, lblBadge: TclProLabel;
{
  pnlCard = myform.AddNewProPanel(StokParentLayout, 'pnlStokCard_' + AId);
  pnlCard.Align = alTop; pnlCard.Height = 100; pnlCard.Margins.Top = 12; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#2b2b2b", "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  pnlIcon = myform.AddNewProPanel(pnlCard, 'pnlStokIconBox_' + AId);
  pnlIcon.Align = alLeft; pnlIcon.Width = 52; pnlIcon.Height = 52; pnlIcon.Margins.Left = 16; pnlIcon.Margins.Top = 24; pnlIcon.Margins.Bottom = 24;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"#ffffff", "RoundHeight":12}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblStokIconLabel_' + AId, ALetter);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"#111111", "TextSize":18, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlRight = myform.AddNewProPanel(pnlCard, 'pnlStokRight_' + AId);
  pnlRight.Align = alRight; pnlRight.Width = 70; pnlRight.Margins.Right = 16; pnlRight.Margins.Top = 20;
  lblCount = myform.AddNewProLabel(pnlRight, 'lblStokCount_' + AId, ACount);
  lblCount.Align = alTop; lblCount.Height = 24;
  clComponent.SetupComponent(lblCount, '{"TextColor":"' + AColor + '", "TextSize":20, "TextBold":true, "TextHorizontalAlign":"right"}');
  lblCountDesc = myform.AddNewProLabel(pnlRight, 'lblStokCountDesc_' + AId, 'net stok');
  lblCountDesc.Align = alTop; lblCountDesc.Height = 15;
  clComponent.SetupComponent(lblCountDesc, '{"TextColor":"#cccccc", "TextSize":11, "TextHorizontalAlign":"right"}');
  
  pnlCenter = myform.AddNewProPanel(pnlCard, 'pnlStokCenter_' + AId);
  pnlCenter.Align = alClient; pnlCenter.Margins.Left = 16; pnlCenter.Margins.Top = 18;
  lblName = myform.AddNewProLabel(pnlCenter, 'lblStokName_' + AId, AName);
  lblName.Align = alTop; lblName.Height = 22;
  clComponent.SetupComponent(lblName, '{"TextColor":"#ffffff", "TextSize":15, "TextBold":true}');
  
  if (IsKritik) {
    pnlBadge = myform.AddNewProPanel(lblName, 'pnlStokBadge_' + AId);
    pnlBadge.Align = alRight; pnlBadge.Width = 50; pnlBadge.Margins.Right = 20;
    clComponent.SetupComponent(pnlBadge, '{"BackgroundColor":"#ffebee", "RoundHeight":8}');
    lblBadge = myform.AddNewProLabel(pnlBadge, 'lblStokBadgeLabel_' + AId, 'Kritik');
    lblBadge.Align = alClient;
    clComponent.SetupComponent(lblBadge, '{"TextColor":"#c62828", "TextSize":10, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  }
  
  lblDesc = myform.AddNewProLabel(pnlCenter, 'lblStokDesc_' + AId, ADesc);
  lblDesc.Align = alTop; lblDesc.Height = 18;
  clComponent.SetupComponent(lblDesc, '{"TextColor":"#cccccc", "TextSize":11}');
  
  pnlProgressBg = myform.AddNewProPanel(pnlCenter, 'pnlProgressBg_' + AId);
  pnlProgressBg.Align = alTop; pnlProgressBg.Height = 4; pnlProgressBg.Margins.Top = 8; pnlProgressBg.Margins.Right = 20;
  clComponent.SetupComponent(pnlProgressBg, '{"BackgroundColor":"#444444", "RoundHeight":2}');
  pnlProgressFg = myform.AddNewProPanel(pnlProgressBg, 'pnlProgressFg_' + AId);
  pnlProgressFg.Align = alLeft; pnlProgressFg.Width = (myform.clWidth * AProgress) / 100;
  clComponent.SetupComponent(pnlProgressFg, '{"BackgroundColor":"' + AColor + '", "RoundHeight":2}');
}

{
  myform = TclStyleForm.Create(Self);
  myform.SetFormColor('#202020', '', clGNone); 

  pnlHideHeader = myform.AddNewProPanel(myform, 'pnlHideHeader');
  pnlHideHeader.Align = alTop; pnlHideHeader.Height = 80; pnlHideHeader.Margins.Top = -80;
  clComponent.SetupComponent(pnlHideHeader, '{"BackgroundColor":"#202020"}');  
  
  MainScrollBox = myform.AddNewVertScrollBox(myform, 'MainScrollBox');
  MainScrollBox.Align = alClient;

  TopLayout = myform.AddNewLayout(MainScrollBox, 'TopLayout');
  TopLayout.Align = alTop; TopLayout.Height = 75; TopLayout.Margins.Top = 20; TopLayout.Margins.Left = 20; TopLayout.Margins.Right = 20;
  pnlAvatar = myform.AddNewProPanel(TopLayout, 'pnlAvatar');
  pnlAvatar.Align = alRight; pnlAvatar.Width = 48; pnlAvatar.Height = 48;
  clComponent.SetupComponent(pnlAvatar, '{"BackgroundColor":"#1b5e20", "RoundHeight":24}'); 
  lblAvatar = myform.AddNewProLabel(pnlAvatar, 'lblAvatar', 'FD'); 
  lblAvatar.Align = alClient;
  clComponent.SetupComponent(lblAvatar, '{"TextColor":"#ffffff", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  lblHello = myform.AddNewProLabel(TopLayout, 'lblHello', 'Merhaba, Fatma');
  lblHello.Align = alTop; lblHello.Height = 28;
  clComponent.SetupComponent(lblHello, '{"TextColor":"#ffffff", "TextSize":22, "TextBold":true}');
  lblDate = myform.AddNewProLabel(TopLayout, 'lblDate', 'Yonetici - Nisan 2025');
  lblDate.Align = alTop; lblDate.Height = 20;
  clComponent.SetupComponent(lblDate, '{"TextColor":"#cccccc", "TextSize":12}');

  KPIGridLayout = myform.AddNewLayout(MainScrollBox, 'KPIGridLayout');
  KPIGridLayout.Align = alTop; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20;
  
  pnlRow1 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow1');
  pnlRow1.Align = alTop; pnlRow1.Height = 65; pnlRow1.Margins.Left = 20; pnlRow1.Margins.Right = 20; pnlRow1.Margins.Bottom = 10;
  pnlKPI1 = myform.AddNewProPanel(pnlRow1, 'pnlKPI1');
  pnlKPI1.Align = alLeft; pnlKPI1.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI1, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI1Title = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Title', 'Bekleyen onay');
  lblKPI1Title.Align = alTop; lblKPI1Title.Height = 22; lblKPI1Title.Margins.Left = 12; lblKPI1Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI1Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI1Value = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Value', '1');
  lblKPI1Value.Align = alTop; lblKPI1Value.Height = 24; lblKPI1Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI1Value, '{"TextColor":"#ff9800", "TextSize":20, "TextBold":true}');
  pnlKPI2 = myform.AddNewProPanel(pnlRow1, 'pnlKPI2');
  pnlKPI2.Align = alRight; pnlKPI2.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI2, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI2Title = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Title', 'Onaylanan');
  lblKPI2Title.Align = alTop; lblKPI2Title.Height = 22; lblKPI2Title.Margins.Left = 12; lblKPI2Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI2Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI2Value = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Value', '6');
  lblKPI2Value.Align = alTop; lblKPI2Value.Height = 24; lblKPI2Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI2Value, '{"TextColor":"#4CAF50", "TextSize":20, "TextBold":true}');
  
  pnlRow2 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow2');
  pnlRow2.Align = alTop; pnlRow2.Height = 65; pnlRow2.Margins.Left = 20; pnlRow2.Margins.Right = 20;
  pnlKPI3 = myform.AddNewProPanel(pnlRow2, 'pnlKPI3');
  pnlKPI3.Align = alLeft; pnlKPI3.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI3, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI3Title = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Title', 'Kritik stok');
  lblKPI3Title.Align = alTop; lblKPI3Title.Height = 22; lblKPI3Title.Margins.Left = 12; lblKPI3Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI3Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI3Value = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Value', '2 urun');
  lblKPI3Value.Align = alTop; lblKPI3Value.Height = 24; lblKPI3Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI3Value, '{"TextColor":"#f44336", "TextSize":20, "TextBold":true}');
  pnlKPI4 = myform.AddNewProPanel(pnlRow2, 'pnlKPI4');
  pnlKPI4.Align = alRight; pnlKPI4.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI4, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI4Title = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Title', 'Rezerve adet');
  lblKPI4Title.Align = alTop; lblKPI4Title.Height = 22; lblKPI4Title.Margins.Left = 12; lblKPI4Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI4Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI4Value = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Value', '18');
  lblKPI4Value.Align = alTop; lblKPI4Value.Height = 24; lblKPI4Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI4Value, '{"TextColor":"#2196F3", "TextSize":20, "TextBold":true}');

  TopCardsLayout = myform.AddNewLayout(MainScrollBox, 'TopCardsLayout');
  TopCardsLayout.Align = alTop; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Left = 20; TopCardsLayout.Margins.Right = 20; TopCardsLayout.Margins.Top = 10;
  pnlGelir = myform.AddNewProPanel(TopCardsLayout, 'pnlGelir');
  pnlGelir.Align = alLeft; pnlGelir.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlGelir, '{"BackgroundColor":"#e8f5e9", "RoundHeight":12}'); 
  lblGelirTitle = myform.AddNewProLabel(pnlGelir, 'lblGelirTitle', 'Net Gelir');
  lblGelirTitle.Align = alTop; lblGelirTitle.Height = 20; lblGelirTitle.Margins.Left = 16; lblGelirTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblGelirTitle, '{"TextColor":"#2e7d32", "TextSize":12, "TextBold":true}');
  lblGelirValue = myform.AddNewProLabel(pnlGelir, 'lblGelirValue', '63.300 TL');
  lblGelirValue.Align = alTop; lblGelirValue.Height = 30; lblGelirValue.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirValue, '{"TextColor":"#1b5e20", "TextSize":22, "TextBold":true}');
  lblGelirDesc = myform.AddNewProLabel(pnlGelir, 'lblGelirDesc', 'iade dusuldu');
  lblGelirDesc.Align = alTop; lblGelirDesc.Height = 18; lblGelirDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirDesc, '{"TextColor":"#388e3c", "TextSize":10}');
  pnlMaliyet = myform.AddNewProPanel(TopCardsLayout, 'pnlMaliyet');
  pnlMaliyet.Align = alRight; pnlMaliyet.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlMaliyet, '{"BackgroundColor":"#ffebee", "RoundHeight":12}'); 
  lblMaliyetTitle = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetTitle', 'Net Kar');
  lblMaliyetTitle.Align = alTop; lblMaliyetTitle.Height = 20; lblMaliyetTitle.Margins.Left = 16; lblMaliyetTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblMaliyetTitle, '{"TextColor":"#c62828", "TextSize":12, "TextBold":true}');
  lblMaliyetValue = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetValue', '+3.900 TL');
  lblMaliyetValue.Align = alTop; lblMaliyetValue.Height = 30; lblMaliyetValue.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetValue, '{"TextColor":"#b71c1c", "TextSize":22, "TextBold":true}');
  lblMaliyetDesc = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetDesc', 'marj %6');
  lblMaliyetDesc.Align = alTop; lblMaliyetDesc.Height = 18; lblMaliyetDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetDesc, '{"TextColor":"#d32f2f", "TextSize":10}');

  MiddleTabsLayout = myform.AddNewLayout(MainScrollBox, 'MiddleTabsLayout');
  MiddleTabsLayout.Align = alTop; MiddleTabsLayout.Height = 45; MiddleTabsLayout.Margins.Top = 20; MiddleTabsLayout.Margins.Left = 20; MiddleTabsLayout.Margins.Right = 20;
  btnMidBekleyen = myform.AddNewProButton(MiddleTabsLayout, 'btnMidBekleyen', 'Bekleyen');
  btnMidBekleyen.Align = alLeft; btnMidBekleyen.Width = (myform.clWidth - 40) / 3;
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"#333333", "TextColor":"#ffffff", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#777777", "BorderWidth":1}');
  myform.AddNewEvent(btnMidBekleyen, tbeOnClick, 'NavBekleyenClick');
  btnMidAnaliz = myform.AddNewProButton(MiddleTabsLayout, 'btnMidAnaliz', 'Analiz');
  btnMidAnaliz.Align = alLeft; btnMidAnaliz.Width = (myform.clWidth - 40) / 3; btnMidAnaliz.Margins.Left = 5;
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidAnaliz, tbeOnClick, 'NavAnalizClick');
  btnMidStok = myform.AddNewProButton(MiddleTabsLayout, 'btnMidStok', 'Stok');
  btnMidStok.Align = alLeft; btnMidStok.Width = (myform.clWidth - 40) / 3; btnMidStok.Margins.Left = 5;
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidStok, tbeOnClick, 'NavStokClick');

  CardsParentLayout = myform.AddNewLayout(MainScrollBox, 'CardsParentLayout');
  CardsParentLayout.Align = alTop; CardsParentLayout.Height = 600; CardsParentLayout.Visible = True;
  ListTitleLayout = myform.AddNewLayout(CardsParentLayout, 'ListTitleLayout');
  ListTitleLayout.Align = alTop; ListTitleLayout.Height = 35; ListTitleLayout.Margins.Top = 20; ListTitleLayout.Margins.Left = 20;
  lblListTitle = myform.AddNewProLabel(ListTitleLayout, 'lblListTitle', 'ONAY BEKLEYEN TALEPLER');
  lblListTitle.Align = alLeft; lblListTitle.Width = 300;
  clComponent.SetupComponent(lblListTitle, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  AddApprovalCard('1', 'U', '#fff3e0', '#e65100', 'USB-C Hub', 'Yeni Satis - 5 adet - 3.250 TL - Ahmet Y.', 'Toplu alim', 'Stok yetersiz! Net stok: 3 adet', '#ffebee');
  AddApprovalCard('2', 'K', '#e8f5e9', '#2e7d32', 'Mekanik Klavye', 'Stok Guncelleme - 10 adet - Zeynep K.', 'Depodan transfer', '', '');
  AddApprovalCard('3', 'W', '#f3e5f5', '#6a1b9a', 'Web Kamera HD', 'Yeni Satis - 4 adet - 4.800 TL - Ahmet Y.', '', '', '');

  ChartParentLayout = myform.AddNewLayout(MainScrollBox, 'ChartParentLayout');
  ChartParentLayout.Align = alTop; ChartParentLayout.Height = 0; //ChartParentLayout.Visible = False; 
  lblChartTitle = myform.AddNewProLabel(ChartParentLayout, 'lblChartTitle', 'GELİR / GİDER GRAFİĞİ');
  lblChartTitle.Align = alTop; lblChartTitle.Height = 50; lblChartTitle.Margins.Left = 20; lblChartTitle.Margins.Top = 20;
  clComponent.SetupComponent(lblChartTitle, '{"TextColor":"#ffffff", "TextSize":18, "TextBold":true}');
  chartRevenue = myform.AddNewChart(ChartParentLayout, 'chartRevenue', '');
  chartRevenue.Align = alTop; chartRevenue.Height = 280; chartRevenue.Margins.Left = 20; chartRevenue.Margins.Right = 20;
  chartRevenue.Charttype = clCBar;
  chartRevenue.XAxisText = 'Gun';
  chartRevenue.ChartItemText = 'Tip';
  chartRevenue.ChartItemsValue = 'Tutar';
  chartRevenue.clLoadDataFromJSONStr('[' +
    '{"Gun":"Pzt","Tutar":55,"Tip":"Gelir","color":"#aed581"},{"Gun":"Pzt","Tutar":42,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Sal","Tutar":38,"Tip":"Gelir","color":"#aed581"},{"Gun":"Sal","Tutar":28,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Car","Tutar":18,"Tip":"Gelir","color":"#aed581"},{"Gun":"Car","Tutar":14,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Per","Tutar":22,"Tip":"Gelir","color":"#aed581"},{"Gun":"Per","Tutar":17,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Cum","Tutar":19,"Tip":"Gelir","color":"#aed581"},{"Gun":"Cum","Tutar":15,"Tip":"Maliyet","color":"#ef9a9a"}]');

  StokParentLayout = myform.AddNewLayout(MainScrollBox, 'StokParentLayout');
  StokParentLayout.Align = alTop; StokParentLayout.Height = 0; //StokParentLayout.Visible = True; 
  StokTitleLayout = myform.AddNewLayout(StokParentLayout, 'StokTitleLayout');
  StokTitleLayout.Align = alTop; StokTitleLayout.Height = 35; StokTitleLayout.Margins.Top = 20; StokTitleLayout.Margins.Left = 20;
  lblStokTitle = myform.AddNewProLabel(StokTitleLayout, 'lblStokTitle', 'TÜM ÜRÜNLER');
  lblStokTitle.Align = alLeft; lblStokTitle.Width = 200;
  clComponent.SetupComponent(lblStokTitle, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  AddProductCard('1', 'L', 'Laptop Pro X1', 'Rezerve: 8 - 18.500 TL', '37', '#4CAF50', 70, False);
  AddProductCard('2', 'K', 'Mekanik Klavye', 'Rezerve: 3 - 1.850 TL', '9', '#FF9800', 40, False);
  AddProductCard('3', 'U', 'USB-C Hub', 'Rezerve: 5 - 650 TL', '3', '#f44336', 15, True);
  AddProductCard('4', 'M', 'Monitor 27"', 'Rezerve: 2 - 8.900 TL', '4', '#f44336', 20, True);
  AddProductCard('5', 'W', 'Web Kamera HD', 'Rezerve: 0 - 1.200 TL', '26', '#4CAF50', 55, False);

  myform.Run;
}



Ek olarak Bekleyen, Stok, Analiz butonlarına tıklandığında scroll yaptırılmak istenirse yorum satırı olarak atmış olduğum örnek koda ekleme yaptım kullanmak isterseniz.

 //MainScrollBox.ScrollTo(0,-410); // Tıklanıldığında açılan kısma scrollu kaydırır
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" 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">
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 858
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 3 Saat 44 Dakika Önce Saat 10:46
Tüm bileşenleri aynı kaydırma kutusu  içine align = altop şeklinde alt alta dizip, aralarından bazılarını gizleyip açtığında sistemin hizalama motoru sırayı karıştırır ve yeni açılan paneli en üste veya en alta atarak tasarımınızı bozabilir.

//uses uLib;

var
  myform: TclStyleForm;
  MainScrollBox: TClVertScrollBox;
  HeaderLayout, ContentLayout: TclLayout;
  TopLayout, TabsLayout, KPIGridLayout, TopCardsLayout: TclLayout;
  MiddleTabsLayout, ListTitleLayout, StokTitleLayout: TclLayout;
  pnlRow1, pnlRow2, pnlKPI1, pnlKPI2, pnlKPI3, pnlKPI4: TclProPanel;
  
  lblHello, lblDate: TclProLabel;
  pnlAvatar: TclProPanel;
  lblAvatar: TclProLabel;
  
  btnTabTemsilci, btnTabYonetici: TclProButton;
  
  lblKPI1Title, lblKPI1Value: TclProLabel;
  lblKPI2Title, lblKPI2Value: TclProLabel;
  lblKPI3Title, lblKPI3Value: TclProLabel;
  lblKPI4Title, lblKPI4Value: TclProLabel;
  
  pnlGelir, pnlMaliyet: TclProPanel;
  lblGelirTitle, lblGelirValue, lblGelirDesc: TclProLabel;
  lblMaliyetTitle, lblMaliyetValue, lblMaliyetDesc: TclProLabel;
  
  btnMidBekleyen, btnMidAnaliz, btnMidStok: TclProButton;
  lblListTitle, lblStokTitle, lblChartTitle: TclProLabel;
  pnlHideHeader: TclProPanel;
  
  CardsParentLayout, ChartParentLayout, StokParentLayout: TclLayout;
  chartRevenue: TclChart;

void SetView(ViewMode: Integer);
var
  c1, c2, c3, t1, t2, t3, b1, b2, b3: String;
{
  CardsParentLayout.Visible = False;
  ChartParentLayout.Visible = False;
  StokParentLayout.Visible = False;
  
  c1='#202020'; c2='#202020'; c3='#202020';
  t1='#aaaaaa'; t2='#aaaaaa'; t3='#aaaaaa';
  b1='#555555'; b2='#555555'; b3='#555555';
  
  if (ViewMode == 1) { CardsParentLayout.Visible = True; ContentLayout.Height = 600; c1='#333333'; t1='#ffffff'; b1='#777777'; }
  if (ViewMode == 2) { ChartParentLayout.Visible = True; ContentLayout.Height = 380; c2='#333333'; t2='#ffffff'; b2='#777777'; }
  if (ViewMode == 3) { StokParentLayout.Visible = True; ContentLayout.Height = 700; c3='#333333'; t3='#ffffff'; b3='#777777'; }
  
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"'+c1+'", "TextColor":"'+t1+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b1+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"'+c2+'", "TextColor":"'+t2+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b2+'", "BorderWidth":1}');
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"'+c3+'", "TextColor":"'+t3+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b3+'", "BorderWidth":1}');
}

void NavBekleyenClick; { SetView(1); }
void NavAnalizClick;   { SetView(2); }
void NavStokClick;     { SetView(3); }

void AddApprovalCard(AId: String; AIconChar: String; AIconBg: String; AIconColor: String; ATitle: String; ASubTitle: String; ADesc: String; AAlertText: String; AAlertColor: String);
var
  pnlCard, pnlAlert, pnlContent, pnlIconBox, pnlIcon, pnlText, pnlActions: TclProPanel;
  lblAlert, lblIcon, lblTitle, lblSubTitle, lblDesc: TclProLabel;
  btnOnayla, btnReddet: TclProButton;
{
  pnlCard = myform.AddNewProPanel(CardsParentLayout, 'pnlApprCard_' + AId);
  pnlCard.Align = alTop;
  if (AAlertText <> '') pnlCard.Height = 155; else pnlCard.Height = 125;
  pnlCard.Margins.Top = 15; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#252525", "RoundHeight":12, "BorderColor":"#3a3a3a", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  if (AAlertText <> '')
  {
    pnlAlert = myform.AddNewProPanel(pnlCard, 'pnlApprAlert_' + AId);
    pnlAlert.Align = alTop; pnlAlert.Height = 24;
    clComponent.SetupComponent(pnlAlert, '{"BackgroundColor":"' + AAlertColor + '", "RoundHeight":8}');
    lblAlert = myform.AddNewProLabel(pnlAlert, 'lblApprAlert_' + AId, AAlertText);
    lblAlert.Align = alClient; lblAlert.Margins.Left = 10;
    clComponent.SetupComponent(lblAlert, '{"TextColor":"#b71c1c", "TextSize":11, "TextBold":true, "TextVerticalAlign":"center"}');
  }
  
  pnlContent = myform.AddNewProPanel(pnlCard, 'pnlApprContent_' + AId);
  pnlContent.Align = alTop; pnlContent.Height = 70;
  pnlIconBox = myform.AddNewProPanel(pnlContent, 'pnlApprIconBox_' + AId);
  pnlIconBox.Align = alLeft; pnlIconBox.Width = 60;
  pnlIcon = myform.AddNewProPanel(pnlIconBox, 'pnlApprIcon_' + AId);
  pnlIcon.Align = alCenter; pnlIcon.Width = 36; pnlIcon.Height = 36;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"' + AIconBg + '", "RoundHeight":18}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblApprIconLabel_' + AId, AIconChar);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"' + AIconColor + '", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlText = myform.AddNewProPanel(pnlContent, 'pnlApprText_' + AId);
  pnlText.Align = alClient; pnlText.Margins.Top = 14;
  lblTitle = myform.AddNewProLabel(pnlText, 'lblApprTitle_' + AId, ATitle);
  lblTitle.Align = alTop; lblTitle.Height = 18;
  clComponent.SetupComponent(lblTitle, '{"TextColor":"#ffffff", "TextSize":13, "TextBold":true}');
  lblSubTitle = myform.AddNewProLabel(pnlText, 'lblApprSubTitle_' + AId, ASubTitle);
  lblSubTitle.Align = alTop; lblSubTitle.Height = 14;
  clComponent.SetupComponent(lblSubTitle, '{"TextColor":"#cccccc", "TextSize":10}');
  
  if (ADesc <> '') {
    lblDesc = myform.AddNewProLabel(pnlText, 'lblApprDesc_' + AId, '"' + ADesc + '"');
    lblDesc.Align = alTop; lblDesc.Height = 14;
    clComponent.SetupComponent(lblDesc, '{"TextColor":"#aaaaaa", "TextSize":10, "TextItalic":true}'); 
  }
  
  pnlActions = myform.AddNewProPanel(pnlCard, 'pnlApprActions_' + AId);
  pnlActions.Align = alBottom; pnlActions.Height = 36; pnlActions.Margins.Bottom = 8; pnlActions.Margins.Left = 8; pnlActions.Margins.Right = 8;
  btnOnayla = myform.AddNewProButton(pnlActions, 'btnOnayla_' + AId, 'Onayla');
  btnOnayla.Align = alLeft; btnOnayla.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(btnOnayla, '{"BackgroundColor":"#1b5e20", "TextColor":"#ffffff", "TextSize":12, "TextBold":true, "RoundHeight":8}');
  btnReddet = myform.AddNewProButton(pnlActions, 'btnReddet_' + AId, 'Reddet');
  btnReddet.Align = alClient; btnReddet.Margins.Left = 8;
  clComponent.SetupComponent(btnReddet, '{"BackgroundColor":"#252525", "TextColor":"#e53935", "TextSize":12, "TextBold":true, "BorderColor":"#e53935", "BorderWidth":1, "RoundHeight":8}');
}

void AddProductCard(AId: String; ALetter: String; AName: String; ADesc: String; ACount: String; AColor: String; AProgress: Integer; IsKritik: Boolean);
var
  pnlCard, pnlIcon, pnlCenter, pnlRight, pnlBadge, pnlProgressBg, pnlProgressFg: TclProPanel;
  lblIcon, lblName, lblDesc, lblCount, lblCountDesc, lblBadge: TclProLabel;
{
  pnlCard = myform.AddNewProPanel(StokParentLayout, 'pnlStokCard_' + AId);
  pnlCard.Align = alTop; pnlCard.Height = 100; pnlCard.Margins.Top = 12; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16;
  clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#2b2b2b", "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}');
  
  pnlIcon = myform.AddNewProPanel(pnlCard, 'pnlStokIconBox_' + AId);
  pnlIcon.Align = alLeft; pnlIcon.Width = 52; pnlIcon.Height = 52; pnlIcon.Margins.Left = 16; pnlIcon.Margins.Top = 24; pnlIcon.Margins.Bottom = 24;
  clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"#ffffff", "RoundHeight":12}');
  lblIcon = myform.AddNewProLabel(pnlIcon, 'lblStokIconLabel_' + AId, ALetter);
  lblIcon.Align = alClient;
  clComponent.SetupComponent(lblIcon, '{"TextColor":"#111111", "TextSize":18, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  
  pnlRight = myform.AddNewProPanel(pnlCard, 'pnlStokRight_' + AId);
  pnlRight.Align = alRight; pnlRight.Width = 70; pnlRight.Margins.Right = 16; pnlRight.Margins.Top = 20;
  lblCount = myform.AddNewProLabel(pnlRight, 'lblStokCount_' + AId, ACount);
  lblCount.Align = alTop; lblCount.Height = 24;
  clComponent.SetupComponent(lblCount, '{"TextColor":"' + AColor + '", "TextSize":20, "TextBold":true, "TextHorizontalAlign":"right"}');
  lblCountDesc = myform.AddNewProLabel(pnlRight, 'lblStokCountDesc_' + AId, 'net stok');
  lblCountDesc.Align = alTop; lblCountDesc.Height = 15;
  clComponent.SetupComponent(lblCountDesc, '{"TextColor":"#cccccc", "TextSize":11, "TextHorizontalAlign":"right"}');
  
  pnlCenter = myform.AddNewProPanel(pnlCard, 'pnlStokCenter_' + AId);
  pnlCenter.Align = alClient; pnlCenter.Margins.Left = 16; pnlCenter.Margins.Top = 18;
  lblName = myform.AddNewProLabel(pnlCenter, 'lblStokName_' + AId, AName);
  lblName.Align = alTop; lblName.Height = 22;
  clComponent.SetupComponent(lblName, '{"TextColor":"#ffffff", "TextSize":15, "TextBold":true}');
  
  if (IsKritik) {
    pnlBadge = myform.AddNewProPanel(lblName, 'pnlStokBadge_' + AId);
    pnlBadge.Align = alRight; pnlBadge.Width = 50; pnlBadge.Margins.Right = 20;
    clComponent.SetupComponent(pnlBadge, '{"BackgroundColor":"#ffebee", "RoundHeight":8}');
    lblBadge = myform.AddNewProLabel(pnlBadge, 'lblStokBadgeLabel_' + AId, 'Kritik');
    lblBadge.Align = alClient;
    clComponent.SetupComponent(lblBadge, '{"TextColor":"#c62828", "TextSize":10, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  }
  
  lblDesc = myform.AddNewProLabel(pnlCenter, 'lblStokDesc_' + AId, ADesc);
  lblDesc.Align = alTop; lblDesc.Height = 18;
  clComponent.SetupComponent(lblDesc, '{"TextColor":"#cccccc", "TextSize":11}');
  
  pnlProgressBg = myform.AddNewProPanel(pnlCenter, 'pnlProgressBg_' + AId);
  pnlProgressBg.Align = alTop; pnlProgressBg.Height = 4; pnlProgressBg.Margins.Top = 8; pnlProgressBg.Margins.Right = 20;
  clComponent.SetupComponent(pnlProgressBg, '{"BackgroundColor":"#444444", "RoundHeight":2}');
  pnlProgressFg = myform.AddNewProPanel(pnlProgressBg, 'pnlProgressFg_' + AId);
  pnlProgressFg.Align = alLeft; pnlProgressFg.Width = (myform.clWidth * AProgress) / 100;
  clComponent.SetupComponent(pnlProgressFg, '{"BackgroundColor":"' + AColor + '", "RoundHeight":2}');
}

{
  myform = TclStyleForm.Create(Self);
  myform.SetFormColor('#202020', '', clGNone); 

  pnlHideHeader = myform.AddNewProPanel(myform, 'pnlHideHeader');
  pnlHideHeader.Align = alTop; pnlHideHeader.Height = 80; pnlHideHeader.Margins.Top = -80;
  clComponent.SetupComponent(pnlHideHeader, '{"BackgroundColor":"#202020"}');  
  
  MainScrollBox = myform.AddNewVertScrollBox(myform, 'MainScrollBox');
  MainScrollBox.Align = alClient;

  HeaderLayout = myform.AddNewLayout(MainScrollBox, 'HeaderLayout');
  HeaderLayout.Align = alTop;
  HeaderLayout.Height = 470; 

  TopLayout = myform.AddNewLayout(HeaderLayout, 'TopLayout');
  TopLayout.Align = alTop; TopLayout.Height = 75; TopLayout.Margins.Top = 20; TopLayout.Margins.Left = 20; TopLayout.Margins.Right = 20;
  pnlAvatar = myform.AddNewProPanel(TopLayout, 'pnlAvatar');
  pnlAvatar.Align = alRight; pnlAvatar.Width = 48; pnlAvatar.Height = 48;
  clComponent.SetupComponent(pnlAvatar, '{"BackgroundColor":"#1b5e20", "RoundHeight":24}'); 
  lblAvatar = myform.AddNewProLabel(pnlAvatar, 'lblAvatar', 'FD'); 
  lblAvatar.Align = alClient;
  clComponent.SetupComponent(lblAvatar, '{"TextColor":"#ffffff", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}');
  lblHello = myform.AddNewProLabel(TopLayout, 'lblHello', 'Merhaba, Fatma');
  lblHello.Align = alTop; lblHello.Height = 28;
  clComponent.SetupComponent(lblHello, '{"TextColor":"#ffffff", "TextSize":22, "TextBold":true}');
  lblDate = myform.AddNewProLabel(TopLayout, 'lblDate', 'Yonetici - Nisan 2025');
  lblDate.Align = alTop; lblDate.Height = 20;
  clComponent.SetupComponent(lblDate, '{"TextColor":"#cccccc", "TextSize":12}');

  KPIGridLayout = myform.AddNewLayout(HeaderLayout, 'KPIGridLayout');
  KPIGridLayout.Align = alTop; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20;
  
  pnlRow1 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow1');
  pnlRow1.Align = alTop; pnlRow1.Height = 65; pnlRow1.Margins.Left = 20; pnlRow1.Margins.Right = 20; pnlRow1.Margins.Bottom = 10;
  pnlKPI1 = myform.AddNewProPanel(pnlRow1, 'pnlKPI1');
  pnlKPI1.Align = alLeft; pnlKPI1.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI1, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI1Title = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Title', 'Bekleyen onay');
  lblKPI1Title.Align = alTop; lblKPI1Title.Height = 22; lblKPI1Title.Margins.Left = 12; lblKPI1Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI1Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI1Value = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Value', '1');
  lblKPI1Value.Align = alTop; lblKPI1Value.Height = 24; lblKPI1Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI1Value, '{"TextColor":"#ff9800", "TextSize":20, "TextBold":true}');
  pnlKPI2 = myform.AddNewProPanel(pnlRow1, 'pnlKPI2');
  pnlKPI2.Align = alRight; pnlKPI2.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI2, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI2Title = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Title', 'Onaylanan');
  lblKPI2Title.Align = alTop; lblKPI2Title.Height = 22; lblKPI2Title.Margins.Left = 12; lblKPI2Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI2Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  lblKPI2Value = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Value', '6');
  lblKPI2Value.Align = alTop; lblKPI2Value.Height = 24; lblKPI2Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI2Value, '{"TextColor":"#4CAF50", "TextSize":20, "TextBold":true}');
  
  pnlRow2 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow2');
  pnlRow2.Align = alTop; pnlRow2.Height = 65; pnlRow2.Margins.Left = 20; pnlRow2.Margins.Right = 20;
  pnlKPI3 = myform.AddNewProPanel(pnlRow2, 'pnlKPI3');
  pnlKPI3.Align = alLeft; pnlKPI3.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI3, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI3Title = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Title', 'Kritik stok');
  lblKPI3Title.Align = alTop; lblKPI3Title.Height = 22; lblKPI3Title.Margins.Left = 12; lblKPI3Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI3Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI3Value = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Value', '2 urun');
  lblKPI3Value.Align = alTop; lblKPI3Value.Height = 24; lblKPI3Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI3Value, '{"TextColor":"#f44336", "TextSize":20, "TextBold":true}');
  pnlKPI4 = myform.AddNewProPanel(pnlRow2, 'pnlKPI4');
  pnlKPI4.Align = alRight; pnlKPI4.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlKPI4, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}');
  lblKPI4Title = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Title', 'Rezerve adet');
  lblKPI4Title.Align = alTop; lblKPI4Title.Height = 22; lblKPI4Title.Margins.Left = 12; lblKPI4Title.Margins.Top = 10;
  clComponent.SetupComponent(lblKPI4Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  lblKPI4Value = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Value', '18');
  lblKPI4Value.Align = alTop; lblKPI4Value.Height = 24; lblKPI4Value.Margins.Left = 12;
  clComponent.SetupComponent(lblKPI4Value, '{"TextColor":"#2196F3", "TextSize":20, "TextBold":true}');

  TopCardsLayout = myform.AddNewLayout(HeaderLayout, 'TopCardsLayout');
  TopCardsLayout.Align = alTop; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Left = 20; TopCardsLayout.Margins.Right = 20; TopCardsLayout.Margins.Top = 10;
  pnlGelir = myform.AddNewProPanel(TopCardsLayout, 'pnlGelir');
  pnlGelir.Align = alLeft; pnlGelir.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlGelir, '{"BackgroundColor":"#e8f5e9", "RoundHeight":12}'); 
  lblGelirTitle = myform.AddNewProLabel(pnlGelir, 'lblGelirTitle', 'Net Gelir');
  lblGelirTitle.Align = alTop; lblGelirTitle.Height = 20; lblGelirTitle.Margins.Left = 16; lblGelirTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblGelirTitle, '{"TextColor":"#2e7d32", "TextSize":12, "TextBold":true}');
  lblGelirValue = myform.AddNewProLabel(pnlGelir, 'lblGelirValue', '63.300 TL');
  lblGelirValue.Align = alTop; lblGelirValue.Height = 30; lblGelirValue.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirValue, '{"TextColor":"#1b5e20", "TextSize":22, "TextBold":true}');
  lblGelirDesc = myform.AddNewProLabel(pnlGelir, 'lblGelirDesc', 'iade dusuldu');
  lblGelirDesc.Align = alTop; lblGelirDesc.Height = 18; lblGelirDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblGelirDesc, '{"TextColor":"#388e3c", "TextSize":10}');
  pnlMaliyet = myform.AddNewProPanel(TopCardsLayout, 'pnlMaliyet');
  pnlMaliyet.Align = alRight; pnlMaliyet.Width = (myform.clWidth - 55) / 2;
  clComponent.SetupComponent(pnlMaliyet, '{"BackgroundColor":"#ffebee", "RoundHeight":12}'); 
  lblMaliyetTitle = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetTitle', 'Net Kar');
  lblMaliyetTitle.Align = alTop; lblMaliyetTitle.Height = 20; lblMaliyetTitle.Margins.Left = 16; lblMaliyetTitle.Margins.Top = 14;
  clComponent.SetupComponent(lblMaliyetTitle, '{"TextColor":"#c62828", "TextSize":12, "TextBold":true}');
  lblMaliyetValue = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetValue', '+3.900 TL');
  lblMaliyetValue.Align = alTop; lblMaliyetValue.Height = 30; lblMaliyetValue.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetValue, '{"TextColor":"#b71c1c", "TextSize":22, "TextBold":true}');
  lblMaliyetDesc = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetDesc', 'marj %6');
  lblMaliyetDesc.Align = alTop; lblMaliyetDesc.Height = 18; lblMaliyetDesc.Margins.Left = 16;
  clComponent.SetupComponent(lblMaliyetDesc, '{"TextColor":"#d32f2f", "TextSize":10}');

  MiddleTabsLayout = myform.AddNewLayout(HeaderLayout, 'MiddleTabsLayout');
  MiddleTabsLayout.Align = alTop; MiddleTabsLayout.Height = 45; MiddleTabsLayout.Margins.Top = 20; MiddleTabsLayout.Margins.Left = 20; MiddleTabsLayout.Margins.Right = 20;
  btnMidBekleyen = myform.AddNewProButton(MiddleTabsLayout, 'btnMidBekleyen', 'Bekleyen');
  btnMidBekleyen.Align = alLeft; btnMidBekleyen.Width = (myform.clWidth - 40) / 3;
  clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"#333333", "TextColor":"#ffffff", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#777777", "BorderWidth":1}');
  myform.AddNewEvent(btnMidBekleyen, tbeOnClick, 'NavBekleyenClick');
  btnMidAnaliz = myform.AddNewProButton(MiddleTabsLayout, 'btnMidAnaliz', 'Analiz');
  btnMidAnaliz.Align = alLeft; btnMidAnaliz.Width = (myform.clWidth - 40) / 3; btnMidAnaliz.Margins.Left = 5;
  clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidAnaliz, tbeOnClick, 'NavAnalizClick');
  btnMidStok = myform.AddNewProButton(MiddleTabsLayout, 'btnMidStok', 'Stok');
  btnMidStok.Align = alLeft; btnMidStok.Width = (myform.clWidth - 40) / 3; btnMidStok.Margins.Left = 5;
  clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}');
  myform.AddNewEvent(btnMidStok, tbeOnClick, 'NavStokClick');

  ContentLayout = myform.AddNewLayout(MainScrollBox, 'ContentLayout');
  ContentLayout.Align = alTop;
  ContentLayout.Height = 600;

  CardsParentLayout = myform.AddNewLayout(ContentLayout, 'CardsParentLayout');
  CardsParentLayout.Align = alClient;
  CardsParentLayout.Visible = True;
  
  ListTitleLayout = myform.AddNewLayout(CardsParentLayout, 'ListTitleLayout');
  ListTitleLayout.Align = alTop; ListTitleLayout.Height = 35; ListTitleLayout.Margins.Top = 20; ListTitleLayout.Margins.Left = 20;
  lblListTitle = myform.AddNewProLabel(ListTitleLayout, 'lblListTitle', 'ONAY BEKLEYEN TALEPLER');
  lblListTitle.Align = alLeft; lblListTitle.Width = 300;
  clComponent.SetupComponent(lblListTitle, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}');
  AddApprovalCard('1', 'U', '#fff3e0', '#e65100', 'USB-C Hub', 'Yeni Satis - 5 adet - 3.250 TL - Ahmet Y.', 'Toplu alim', 'Stok yetersiz! Net stok: 3 adet', '#ffebee');
  AddApprovalCard('2', 'K', '#e8f5e9', '#2e7d32', 'Mekanik Klavye', 'Stok Guncelleme - 10 adet - Zeynep K.', 'Depodan transfer', '', '');
  AddApprovalCard('3', 'W', '#f3e5f5', '#6a1b9a', 'Web Kamera HD', 'Yeni Satis - 4 adet - 4.800 TL - Ahmet Y.', '', '', '');

  ChartParentLayout = myform.AddNewLayout(ContentLayout, 'ChartParentLayout');
  ChartParentLayout.Align = alClient;
  ChartParentLayout.Visible = False;
  
  lblChartTitle = myform.AddNewProLabel(ChartParentLayout, 'lblChartTitle', 'GELİR / GİDER GRAFİĞİ');
  lblChartTitle.Align = alTop; lblChartTitle.Height = 50; lblChartTitle.Margins.Left = 20; lblChartTitle.Margins.Top = 20;
  clComponent.SetupComponent(lblChartTitle, '{"TextColor":"#ffffff", "TextSize":18, "TextBold":true}');
  chartRevenue = myform.AddNewChart(ChartParentLayout, 'chartRevenue', '');
  chartRevenue.Align = alTop; chartRevenue.Height = 280; chartRevenue.Margins.Left = 20; chartRevenue.Margins.Right = 20;
  chartRevenue.Charttype = clCBar;
  chartRevenue.XAxisText = 'Gun';
  chartRevenue.ChartItemText = 'Tip';
  chartRevenue.ChartItemsValue = 'Tutar';
  chartRevenue.clLoadDataFromJSONStr('[' +
    '{"Gun":"Pzt","Tutar":55,"Tip":"Gelir","color":"#aed581"},{"Gun":"Pzt","Tutar":42,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Sal","Tutar":38,"Tip":"Gelir","color":"#aed581"},{"Gun":"Sal","Tutar":28,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Car","Tutar":18,"Tip":"Gelir","color":"#aed581"},{"Gun":"Car","Tutar":14,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Per","Tutar":22,"Tip":"Gelir","color":"#aed581"},{"Gun":"Per","Tutar":17,"Tip":"Maliyet","color":"#ef9a9a"},' +
    '{"Gun":"Cum","Tutar":19,"Tip":"Gelir","color":"#aed581"},{"Gun":"Cum","Tutar":15,"Tip":"Maliyet","color":"#ef9a9a"}]');

  StokParentLayout = myform.AddNewLayout(ContentLayout, 'StokParentLayout');
  StokParentLayout.Align = alClient;
  StokParentLayout.Visible = False;
  
  StokTitleLayout = myform.AddNewLayout(StokParentLayout, 'StokTitleLayout');
  StokTitleLayout.Align = alTop; StokTitleLayout.Height = 35; StokTitleLayout.Margins.Top = 20; StokTitleLayout.Margins.Left = 20;
  lblStokTitle = myform.AddNewProLabel(StokTitleLayout, 'lblStokTitle', 'TÜM ÜRÜNLER');
  lblStokTitle.Align = alLeft; lblStokTitle.Width = 200;
  clComponent.SetupComponent(lblStokTitle, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}');
  AddProductCard('1', 'L', 'Laptop Pro X1', 'Rezerve: 8 - 18.500 TL', '37', '#4CAF50', 70, False);
  AddProductCard('2', 'K', 'Mekanik Klavye', 'Rezerve: 3 - 1.850 TL', '9', '#FF9800', 40, False);
  AddProductCard('3', 'U', 'USB-C Hub', 'Rezerve: 5 - 650 TL', '3', '#f44336', 15, True);
  AddProductCard('4', 'M', 'Monitor 27"', 'Rezerve: 2 - 8.900 TL', '4', '#f44336', 20, True);
  AddProductCard('5', 'W', 'Web Kamera HD', 'Rezerve: 0 - 1.200 TL', '26', '#4CAF50', 55, False);

  myform.Run;
}



Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,047 Saniyede Yüklendi.