PDA

View Full Version : کار کردن حرفه ای با messageDlg



vahid64
جمعه 08 تیر 1386, 04:33 صبح
با سلام خدمت اساتید گرامی...
بچه ها لطفاً اگه کسی می دونه پارامتر mt_custom در مسیج دیالوگ به چه دردی می خوره برای من بگه ؟!
همچنین می خوام دکمه ها و عکس مورد استفاده در مسیچ دیالوگ رو سفارشی کنم یعنی از دکمه و عکس دلخواه خودم استفاده کنم (به غیر از عکسهای معمولی موجود در مسیج دیالوگ)؟؟!!

SYNDROME
جمعه 08 تیر 1386, 08:32 صبح
با سلام

با سلام خدمت اساتید گرامی...
بچه ها لطفاً اگه کسی می دونه پارامتر mt_custom در مسیج دیالوگ به چه دردی می خوره برای من بگه ؟!
همچنین می خوام دکمه ها و عکس مورد استفاده در مسیچ دیالوگ رو سفارشی کنم یعنی از دکمه و عکس دلخواه خودم استفاده کنم (به غیر از عکسهای معمولی موجود در مسیج دیالوگ)؟؟!!
من زیاد با MessageDlg خود دلفی کار نکرده ام.
شما چرا خودتان یک MessageDlg طراحی نمی کنید تا بتوانید براحتی با توجه به نیاز خود آن را تغییر دهید.

Batman
جمعه 08 تیر 1386, 08:35 صبح
میتونی از کامپوننتی که برات آپلود می کنم استفاده کنی
خیلی ساده و قوی هستش
موفق باشی

MNosouhi
جمعه 08 تیر 1386, 10:48 صبح
بچه ها لطفاً اگه کسی می دونه پارامتر mt_custom در مسیج دیالوگ به چه دردی می خوره برای من بگه ؟!
راهنمای دلفی در مورد mtCustom :

A message box containing no bitmap. The caption of the message box is the name of the application's executable file

vahid64
یک شنبه 10 تیر 1386, 01:55 صبح
با سلام

من زیاد با MessageDlg خود دلفی کار نکرده ام.
شما چرا خودتان یک MessageDlg طراحی نمی کنید تا بتوانید براحتی با توجه به نیاز خود آن را تغییر دهید.
منظور شما از بحث طراحی چیه؟؟؟ یه فرم رو به شکل مسیج دیالوگ دلخواه خودم بسازم یا اینکه فقط یه متغیر از نوع TForm رو به این کار اختصاص بدم ؟


میتونی از کامپوننتی که برات آپلود می کنم استفاده کنی

دوست عزیز ممنون از کامپوننت ولی من می خام یه چیزایی که تو دلفی تقریباً ناشناخته هست رو با هم آنالیز کنیم


راهنمای دلفی در مورد mtCustom :


A message box containing no bitmap. The caption of the message box is the name of the application's executable file

اگه ممکنه بیشتر توضیح بدید چون تو help دلفی برای مسیج باکس مسیج دیالوگ و چند تای دیگه همین متن رو نمایش میده !

Batman
یک شنبه 10 تیر 1386, 07:49 صبح
این برنامه روببین کارت راه میفته
موفق باشی

MNosouhi
یک شنبه 10 تیر 1386, 08:51 صبح
اگه ممکنه بیشتر توضیح بدید چون تو help دلفی برای مسیج باکس مسیج دیالوگ و چند تای دیگه همین متن رو نمایش میده !
وقتی از mtCustom استفاده می کنید ، آیکنی در پیغامتون نشون داده نمیشه و عنوان پیغامتون هم میشه عنوان پروژتون (که در منویproject و زیر منوی options ، در تب application قسمت title قابل تنظیمه .)

SYNDROME
یک شنبه 10 تیر 1386, 14:28 عصر
با سلام

منظور شما از بحث طراحی چیه؟؟؟ یه فرم رو به شکل مسیج دیالوگ دلخواه خودم بسازم یا اینکه فقط یه متغیر از نوع TForm رو به این کار اختصاص بدم ؟

یک فرم طراحی کرده و همه امکانات را بر روی آن قرار دهید و سپس با یک تابع مثل خود messagedlgآن فرم را با Buttonهای دلخواه فراخوانی کنید و هر تغییری که دوس دارید روی ان اعمال نمایید.
موفق باشید

SoftDevCo
یک شنبه 10 تیر 1386, 18:30 عصر
با سلام

یک فرم طراحی کرده و همه امکانات را بر روی آن قرار دهید و سپس با یک تابع مثل خود messagedlgآن فرم را با Buttonهای دلخواه فراخوانی کنید و هر تغییری که دوس دارید روی ان اعمال نمایید.
موفق باشید
بهترین روش همین هست که دوستمون توضیح دادن.

vahid64
دوشنبه 11 تیر 1386, 02:50 صبح
این برنامه روببین کارت راه میفته
موفق باشی

آفرین جالب بود اگه پارامتر های بیشتری ازش میدونی به ما هم بگو مثلاًً من که تست کردم گویا فقط mt.... رو میگیره و نمیشه براش به این صورت [mb...] باتون تعریف کرد ؟؟؟


وقتی از mtCustom استفاده می کنید ، آیکنی در پیغامتون نشون داده نمیشه و عنوان پیغامتون هم میشه عنوان پروژتون (که در منویproject و زیر منوی options ، در تب application قسمت title قابل تنظیمه .)

از بابت توضیح شما هم خیلی ممنون

Batman
دوشنبه 11 تیر 1386, 08:44 صبح
چرا میتونی


fd1:=CreateMessageDialog(m,mtype,[mbok,Mbno]);
fd1.BiDiMode:=bdrighttoleft;
fd1.Caption:='custom';
fd1.Font.Name :='Tahoma';
fd1.Font.Size := 8;
tbutton(fd1.Components[2]).caption:='yes';
TButton(fd1.Components[3]).Caption:='no';
result:=fd1.ShowModal;
fd1.Free;

MOJTABAATEFEH
دوشنبه 04 مرداد 1389, 20:11 عصر
چرا میتونی


fd1:=CreateMessageDialog(m,mtype,[mbok,Mbno]);
fd1.BiDiMode:=bdrighttoleft;
fd1.Caption:='custom';
fd1.Font.Name :='Tahoma';
fd1.Font.Size := 8;
tbutton(fd1.Components[2]).caption:='yes';
TButton(fd1.Components[3]).Caption:='no';
result:=fd1.ShowModal;
fd1.Free;


کسی می دونه در مثالی که دوستمون زده چه تغییری باید داد تا متن فارسی رو که فونتش بزرگ تر از 8 هست رو به صورت 2 خطی نشون نده؟

با تشکر

mohammad_kerman65
شنبه 15 مهر 1391, 13:35 عصر
این برنامه روببین کارت راه میفته
موفق باشی
حالا چطور میتونیم واسه کلیداش کد بنویسیم؟؟
ببخشید سوالم خیلی مبتدیست بالاخره باید از یه جائی شروع کرد.
با تشکر

Mask
شنبه 15 مهر 1391, 15:08 عصر
حالا چطور میتونیم واسه کلیداش کد بنویسیم؟؟
ببخشید سوالم خیلی مبتدیست بالاخره باید از یه جائی شروع کرد.
با تشکر

if MessageDlg(' Message ',mtInformation,[mbYes,mbNo],0)=mrYes then
//code...
else
//code...

mohammad_kerman65
شنبه 15 مهر 1391, 17:22 عصر
با تشکر از دوست عزیزم آقای gold
این رو میدونم اگه بخوام از روشی که در موردش بحث بود یعنی از فرم برای نمایش پیغام استفاده کنم چطوری باید داخل دستور if ازش استفاده کنم؟؟

T := CreateMessageDialog('آیا میخواهید تغییرات ذخیره شود؟',mtInformation,[mbYes,mbNo,mbCancel]);
T.Caption := 'Information';
T.BiDiMode := bdRightToLeft;
TButton(T.FindComponent('Yes')).Caption := 'انصراف';
TButton(T.FindComponent('No')).Caption := 'خیر';
TButton(T.FindComponent('Cancel')).Caption := 'بله';
T.ShowModal;

حالا از کجا بفهمم کدوم کلید زده شده؟؟؟
همچنین اگه توضیح بدید چطور میشه جای کلیدها رو عوض کرد ممنون میشم.
با تشکر

Felony
یک شنبه 16 مهر 1391, 06:42 صبح
var
T: TForm;
begin
T := CreateMessageDialog('آیا میخواهید تغییرات ذخیره شود؟', mtInformation,
[mbYes, mbNo, mbCancel]);
T.Caption := 'Information';
T.BiDiMode := bdRightToLeft;
TButton(T.FindComponent('Yes')).Caption := 'بله';
TButton(T.FindComponent('No')).Caption := 'خیر';
TButton(T.FindComponent('Cancel')).Caption := 'انصراف';
T.ShowModal;
case T.ModalResult of
mrYes:
ShowMessage('Yes');
mrNo:
ShowMessage('No');
mrCancel:
ShowMessage('Cancel');
end;
end;

mohammad_kerman65
یک شنبه 16 مهر 1391, 17:59 عصر
ممنون آقا ماهان مشکلم حل شد
آیا میشه جای کلیدهای yes,no,cancle رو جابجا کرد؟؟
با تشکر

mohammad_kerman65
دوشنبه 17 مهر 1391, 15:32 عصر
یعنی نمیشه کلید های فرم پیغام رو جابجا کرد؟؟؟؟؟؟
کسی راه حلش نمیدونه؟

Felony
دوشنبه 17 مهر 1391, 15:58 عصر
جا به جا کرد یعنی چی ؟ میخواین کلا position دکمه ها رو عوض کنید یا جاشون رو با هم عوض کنید ؟

در هر صورت یکم هم خودتون فکر کنید و حلاقیت به خرج بدید ، برای جا به جای کردن کافیه که نام ها رو عوض کنید و ModalResult هر کدوم از دکمه ها رو بسته به کاری که قراره انجام بده تعیین کنید ، مثلا :

var
T: TForm;
begin
T := CreateMessageDialog('آیا میخواهید تغییرات ذخیره شود؟', mtInformation,
[mbYes, mbNo, mbCancel]);
T.Caption := 'Information';
T.BiDiMode := bdRightToLeft;

TButton(T.FindComponent('Yes')).ModalResult:= mrCancel;
TButton(T.FindComponent('Yes')).Caption := 'انصراف';

TButton(T.FindComponent('No')).ModalResult:= mrNo;
TButton(T.FindComponent('No')).Caption := 'خیر';

TButton(T.FindComponent('Cancel')).ModalResult:= mrYes;
TButton(T.FindComponent('Cancel')).Caption := 'بله';
T.ShowModal;
case T.ModalResult of
mrYes:
ShowMessage('Yes');
mrNo:
ShowMessage('No');
mrCancel:
ShowMessage('Cancel');
end;
end;

اگر هم میخواین کلا موقیعیتشون رو عوض کنید که کافیه Top و Left دکمه ای که Find کردید رو تغییر بدید .