Valadi
چهارشنبه 12 مهر 1385, 11:30 صبح
چگونه در Message Box می توان پیام های yes یا NO یا cancel فارسی کرد بصورت بله یا خیر یا انصراف نشان داد ؟
Touska
چهارشنبه 12 مهر 1385, 11:43 صبح
در سایت جستجو نمایید در این مورد قبلا بحث شده است.
موفق باشید :)
sarvestan
چهارشنبه 12 مهر 1385, 12:01 عصر
توجه :::::: جستجو فراموش نشود ::::::
messagebox در حقیقت از منابع سیستم استفاده میکند و کدهای آن قابلیت دستکاری ندارد(احتمالا)
برای این کار شما میتوانید از توابع مشابه که در Delphi گسترش داده شده اند استفاده کنید!
اما در صورت استفاده از MessageDlg، برای فارسی کردن دکمه ها میتوانید از قدم های زیر پیروی کنید:
1 - در یونیت Dialogs به دنبال کد زیر بگردید :
ButtonNames: array[TMsgDlgBtn] of string = (
'Yes', 'No', 'OK', 'Cancel', 'Abort', 'Retry', 'Ignore', 'All', 'NoToAll',
'YesToAll', 'Help');
ButtonCaptions: array[TMsgDlgBtn] of Pointer = (
@SMsgDlgYes, @SMsgDlgNo, @SMsgDlgOK, @SMsgDlgCancel, @SMsgDlgAbort,
@SMsgDlgRetry, @SMsgDlgIgnore, @SMsgDlgAll, @SMsgDlgNoToAll, @SMsgDlgYesToAll,
@SMsgDlgHelp);
ModalResults: array[TMsgDlgBtn] of Integer = (
mrYes, mrNo, mrOk, mrCancel, mrAbort, mrRetry, mrIgnore, mrAll, mrNoToAll,
mrYesToAll, 0);
var
ButtonWidths : array[TMsgDlgBtn] of integer; // initialized to zero
function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons): TForm;
2 - بجای نوشته ها از در ButtonNames از نوشتها و عناوین فارس استفاده کنید!
3 - یونیت dialog را پیدا کرده ( در شاخه های مربوط به دلفی ) و آنرا به پروژه خود اضافه کنید!
( توجه به این نکته ضروری است که این فایل باید به پروژه شما اضافه شود تا دوبارره کامپایل شود!)
4 - از Messagedlg فارسی لذت ببرید!
پ . ن : بجای تموم این کارا میتونی یک فرم درست کنی که دکمه های مورد نظرت رو در اون قرار دادی و مشخصه ModalResult اونها را برابر مقدار مورد نظر خودت قرار بدی! و بعد کافیه فرمت را بصورت زیر فراخونی کنی :
result:= Form2.ShowModal;
به همین سادگی! به همین خوشمزگی :چشمک:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.