قسمت هفتم

== ادامه خواص شیء TLabel(برچسب) :

AutoSize : این خاصیت در موقع تغییر کپشن برچسب عمل می کند و موجب می شود که برچسب به اندازه مورد نیاز برای متن تغییر اندازه دهد .
Caption : این خاصیت مقدار متن نمایشی توسط برچسب را تنظیم می کند .
Enabled : این خاصیت برای فعال و غیرفعال کردن برچسب می باشد .
Layout : از این خاصیت برای ترازبندی عمودی متن موجود در خاصیت کپشن استفاده می شود . [به عنوان مثال اگر بر روی tlCenter تنظیم شود متن در میان قرار می گیرد.]
ParentBiDiMode : این خاصیت مشخص می کند که آیا برچسب خاصیت ترازبندی خود را از شیء پدر (فرم) به ارث ببرد یا خیر .
ParentColor , ParentFont , ParentShowHint : این خواص نیز مقدار رنگ و فونت و خاصیت ShowHint‌ برچسب را با توجه به شیء پدر (فرم) تنظیم می کند .
Transparnet : اگر مقدار این خاصیت True‌ باشد ، در مواقعی که کارهای گرافیکی انجام می دهیم می توان تصویر را در زیر برچسب قرار دهیم .
WordWrap : این خاصیت در موقع True بودن موجب می شود که در انتهای هر خط برچسب به جای اینکه متن به طور افقی گسترش یابد به خط بعدی انتقال یابد .
---------------------------
عنصر TEdit :
با استفاده از این عنصر می توان متن را از ورودی خواند یا در خروجی چاپ کرد .

خواص ==>>
AutoSelect : این خاصیت موجب می شود هرگاه مکان‎نما در عنصر TEdit قرار گیرد متن موجود در آن به طور خودکار انتخاب گردد .
BevelEdges , BevelInner , BevelKind , BevelOuter : این خواص مربوط به تنظیمات شکل و قیافه عنصر TEdit می باشد . با تغییر این خواص در شکل لبه ها و تورفتگی های و ... عنصر تغییراتی اعمال می شود .
BorderStyle : از این خاصیت برای تنظیم نوع لبه های عنصر استفاده می شود . [لبه دار باشد یا خیر]
CharCase : با تنظیم این خاصیت می توان به کاربر اجازه ورود حروف کوچک [ecLowerCase] ، حروف بزرگ [ecUpperCase] و ترکیبی از حروف بزرگ و کوچک [ecNormal] را بدهید .
Ctl3D : این خاصیت مشخص می کند که آیا عنصر به صورت سه بعدی نمایش داده شود یا خیر .
MaxLength : این خاصیت برای تعیین حداکثر طول متنی که کاربر می تواند وارد نماید به کار می رود .
PasswordChar : از این خاصیت برای رمزدار کردن نمایش کاراکترهای ورودی استفاده می شود . اگر مقدار آن غیر از کاراکتر 0# باشد کاراکترهای وارد شده توسط کاربر پنهان شده و همان کاراکتری را که در این خاصی قرار داده شده نمایش داده می شود .
ReadOnly : این خاصیت برای تعیین اینکه آیا متن موجود در عنصر قابل ویرایش باشد یا خیر استفاده می شود .
TabOrder : این خاصیت تعیین می کند که با چندمین فشردن کلید tab مکان‎ نما به این عنصر انتقال یابد .
Text‌ : مقدار این خاصیت متن داخل عنصر TEdit را مشخص می کند .

رویدادهای شیء TEdit‌ ==>>

OnChange : این رویداد در موقع تغییر متن داخل عنصر فراخوانی می شود .[در موقعی که کاربر سعی در تغییر متن باشد]
OnEnter : در موقعی که فوکوس به عنصر TEdit منتقل و یا عنصر فعال می شود این رویداد فراخوانی می شود .
OnExit : این رویداد در موقعی که مکان‎نما از شیء به شیء دیگر و یا فوکوس از این شیء به شیء دیگر انتقال داده شود فراخوانی می شود .

----------------------------
چند مثال از موارد بالا :

** استفاده از رویداد OnChange‌ شیء TEdit :

procedure TForm1.Edit1Change(Sender: TObject);
begin
Label1.Caption := Edit1.Text ;
Form1.Caption := Edit1.Text ;
end;

== در این مثال با تغییر متن داخل عنصر Edit1 خواص Caption فرم و عنصر Label1 با توجه به متن موجود در عنصر Edit1 تنظیم می شود .

** استفاده از رویداد OnEnter و OnExit :

procedure TForm1.Edit1Enter(Sender: TObject);
begin
ShowMessage('You Enter To [' + Edit1.Name + ']') ;
end;

== این دستور موجب می شود وقتی مکان‎ نما به عنصر منتقل می شود پیغامی مبنی بر اینکه شیء دارای فوکوس شده نمایش داده می شود .

procedure TForm1.Edit1Exit(Sender: TObject);
begin
ShowMessage('You Exit From [' + Edit1.Name + ']') ;
end;

== با این دستور در موقعی که فوکوس از عنصر برداشته می شود پیغامی ظاهر می شود .

**** توضیح تابع ShowMessage :

ShowMessage (Const Msg : String) ;

-- این تابع برای نمایش یک پنجره پیغام به کار می رود . آرگومان Msg که از نوع رشته ای تعریف شده متنی است که باید در پنجره پیغام نمایش داده شود که می تواند یک رشته در داخل یک جفت '' باشد یا متغیرهایی که از نوع String باشند .

قسمت ششم

متد :
متدها عملیاتی هستند که به صورت زیر برنامه نوشته می شوند و برای کنترل اشیاء مورد استفاده قرار می گیرند .

کاربرد متدها به صورت زیر است :
نام متد . نام عنصر

**********
Create : با استفاده از این متد می توان ، در زمان اجرا عنصری را ایجاد کرد .
Show : این متد عنصر پنهان شده را قابل رؤیت می کند . به عنوان مثال Form1.Show عنصر Form1 را از حالت پنهان خارج می کند .
Hide : با استفاده از این عنصر می توان عنصری را غیرقابل رؤیت نمود .
Focused : این متد یک مقدار بولی(True,False) را بر میگرداند که مشخص می کند محتویات درون عنصر انتخاب شده (فوکوس) است یا خیر .
SetFocus : از این متد برای انتخاب محتویات داخل یک عنصر استفاده می شود . به عنوان مثال Edit1.SetFocus متن داخل عنصر Edit1 را انتخاب می کند .
Destroy : با استفاده از این متد می توان یک عنصر را در حین اجرای برنامه از بین برد .
Clear : این متد برای عناصری که در مورد متن کار میکنند به کار می رود و باعث پاک شدن محتویات متن عنصر می شود .
ScaleBy : با استفاده از این متد می توان ابعاد عناصر را تغییر داد :

Button1.ScaleBy(4,2) ;

==> این دستور عنصر Button1 را دو برابر می کند.(در این متد عدد اول صورت کسر بزرگنمایی و عدد دوم مخرج کسر را مشخص می کند)
Terminate : این متد موجب خاتمه دادن به اجرای برنامه می شود . دستور Application.Terminate اجرای برنامه جاری را خاتمه می دهد .
Refresh : این متد هر تصویری که روی صفحه نمایش باشد آنها را پاک کرده و دوباره عناصر را رسم می کند .

*در مورد بقیه متدها در جای خود توضیح داده می شود .*

در این قسمت به بررسی خواص و رویدادهای برخی عناصر پر کاربرد می پردازیم :

ابتدا به عناصر موجود در صفحه Standard پرداخته می شود :

عنصر TLabel (برچسب) :
این عنصر برای نمایش متن روی فرم یا عناصر دیگر به کار می رود . این متن را کاربر نمی تواند تغییر دهد .
خواص ==>>
Align : این خاصیت برای تراز بندی عنصر بر روی فرم و نحوه قرارگیری آن به کار می رود .( alClient= موجب می شود عنصر تمام سطح روی فرم را دربرگیرد -- alButtom = عنصر را به همان ارتفاع تنظیمی ولی در قسمت پایین فرم و با هم عرض فرم قرار می دهد -- alLeft = عنصر را با عرض تنظیمی در قسمت چپ فرم هم ارتفاع فرم قرار می دهد و ...)
Alignment : این خاصیت برای تراز متن درون برچسب به کار می رود .(taCenter = متن را در وسط قرار می دهد -- taLeftJustfy = متن را در سمت چپ قرار می دهد -- taRightJustfy = متن را در سمت راست برچسب قرار می دهد )

ادامه در جلسه آینده ..

قسمت پنجم

*** در این جلسه به بررسی رویدادهای مربوط به یک فرم می‎پردازیم :

برای انتخاب یک رویداد از پنجره Object Inspector قسمت Events را انتخاب کنید تا لیستی از رویدادها ظاهر شوند .

OnActivate : زمانی که مکان نما به فرم منتقل می شود این رویداد فراخوانی می گردد .(زمانی که فرم فعال می شود)
OnClick : هنگامی که کاربر ناحیه خالی فرم را با ماوس کلیک می کند فراخوانی می شود .
OnCloseQuery : در موقعی که کاربر سعی بر بستن فرم را داشته باشد این رویداد فراخوانی می شود . [با استفاده از این رویداد می توان از بستن فرم جلوگیری کرد]
OnClose : این رویداد پس از رویداد OnCloseQuery فراخوانی شده و هنوز می توان با استفاده از این رویداد از بستن فرم جلوگیری کرد .
OnCreate : این رویداد در زمان ایجاد شدن فرم فراخوانی می گردد . با استفاده از این رویداد می توان خواص اولیه فرم و عناصر بر روی آن را تنظیم کرد .
OnDblClick : هنگامی که کاربر در ناحیه خالی فرم ماوس را دو بار کلیک کند ، این رویداد فراخوانی می شود .
OnDeactivate : موقعی که کاربر به یک برنامه دیگر یا فرمی دیگر سوئیچ کند این رویداد فراخوانی می شود .[زمانی که فرم غیرفعال می شود]
OnDestroy : این رویداد زمان حذف فرم فراخوانی می شود . پس از فراخوانی این رویداد تمام منابع اشغال شده توسط دلفی آزاد می شود .
OnDragDrop : زمانی که یک عنصر با ماوس در فرم قرار می گیرد این رویداد فراخوانی می شود .
OnDragOver : موقعی که عنصر روی فرم حرکت کند این رویداد فراخوانی می شود .
OnHide : این رویداد در زمان مخفی شدن فرم اتفاق می افتد .
OnKeyDown : زمانی که کاربر یکی از کلیدهای صفحه کلید (به جز Alt,Shift,Insert) را پایین نگه دارد ، این رویداد فراخوانی می شود .
OnKeyPress : موقعی که که کلیدی از صفحه کلید فشرده شود فراخوانی می شود . این رویداد شامل کلیدهای Alt,Shift,Insert نمی باشد .
OnKeyUp : این رویداد هنگام رهاشدن کلیدِ فشرده شده فراخوانی می شود .
OnMouseDown : وقتی یکی از کلیدهای ماوس فشار داده شود این رویداد فراخوانی می شود .
OnMouseMove : هنگامی که اشاره‎گر ماوس روی فرم حرکت می کند ، این رویداد فراخوانی می گردد .
OnMouseUp : زمانی که کاربر کلید فشرده شدة ماوس را رها می کند این رویداد فراخوانی می شود .
OnPaint : اگر در زمان بازیابی مجدد فرم ، اطلاعات آن پاک شده باشد ،این رویداد فراخوانی می گردد .
OnResize : وقتی کاربر اندازه فرم را تغییر می دهد این رویداد فراخوانی می گردد . می توان در روال پاسخگویی این رویداد ، کدی قرار داد تا عناصر روی فرم تغییر اندازه یا تغییر محل بدهند .
OnShow : این رویداد قبل از ظاهر شدن فرم فراخوانی می شود .
* مثال :

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Caption := 'My Program With Delphi ... ' ;
Form1.Width := 150 ;
Form1.Top := 250 ;
end;

**>> این مثال رویداد OnCreate فرم را فراخوانی کرده و زمانی که فرم ایجاد می شود خواص مربوط به آن را تنظیم می کند .
** توجه داشته باشید که انتهای هر خط از برنامه باید از ; استفاده کرد و روالهایی با بیش از یک خط کد را باید درون یک بلوک Begin و ;End قرار داد .

* مثال :

procedure TForm1.FormResize(Sender: TObject);
begin
label1.Left := Label1.Left + 50 ;
Label1.Caption := 'Form Resizing Now ...' ;
end;

**>> این مثال در موقع تغییر اندازه فرم فرم مقدار خاصیت Left عنصر Label1 را به مقدار 50 افزایش می دهد . سپس خاصیت Caption آن را با مقدار مورد نظر تنظیم می کند .

ادامه در جلسه بعد ...