PDA

View Full Version : گفتگو: فارسي كردن Dialog



mojtabadj
پنج شنبه 27 تیر 1387, 09:10 صبح
كسي رو فارسي كردن dialog هاي دلفي كار كرده؟

Hsimple11
پنج شنبه 27 تیر 1387, 12:25 عصر
منظورتان از Dialog ها Message Box ها است؟

mojtabadj
پنج شنبه 27 تیر 1387, 18:21 عصر
منظورتان از Dialog ها Message Box ها است؟

نه منظورم Opendialog,savedialog,OpenPictureDialog,SavePictur eDialog هست

Hsimple11
پنج شنبه 27 تیر 1387, 19:02 عصر
میتوانید از توابع API و SendMessage به بخشهای مختلف Dialog اینکار را انجام دهید. در مورد هر Dialog، بعد از گرفتن Handle آن، ابتدا Identifier های مربوط به هر بخش آن را بدست بیاورید مثلا در مورد جایی که نوشته FileTypes = LB_FILETYPES_ID = 1089 و همینطور در مورد سایر قسمتها. و بعد با SendMessage به قسمتهای مختلف پنجره Dialog خود دستور تعویض این متنها را بدهید. این یک مثال در مورد OpenDialog بود که پیدا کردم. فکر میکنم بتوانید آن را تعمیم دهید :


procedure TForm1.OpenDialog1Show(Sender: TObject);
const
LB_FILETYPES_ID = 1089;
LB_FILENAME_ID = 1090;
LB_DRIVES_ID = 1091;
Str1 = 'Four';
Str2 = 'Five';
Str3 = 'One';
Str4 = 'Two';
Str5 = 'Three';
begin
SendMessage( GetParent(OpenDialog1.Handle), CDM_SETCONTROLTEXT,
IDOK,LongInt(Pchar(Str1)));
SendMessage( GetParent(OpenDialog1.Handle), CDM_SETCONTROLTEXT,
IDCANCEL, LongInt(Pchar(Str2)));
SendMessage( GetParent(OpenDialog1.Handle), CDM_SETCONTROLTEXT,
LB_FILETYPES_ID, LongInt(Pchar(Str3)));
SendMessage( GetParent(OpenDialog1.Handle), CDM_SETCONTROLTEXT,
LB_FILENAME_ID, LongInt(Pchar(Str4)));
SendMessage( GetParent(OpenDialog1.Handle), CDM_SETCONTROLTEXT,
LB_DRIVES_ID, LongInt(Pchar(Str5)));
end;

mojtabadj
پنج شنبه 27 تیر 1387, 23:01 عصر
بچه ها كامپوننتي در مورد اين مورد ننوشته اند؟

Hsimple11
پنج شنبه 27 تیر 1387, 23:58 عصر
بچه ها كامپوننتي در مورد اين مورد ننوشته اند؟

من ندیدم. با اینحال جستجو کنید.

موفق باشید.

Delphi-Man
دوشنبه 01 مهر 1387, 11:58 صبح
سلام دوستان متاسفانه کد بالا برای من جواب نداد چون CDM_SETCONTROLTEXT رو نمیشناسه.

Hsimple11
دوشنبه 01 مهر 1387, 14:13 عصر
در MSDN جستجو کنید.

http://msdn.microsoft.com/en-us/library/ms646855(VS.85).aspx

جواد ملاولی
جمعه 05 مهر 1387, 12:47 عصر
در MSDN جستجو کنید.

http://msdn.microsoft.com/en-us/library/ms646855(VS.85).aspx
سلام. من این صفحه رو نگاه کردم ولی چیز زیادی نفهمیدم. میشه بیشتر راهنمایی کنید؟