Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
klavuz çizgisi
#1
   
fotoğraftaki gibi klavuz çizgileri nasıl yapabilirim panelin en üstte olacak şekilde
Cevapla
#2
renklendirme önemli değilse bevel bileşeni ile yapılabilir.
Cevapla
#3
(01-07-2018, Saat: 08:46)murtishow76 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.fotoğraftaki gibi klavuz çizgileri nasıl yapabilirim panelin en üstte olacak şekilde

Senin İçin Dikey Olarak Yaptım. Yatayları Sen Yap. Sürükleme Şeklinde değişiyor konum.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.



GDRPvV.png

unit Unit1;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Panel1: TPanel;
   procedure Button1Click(Sender: TObject);
 private
   procedure LMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure LMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure LMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
implementation
 uses Line;
{$R *.dfm}


procedure TForm1.LMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if TLine(Sender).LDragging then
 begin
   TLine(Sender).Left := TLine(Sender).LStartingLocation.X + (Mouse.CursorPos.X - TLine(Sender).LMouseDownLocation.X);
//    ShowMessage(TLine(Sender).Left.ToString);
   TLine(Sender).Invalidate;
 end;
end;

procedure TForm1.LMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 TLine(Sender).LDragging := true;
 TLine(Sender).LMouseDownLocation := Mouse.CursorPos;
 TLine(Sender).LStartingLocation := TPoint.Create(TLine(Sender).Left, TLine(Sender).Top);
end;

procedure TForm1.LMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 TLine(Sender).LDragging := false;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
 L   : TLine;
 L2  : TLine;
 Pn : TPen;
begin
 Pn         := TPen.Create;
 Pn.Color   := clGreen;
 Pn.Width   := 3;
 L          := TLine.Create(Panel1);
 L.Parent   := Panel1;
 L.Angle    := 90;
 L.Height   := Panel1.Height;
 L.Pen      := Pn;
 L.OnMouseDown := LMouseDown;
 L.OnMouseMove := LMouseMove;
 L.OnMouseUp := LMouseUp;
 L2          := TLine.Create(Panel1);
 L2.Parent   := Panel1;
 L2.Angle    := 90;
 L2.Height   := Panel1.Height;
 L2.Pen      := Pn;
 L2.OnMouseDown := LMouseDown;
 L2.OnMouseMove := LMouseMove;
 L2.OnMouseUp := LMouseUp;
 L2.Left     := 20;
//  L.le
end;

end.

unit Line;

interface

uses
 Windows, Classes, Controls, Graphics, StdCtrls, Math;

type
 TLine = class(TGraphicControl)
 private
   FAlignment: TAlignment;
   FAngle: Integer;
   FAutoAngle: Boolean;
   FLayout: TTextLayout;
   FPen: TPen;
   FLMouseDownLocation: TPoint;
   FLStartingLocation: TPoint;
   FLDragging: boolean;
   function DiagonalAngle: Integer;
   function GetBackwards: Boolean;
   function GetExtends(LimitWidth, LimitHeight: Integer): TRect;
   procedure PenChanged(Sender: TObject);
   procedure SetAlignment(Value: TAlignment);
   procedure SetAngle(Value: Integer);
   procedure SetAutoAngle(Value: Boolean);
   procedure SetBackwards(Value: Boolean);
   procedure SetLayout(Value: TTextLayout);
   procedure SetPen(Value: TPen);
   procedure SetLDragging(const Value: boolean);
   procedure SetLMouseDownLocation(const Value: TPoint);
   procedure SetLStartingLocation(const Value: TPoint);
 protected
   procedure AdjustSize; override;
   function CanAutoSize(var NewWidth, NewHeight: Integer): Boolean; override;
   procedure Paint; override;
   procedure Resize; override;
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 published
   property LDragging : boolean read FLDragging write SetLDragging;
   property LMouseDownLocation : TPoint read FLMouseDownLocation write SetLMouseDownLocation;
   property LStartingLocation : TPoint read FLStartingLocation write SetLStartingLocation;
   property Align;
   property Alignment: TAlignment read FAlignment write SetAlignment
     default taCenter;
   property Anchors;
   property Angle: Integer read FAngle write SetAngle;
   property AutoAngle: Boolean read FAutoAngle write SetAutoAngle
     default True;
   property AutoSize;
   property Backwards: Boolean read GetBackwards write SetBackwards
     stored False;
   property Constraints;
   property DragCursor;
   property DragKind;
   property DragMode;
   property Enabled;
   property Layout: TTextLayout read FLayout write SetLayout default tlCenter;
   property OnContextPopup;
   property OnDragDrop;
   property OnDragOver;
   property OnEndDock;
   property OnEndDrag;
   property OnMouseDown;
   property OnMouseMove;
   property OnMouseUp;
   property OnStartDock;
   property OnStartDrag;
   property ParentShowHint;
   property Pen: TPen read FPen write SetPen;
   property ShowHint;
   property Visible;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents('Samples', [TLine]);
end;

{ TLine }

procedure TLine.AdjustSize;
begin
 if AutoSize then
   FAutoAngle := False;
 inherited AdjustSize;
end;

function TLine.CanAutoSize(var NewWidth, NewHeight: Integer): Boolean;
begin
 with GetExtends(NewWidth, NewHeight) do
 begin
   NewWidth := Right;
   NewHeight := Bottom;
 end;
 Result := True;
end;

constructor TLine.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 ControlStyle := ControlStyle + [csReplicatable];
 Width := 65;
 Height := 65;
 FPen := TPen.Create;
 FPen.OnChange := PenChanged;
 FAlignment := taCenter;
 FLayout := tlCenter;
 FAutoAngle := True;
end;

destructor TLine.Destroy;
begin
 FPen.Free;
 inherited Destroy;
end;

function TLine.DiagonalAngle: Integer;
begin
 if Width = FPen.Width then
   Result := 90
 else if Height = FPen.Width then
   Result := 0
 else
   if Backwards then
     Result := 180 - Round(RadToDeg(ArcTan(Height / Width)))
   else
     Result := Round(RadToDeg(ArcTan(Height / Width)));
end;

function TLine.GetBackwards: Boolean;
begin
 Result := FAngle > 90;
end;

function TLine.GetExtends(LimitWidth, LimitHeight: Integer): TRect;
begin
 Result.Left := 0;
 Result.Top := 0;
 if FAngle = 0 then
 begin
   Result.Right := LimitWidth;
   Result.Bottom := FPen.Width;
 end
 else if FAngle = 90 then
 begin
   Result.Right := FPen.Width;
   Result.Bottom := LimitHeight;
 end
 else
 begin
   Result.Right := Min(LimitWidth,
     Round(LimitHeight / Abs(Tan(DegToRad(FAngle)))));
   Result.Bottom := Min(LimitHeight,
     Round(LimitWidth * Abs(Tan(DegToRad(FAngle)))));
 end;
end;

procedure TLine.Paint;
var
 R: TRect;
begin
 Canvas.Pen.Assign(FPen);
 Canvas.Brush.Style := bsClear;
 R := GetExtends(Width, Height);
 case FAlignment of
   taCenter:
     OffsetRect(R, (Width - R.Right) div 2, 0);
   taRightJustify:
     OffsetRect(R, Width - R.Right, 0);
 end;
 case FLayout of
   tlCenter:
     OffsetRect(R, 0, (Height - R.Bottom) div 2);
   tlBottom:
     OffsetRect(R, 0, Height - R.Bottom);
 end;
 if FAngle = 0 then
 begin
   Canvas.MoveTo(R.Left, R.Top + FPen.Width div 2);
   Canvas.LineTo(R.Right, R.Top + FPen.Width div 2);
 end
 else if FAngle = 90 then
 begin
   Canvas.MoveTo(R.Left + FPen.Width div 2, R.Top);
   Canvas.LineTo(R.Left + FPen.Width div 2, R.Bottom);
 end
 else if FAngle < 90 then
 begin
   Canvas.MoveTo(R.Left, R.Bottom);
   Canvas.LineTo(R.Right, R.Top);
 end
 else
 begin
   Canvas.MoveTo(R.Left, R.Top);
   Canvas.LineTo(R.Right, R.Bottom);
 end;
end;

procedure TLine.PenChanged(Sender: TObject);
begin
 AdjustSize;
 Invalidate;
end;

procedure TLine.Resize;
begin
 if FAutoAngle then
   Angle := DiagonalAngle;
 inherited Resize;
end;

procedure TLine.SetAlignment(Value: TAlignment);
begin
 if FAlignment <> Value then
 begin
   FAlignment := Value;
   Invalidate;
 end;
end;

procedure TLine.SetAngle(Value: Integer);
begin
 while Value < 0 do
   Inc(Value, 180);
 while Value >= 180 do
   Dec(Value, 180);
 if FAngle <> Value then
 begin
   FAngle := Value;
   if FAngle <> DiagonalAngle then
     FAutoAngle := False;
   if AutoSize then
     AdjustSize;
   Invalidate;
 end;
end;

procedure TLine.SetAutoAngle(Value: Boolean);
begin
 if FAutoAngle <> Value then
 begin
   FAutoAngle := Value;
   if FAutoAngle then
   begin
     AutoSize := False;
     Angle := DiagonalAngle;
   end;
 end;
end;

procedure TLine.SetBackwards(Value: Boolean);
begin
 if Backwards <> Value then
   Angle := 180 - FAngle;
end;

procedure TLine.SetLayout(Value: TTextLayout);
begin
 if FLayout <> Value then
 begin
   FLayout := Value;
   Invalidate;
 end;
end;

procedure TLine.SetLDragging(const Value: boolean);
begin
 FLDragging := Value;
end;

procedure TLine.SetLMouseDownLocation(const Value: TPoint);
begin
 FLMouseDownLocation := Value;
end;

procedure TLine.SetLStartingLocation(const Value: TPoint);
begin
 FLStartingLocation := Value;
end;

procedure TLine.SetPen(Value: TPen);
begin
 FPen.Assign(Value);
end;

end.
Cevapla
#4
(01-07-2018, Saat: 13:11)narkotik Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(01-07-2018, Saat: 08:46)murtishow76 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.fotoğraftaki gibi klavuz çizgileri nasıl yapabilirim panelin en üstte olacak şekilde

Senin İçin Dikey Olarak Yaptım. Yatayları Sen Yap. Sürükleme Şeklinde değişiyor konum.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.



GDRPvV.png

unit Unit1;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Panel1: TPanel;
   procedure Button1Click(Sender: TObject);
 private
   procedure LMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure LMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure LMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
implementation
 uses Line;
{$R *.dfm}


procedure TForm1.LMouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
 if TLine(Sender).LDragging then
 begin
   TLine(Sender).Left := TLine(Sender).LStartingLocation.X + (Mouse.CursorPos.X - TLine(Sender).LMouseDownLocation.X);
//    ShowMessage(TLine(Sender).Left.ToString);
   TLine(Sender).Invalidate;
 end;
end;

procedure TForm1.LMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 TLine(Sender).LDragging := true;
 TLine(Sender).LMouseDownLocation := Mouse.CursorPos;
 TLine(Sender).LStartingLocation := TPoint.Create(TLine(Sender).Left, TLine(Sender).Top);
end;

procedure TForm1.LMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 TLine(Sender).LDragging := false;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
 L   : TLine;
 L2  : TLine;
 Pn : TPen;
begin
 Pn         := TPen.Create;
 Pn.Color   := clGreen;
 Pn.Width   := 3;
 L          := TLine.Create(Panel1);
 L.Parent   := Panel1;
 L.Angle    := 90;
 L.Height   := Panel1.Height;
 L.Pen      := Pn;
 L.OnMouseDown := LMouseDown;
 L.OnMouseMove := LMouseMove;
 L.OnMouseUp := LMouseUp;
 L2          := TLine.Create(Panel1);
 L2.Parent   := Panel1;
 L2.Angle    := 90;
 L2.Height   := Panel1.Height;
 L2.Pen      := Pn;
 L2.OnMouseDown := LMouseDown;
 L2.OnMouseMove := LMouseMove;
 L2.OnMouseUp := LMouseUp;
 L2.Left     := 20;
//  L.le
end;

end.

unit Line;

interface

uses
 Windows, Classes, Controls, Graphics, StdCtrls, Math;

type
 TLine = class(TGraphicControl)
 private
   FAlignment: TAlignment;
   FAngle: Integer;
   FAutoAngle: Boolean;
   FLayout: TTextLayout;
   FPen: TPen;
   FLMouseDownLocation: TPoint;
   FLStartingLocation: TPoint;
   FLDragging: boolean;
   function DiagonalAngle: Integer;
   function GetBackwards: Boolean;
   function GetExtends(LimitWidth, LimitHeight: Integer): TRect;
   procedure PenChanged(Sender: TObject);
   procedure SetAlignment(Value: TAlignment);
   procedure SetAngle(Value: Integer);
   procedure SetAutoAngle(Value: Boolean);
   procedure SetBackwards(Value: Boolean);
   procedure SetLayout(Value: TTextLayout);
   procedure SetPen(Value: TPen);
   procedure SetLDragging(const Value: boolean);
   procedure SetLMouseDownLocation(const Value: TPoint);
   procedure SetLStartingLocation(const Value: TPoint);
 protected
   procedure AdjustSize; override;
   function CanAutoSize(var NewWidth, NewHeight: Integer): Boolean; override;
   procedure Paint; override;
   procedure Resize; override;
 public
   constructor Create(AOwner: TComponent); override;
   destructor Destroy; override;
 published
   property LDragging : boolean read FLDragging write SetLDragging;
   property LMouseDownLocation : TPoint read FLMouseDownLocation write SetLMouseDownLocation;
   property LStartingLocation : TPoint read FLStartingLocation write SetLStartingLocation;
   property Align;
   property Alignment: TAlignment read FAlignment write SetAlignment
     default taCenter;
   property Anchors;
   property Angle: Integer read FAngle write SetAngle;
   property AutoAngle: Boolean read FAutoAngle write SetAutoAngle
     default True;
   property AutoSize;
   property Backwards: Boolean read GetBackwards write SetBackwards
     stored False;
   property Constraints;
   property DragCursor;
   property DragKind;
   property DragMode;
   property Enabled;
   property Layout: TTextLayout read FLayout write SetLayout default tlCenter;
   property OnContextPopup;
   property OnDragDrop;
   property OnDragOver;
   property OnEndDock;
   property OnEndDrag;
   property OnMouseDown;
   property OnMouseMove;
   property OnMouseUp;
   property OnStartDock;
   property OnStartDrag;
   property ParentShowHint;
   property Pen: TPen read FPen write SetPen;
   property ShowHint;
   property Visible;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents('Samples', [TLine]);
end;

{ TLine }

procedure TLine.AdjustSize;
begin
 if AutoSize then
   FAutoAngle := False;
 inherited AdjustSize;
end;

function TLine.CanAutoSize(var NewWidth, NewHeight: Integer): Boolean;
begin
 with GetExtends(NewWidth, NewHeight) do
 begin
   NewWidth := Right;
   NewHeight := Bottom;
 end;
 Result := True;
end;

constructor TLine.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 ControlStyle := ControlStyle + [csReplicatable];
 Width := 65;
 Height := 65;
 FPen := TPen.Create;
 FPen.OnChange := PenChanged;
 FAlignment := taCenter;
 FLayout := tlCenter;
 FAutoAngle := True;
end;

destructor TLine.Destroy;
begin
 FPen.Free;
 inherited Destroy;
end;

function TLine.DiagonalAngle: Integer;
begin
 if Width = FPen.Width then
   Result := 90
 else if Height = FPen.Width then
   Result := 0
 else
   if Backwards then
     Result := 180 - Round(RadToDeg(ArcTan(Height / Width)))
   else
     Result := Round(RadToDeg(ArcTan(Height / Width)));
end;

function TLine.GetBackwards: Boolean;
begin
 Result := FAngle > 90;
end;

function TLine.GetExtends(LimitWidth, LimitHeight: Integer): TRect;
begin
 Result.Left := 0;
 Result.Top := 0;
 if FAngle = 0 then
 begin
   Result.Right := LimitWidth;
   Result.Bottom := FPen.Width;
 end
 else if FAngle = 90 then
 begin
   Result.Right := FPen.Width;
   Result.Bottom := LimitHeight;
 end
 else
 begin
   Result.Right := Min(LimitWidth,
     Round(LimitHeight / Abs(Tan(DegToRad(FAngle)))));
   Result.Bottom := Min(LimitHeight,
     Round(LimitWidth * Abs(Tan(DegToRad(FAngle)))));
 end;
end;

procedure TLine.Paint;
var
 R: TRect;
begin
 Canvas.Pen.Assign(FPen);
 Canvas.Brush.Style := bsClear;
 R := GetExtends(Width, Height);
 case FAlignment of
   taCenter:
     OffsetRect(R, (Width - R.Right) div 2, 0);
   taRightJustify:
     OffsetRect(R, Width - R.Right, 0);
 end;
 case FLayout of
   tlCenter:
     OffsetRect(R, 0, (Height - R.Bottom) div 2);
   tlBottom:
     OffsetRect(R, 0, Height - R.Bottom);
 end;
 if FAngle = 0 then
 begin
   Canvas.MoveTo(R.Left, R.Top + FPen.Width div 2);
   Canvas.LineTo(R.Right, R.Top + FPen.Width div 2);
 end
 else if FAngle = 90 then
 begin
   Canvas.MoveTo(R.Left + FPen.Width div 2, R.Top);
   Canvas.LineTo(R.Left + FPen.Width div 2, R.Bottom);
 end
 else if FAngle < 90 then
 begin
   Canvas.MoveTo(R.Left, R.Bottom);
   Canvas.LineTo(R.Right, R.Top);
 end
 else
 begin
   Canvas.MoveTo(R.Left, R.Top);
   Canvas.LineTo(R.Right, R.Bottom);
 end;
end;

procedure TLine.PenChanged(Sender: TObject);
begin
 AdjustSize;
 Invalidate;
end;

procedure TLine.Resize;
begin
 if FAutoAngle then
   Angle := DiagonalAngle;
 inherited Resize;
end;

procedure TLine.SetAlignment(Value: TAlignment);
begin
 if FAlignment <> Value then
 begin
   FAlignment := Value;
   Invalidate;
 end;
end;

procedure TLine.SetAngle(Value: Integer);
begin
 while Value < 0 do
   Inc(Value, 180);
 while Value >= 180 do
   Dec(Value, 180);
 if FAngle <> Value then
 begin
   FAngle := Value;
   if FAngle <> DiagonalAngle then
     FAutoAngle := False;
   if AutoSize then
     AdjustSize;
   Invalidate;
 end;
end;

procedure TLine.SetAutoAngle(Value: Boolean);
begin
 if FAutoAngle <> Value then
 begin
   FAutoAngle := Value;
   if FAutoAngle then
   begin
     AutoSize := False;
     Angle := DiagonalAngle;
   end;
 end;
end;

procedure TLine.SetBackwards(Value: Boolean);
begin
 if Backwards <> Value then
   Angle := 180 - FAngle;
end;

procedure TLine.SetLayout(Value: TTextLayout);
begin
 if FLayout <> Value then
 begin
   FLayout := Value;
   Invalidate;
 end;
end;

procedure TLine.SetLDragging(const Value: boolean);
begin
 FLDragging := Value;
end;

procedure TLine.SetLMouseDownLocation(const Value: TPoint);
begin
 FLMouseDownLocation := Value;
end;

procedure TLine.SetLStartingLocation(const Value: TPoint);
begin
 FLStartingLocation := Value;
end;

procedure TLine.SetPen(Value: TPen);
begin
 FPen.Assign(Value);
end;

end.

emek vermişsiniz çok teşekkür ederim ancak t panele bir şey eklendiğinde çizgiler allta kalıyor yani çizgi her daim üstte olması lazım
Cevapla
#5
BringtoFront yaparsanız çözülür
Cevapla
#6
(01-07-2018, Saat: 18:51)narkotik Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.BringtoFront yaparsanız çözülür

çözülmedi
Cevapla
#7
Şuan deneme şansım yok fakat tahminimce TGraphicControlden türediği için aynı panel içerisinde nesnelerde bringtofront çalışmaz. BringttoFront ve SendtoBack için nesneler farklı paneller içerisinde kullanılmalı diye hatırlıyorum. Panelin bringtofront oynanmalı.
Cevapla
#8
(01-07-2018, Saat: 20:06)narkotik Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Şuan deneme şansım yok fakat tahminimce TGraphicControlden türediği için aynı panel içerisinde nesnelerde bringtofront çalışmaz. BringttoFront ve SendtoBack için nesneler farklı paneller içerisinde kullanılmalı diye hatırlıyorum. Panelin bringtofront oynanmalı.

KONUYLA İLGİLİ guideline diye hiç bir bilgi bulamadım nette
Cevapla
#9
ben eskiden tshape kullanarak yapmıştım.
Topluluk mopluluk yok :/
Cevapla
#10
herhangi bir controle  çizgi çizmek basit lakin çizdiğimiz kontrol diğer kontrolllerin en üstünde seffaf olacak ve altındaki kontroller kullanılabilir olacak

kafayı yememe az kaldı hemen hemen grafikle ilgili her programda bu klavuz çizgileri mevcut ama delphi ile kaynak yok nerede yanlış yapıyorum (arıyorum) bilemedim üstadlardan bu konuda yardım istiyorum....
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi