(23-02-2023, 02:37 PM)salah07230 كتب : السلام عليكم
اين اجد هذا المكون
عبارة عن كمبوبوكس مع الهيدر
وشكرا
وعليك السلام
على ما أعتقد هي مكونات edit الخاصة بـAlphaControls هو مكون خاص بـ skin يوجد معاه مكونات edit بالنسبة للإقونات يعمل معها مكون اخر إسمه sCharImageList خاص بقراءة الرموز الموجودة في أنواع من الخطوط مثل Font Awesome و توجد خطوط إحتارفية مثل Font Awesome Pro يعتمد عليها خاصة أصحاب مواقع الانترنت لأن لها مزايا عدة
مثال : هذه صورة من برنامج عملت عليه
اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
ماذا تقصد بالهيدركمبوبوكس
اذا كنت تقصد الشريط الازرق الذي يجمع الادوات فهذا عبارة عن Panel اعتقد ستجد له خاصية اظهار Title له
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة1 user says Thank You to Delphi4Us for this post • salah07230
الادوات التي ذكرها لك الاخ فوق فيها الاداة واعتقد هي الـ Panel او GroubPanel لا اذكر ابحث عنها في الادوات وابحث بخصائصها
ملاحظة وهي لا تتبع الكمبوبكس وانما panel تم وضع الادوات تلك بداخلها
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة1 user says Thank You to Delphi4Us for this post • salah07230
قمت بالتعديل عليه ليتسنى استعماله بطرية سهلة ,,,,
المهم يجب دائما اضافة CustomCaptionPanel بعد ExtCtrls حتى يتم تحويل Panel العادي الى هذا النوع الجديد
انظر الى الملف المرفق,,,
كود :
unit CustomCaptionPanel;
interface
uses
Windows, SysUtils, Classes, Controls, Graphics, ExtCtrls;
type
TPanel = class(ExtCtrls.TPanel)
private
FEnableHeader :boolean;
{ Private declarations }
FBorderColor: TColor;
FBorderRadius: integer;
procedure SetBorderColor(BorderColor: TColor);
procedure SetBorderRadius(BorderRadius: integer);
procedure SetEnableHeader(const Value: boolean);
protected
{ Protected declarations }
procedure Paint; override;
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
property BorderColor: TColor read FBorderColor write SetBorderColor;
property BorderRadius: integer read FBorderRadius write SetBorderRadius;
property EnableHeader:boolean read FEnableHeader write SetEnableHeader;
end;
implementation
{ TCustomCaptionPanel }
constructor TPanel.Create(AOwner: TComponent);
begin
inherited;
FBorderColor := $0033CCFF;;
FBorderRadius := 16;
end;
procedure TPanel.Paint;
var
r: TRect;
const
Alignments: array[TAlignment] of integer = (DT_LEFT, DT_RIGHT, DT_CENTER);
begin
if not FEnableHeader then
begin
inherited;
Exit;
end;
Canvas.Pen.Color := FBorderColor;
Canvas.Brush.Color := FBorderColor;
Canvas.Brush.Style := bsSolid;
Canvas.FillRect(Rect(FBorderRadius,
0,
ClientWidth - FBorderRadius,
FBorderRadius));
Canvas.Ellipse(Rect(0,
0,
2*FBorderRadius,
2*FBorderRadius));
Canvas.Ellipse(Rect(ClientWidth - 2*FBorderRadius,
0,
ClientWidth,
2*FBorderRadius));
Canvas.Brush.Color := Color;
Canvas.Rectangle(Rect(0,
FBorderRadius,
ClientWidth,
ClientHeight));
Canvas.Font.Assign(Self.Font);
r := Rect(FBorderRadius, 0, ClientWidth - FBorderRadius, FBorderRadius);
Canvas.Brush.Style := bsClear;
DrawText(Canvas.Handle,
PChar(Caption),
length(Caption),
r,
DT_SINGLELINE or DT_LEFT or DT_VCENTER or DT_END_ELLIPSIS or Alignments[Alignment]);
end;
procedure TPanel.SetBorderColor(BorderColor: TColor);
begin
if FBorderColor <> BorderColor then
begin
FBorderColor := BorderColor;
Invalidate;
end;
end;
procedure TPanel.SetBorderRadius(BorderRadius: integer);
begin
if FBorderRadius <> BorderRadius then
begin
FBorderRadius := BorderRadius;
Invalidate;
end;
end;
procedure TPanel.SetEnableHeader(const Value: boolean);
begin
FEnableHeader := Value;
if FEnableHeader then
BevelOuter :=bvNone
else
BevelOuter :=bvRaised;
Invalidate;
end;
end.
كل من 1 user says قال شكرا ل Ndagor على المشاركة المفيدة1 user says Thank You to Ndagor for this post • salah07230