قسمت نهم

عنصر TButton :
این عنصر یک کلید فرمان بر روی فرم ایجاد می کند که با کلیک کردن بر روی آن کد مربوط به رویداد OnClick آن اجرا می شود .

برخی خواص ==>
Cancel : این خاصیت تعیین می کند ، در صورتی که کاربر کلید ESC را فشار دهد آیا رویدادی رخ دهد یا خیر . در صورتی که مقدار آن True تنظیم شود با فشار دادن کلید ESC رویداد OnClick مربوط به عنصر اجرا می شود .
Caption : متن داخل عنصر را مشخص می کند .
Default : از این خاصیت برای مشخص کردن یک دکمه پیش فرض استفاده می شود . در صورتی که مقدار آن بر روی True تنظیم شود در صورتی که کاربر کلید Enter را فشار دهد کد مربوط به رویداد OnClick عنصر مربوطه اجرا می شود .
ModalResult : این خاصیت برای مواقعی به کار می رود که بخواهیم با ایجاد یک جعبه پیغام از کاربر برای انجام کاری خاص تأیید بگیریم . این خاصیت مشخص می کند که موقعی که کاربر این دکمه را کلیک کرد چه مقدار را برگرداند . [به عنوان مثال اگر مقدار این خاصیت بر روی mrOK تنظیم شود ، وقتی کاربر این دکمه را کلیک کرد مقدار بازگشتی آن مشخص می کند که کاربر موافق با انجام عملیات مورد نظر است]

** مثالی برای استفاده از عنصر TButton و خاصیت ModalResult **
در این مثال طرز ایجاد یک جعبه پیغام را آموزش می دهیم .
ابتدا یک پروژه جدید ایجاد کنید و یک عنصر TLabel بر روی فرم قرار دهید .
=> در رویداد OnCreate فرم کدهای زیر وارد نمائید :

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Caption := 'This is my program' ;
Form1.Width := 300 ;
Form1.Height := 200 ;
Form1.BorderIcons := [biMinimize,biSystemMenu] ;
Form1.Position := poDesktopCenter ;
Label1.Left := Form1.Width - 240 ;
Label1.Top := Form1.Height - 125 ;
Label1.Caption := 'For Exit Press Close SystemMenu Button.' ;
end;

توضیحات==>
این کدها تنظیمات اولیه را انجام می دهد . 5 خط اول تنظیماتی برای فرم می باشد که مقادیر خاصیت‎هایCaption , Width Height و نمایش دکمه های سیستمی و مکان فرم را در صفحه نمایش تنظیم می کند . سه خط بعد تنظیماتی در مورد عنصر TLabel انجام می دهد .[هدف اصلی این کدها در واقع یادگیری تنظیم خاصیت‎ها با استفاده از کد برنامه می باشد و چگونگی مقدار گیری هر خاصیت در کد برنامه .]

=> کدهای زیر را در رویداد OnCloseQuery فرم وارد کنید :

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Form2.ShowModal = mrYes then
Application.Terminate
else
CanClose := False ;
end;

توضیحات==>
این دستورات Form2 را با استفاده از متد ShowModal به صورت مقید نشان می دهد و چک می کند که مقدار ModalResult بازگشتی فرم که توسط دکمه‎های موجود بر روی فرم مقدار گرفته برابر mrYes (یعنی دکمه Yes کلیک شده است) است یا خیر . در صورت برابری به اجرای برنامه خاتمه می دهد .
نکات :
1- استفاده از دستور Application.Terminate به اجرای برنامه خاتمه می دهد .
2- رویداد OnCloseQuery دارای پارامتر CanClose می باشد که از نوع بولیین می باشد . این پارامتر یک مقدار بازگشتی به برنامه است که مشخص می کند آیا برنامه بسته شود (‏True) یا خیر (False) . در صورتی که در کد مربوط به رویداد ، مقدار این پارامتر برابر با False قرار گیرد از بستن فرم جلوگیری می شود .

=> ایجاد Form2 :
*برای ایجاد فرم از منوی File گزینه New سپس گزینه Form را انتخاب کنید تا فرم جدیدی ایجاد شود .
خواص فرم را به صورت زیر تنظیم کنید :

Caption = 'Message'
BorderIcons = []
BorderStyle = bsDialog
Height = 118 ;
Position = poMainFormCenter
Width = 270

یک برچسب در وسط فرم قرار دهید و خاصیت Caption آن را با مقدار '? Are you sure to want exit program' تنظیم کنید .
یک دکمه بر روی فرم قرار دهید و خواص آن را به صورت زیر تنظیم کنید :

Caption = 'Yes'
Height = 25
ModalResult = mrOk
Left = 40
Top = 56
Width = 65

دکمه دیگری ایجاد کنید و خواص آن را به صورت زیر تنظیم کنید :

Caption = 'No'
Height = 25
ModalResult = mrNo
Left = 152
Top = 56
Width = 65

=> توجه :
برای اینکه بتوان Form2 را از درون Form1 فراخوانی کرد باید Form2 را به Form1 پیوند دهیم برای این کار Form1 را فعال کرده سپس از منوی File گزینه ...Use Unit را انتخاب کرده و از لیست مربوطه Unit2 را انتخاب کنید تا Form2 به Form1 پیوند داده شود . حال برنامه را اجرا کرده و سپس دکمه Close فرم را کلیک کنید .
=== امیدوارم که این مثال برای شما مفید واقع شود ===

منبع : آموزشگاه کاشانه
نظرات 1 + ارسال نظر
آرمان یکشنبه 2 اردیبهشت‌ماه سال 1386 ساعت 01:39 ب.ظ

عالی بود استفاده کردم موفق باشید.
آقای مهدی کد سرچ در سایت گذاشتم ولی فقط با کلیک کار می کنه. چطور میشه با اینتر کردن هم عمل کنه؟

<form method="POST" name="search_frm">
<p align="left" style="margin-top: 3px; margin-bottom: 3px">
<span style="font-size: 1pt">.</span></p>
<p align="left" style="margin-top: 3px; margin-bottom: 3px">
<font size="1"> </font><input type="Button" value="جستجو" name="submit" style="Cursor:hand; font-family:Tahoma; font-size:12" onclick="searchIt()"><input type="text" name="search_for" size="5"></p>
</form>
</td>
</tr>
</table>

</div>
</span></a> <script language="javascript" type="text/Jscript">
function searchIt()
{
var word = document.search_frm.search_for.value;
var url = "http://www.google.com/search?hl=en&lr=&q=site:http://+"+word;
window.open(url,'search');
}
</script>

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد