من الآن فصاعداً تحكم بشكل كامل بنماذج الدلفي كما تفعل الشركات الكبيرة أنظر الصور المرفقة وحمل المثال المرفق في المرفقات ((مشروع دلفي+ملف تنفيذي))+كود
نظراً لورود بعض الاسئلة في هذالمنتدى أردت الإجابة عليها بهذا الموضوع
أولاً:تخلص من نموذجك وأبقي الأزرار فقط
إذا استفدت من هذا الموضوع الرجاء الدعاء لأبي وأمي وإخوتي ومديرتي"اللهم وفقهم واهديهم جميعاً"شكراً لك
حمل المرفقات سأقوم بإدراج
وهذا كود نموذج الوحدة
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, ComCtrls;
TForm3 = class(TForm)
Button1: TButton;
Button2: TButton;
ScrollBar1: TScrollBar;
Label1: TLabel;
Edit1: TEdit;
Button3: TButton;
Image1: TImage;
Button4: TButton;
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
procedure ScrollBar1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
var
region1, region2: hrgn;
begin
region1 := CreateRectRgn(0, 0, Width, Height);
region2 := CreateEllipticRgn(0, 0, Width, Height);
CombineRgn(region1, region1, region2, RGN_DIFF);
SetWindowRgn(Handle, region1, True);
end;
procedure TForm3.Button2Click(Sender: TObject);
var
MyRgn, ClientRgn, ButtonRgn2,ButtonRgn4: THandle;
Margin, X, Y: Integer;
begin
BorderStyle:=bsNone;
Margin := (Width - ClientWidth) div 2;
MyRgn := CreateRectRgn(0, 0, Width, Height);
X := Margin;
Y := Height - ClientHeight - Margin;
ClientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight);
CombineRgn(MyRgn, MyRgn, ClientRgn, RGN_XOR);
//4كود الزر
X := X + Button4.Left;
Y := Y + Button4.Top;
ButtonRgn4 := CreateRectRgn(X, Y, X + Button4.Width, Y + Button4.Height);
//نهاية
//كود الزر2 وهكذا
X := Margin;
Y := Height - ClientHeight - Margin;
X := X + Button2.Left;
Y := Y + Button2.Top;
ButtonRgn2 := CreateRectRgn(X, Y, X + Button2.Width, Y + Button2.Height);
//-----------!!-----------
// أدخل هنا مزيد من الأزرار!
//________________________
CombineRgn(MyRgn, MyRgn, ButtonRgn4, RGN_XOR);
CombineRgn(MyRgn, MyRgn, ButtonRgn2, RGN_XOR);
SetWindowRgn(Handle, MyRgn, True);
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
form3.AlphaBlend:=false;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
CLOSE;
end;
procedure TForm3.ScrollBar1Change(Sender: TObject);
var
po:integer;
begin
po:=ScrollBar1.Position;
Edit1.Text:=IntToStr(po);
//AlphaBlendValue:=(po div 10);
//form3.AlphaBlend:=true;
end;
procedure TForm3.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
AlphaBlendValue:=(100-ScrollPos)+10;
form3.AlphaBlend:=true;
end;
end.
uses
حمل المرفقات من هنا</div>
هذا مثال تنفيذي مع مشروع كامل دلفي
إذا أردت جعل شكل النموذج مطابق لصورة
ا-إعمل صورة ب أم بي أسود وأبيض
أمسح الصورة نقطة نقطة وأضفه إلى الفورم ريجون كما في المثال السابق
مع تحياتي
ملاحظة:يمكنك الوصول لسطح المكتب أوالبرامج من الفجوات