View Full Version : فارسی ساز منو ها
__siavash__
شنبه 11 فروردین 1386, 14:17 عصر
سلام به همه
من میخوام منوهای برنامه ای رو فارسی کنم ولی وقتی این کارو میکنم دیکه اون منو عمل نمیکنه ( مثل حالتی که کدنویسی نشده باشه )
کسی میدونه مشکل کجاست ؟
حامد مصافی
شنبه 11 فروردین 1386, 15:26 عصر
نا مفهوم پرسیدید!
__siavash__
شنبه 11 فروردین 1386, 16:40 عصر
من میخوام منوهای یه برنامه رو فارسی کنم بااین کدها
البته این کدها برنامه FreshDownload ( یه برنامه دانلودی هستش ) هستند :
Private Sub Command1_Click()
Dim Hwnd As Long "هندل برنامه در این قرار میگیره"
Dim hMenu As Long "اشاره گر به نوار منو"
Dim hSubMenu As Long "اشاره گر به منو فرعی"
Hwnd = FindWindow("TfrmMain", "Default.DFL - FreshDownload")
hMenu = GetMenu(Hwnd)
hSubMenu = GetSubMenu(hMenu, 0)
ModifyMenu hSubMenu, 13, MF_BYPOSITION, 0, "خروج"
End Sub
که در این مثال به جای گزینه Exit در منو فایل عنوانش به "خروج" تغییر پیدا میکنه
اما دیگه با کلیک کردن روش از برنامه خارج نمیشه !!!
حامد مصافی
شنبه 11 فروردین 1386, 21:58 عصر
به جای MF_BYCOMMAND از MF_STRING استفاده کنید چی میشه؟؟
__siavash__
یک شنبه 12 فروردین 1386, 11:50 صبح
به جای MF_BYCOMMAND از MF_STRING استفاده کنید چی میشه؟؟
این کار هم کردم ولی نشد!
romina2006
یک شنبه 12 فروردین 1386, 12:48 عصر
اینو نگاه کن :
__siavash__
یک شنبه 12 فروردین 1386, 15:44 عصر
romina2006 (http://barnamenevis.org/forum/member.php?u=32889)
سلام
ممنون
اما در تابع
ModifyMenu hSubMenu, 4, MF_BYCOMMAND, 4, "خروج"
عدد هایی که باید در پارامتر دوم و چهارم بذاریم رو چه طوری باید بشماریم
مثلا در عکس پایین من برای گزینه Exit باید چه اعدادی رو وارد کنم ؟؟؟
romina2006
یک شنبه 12 فروردین 1386, 18:40 عصر
Private Sub Command1_Click()
Dim hwnd As Long, hMenu As Long, hSubMenu As Long, lID As Long
hwnd = FindWindow("TfrmMain", "Default.DFL - FreshDownload")
hMenu = GetMenu(hwnd)
hSubMenu = GetSubMenu(hMenu, 0)
lID = GetMenuItemID(hSubMenu, 14)
ModifyMenu hSubMenu, lID, MF_BYCOMMAND, lID, "خروج"
End Sub
در کد بالا LID عدد مربوط به زیرمنو است که باید از عدد صفر شمارش بشه در شمارش باید خط جداکننده رو هم حساب کنی
از سورس زیر هم می تونی استفاده کنی
Change Menu (http://www.box.net/shared/8hajmvf2t6)
__siavash__
یک شنبه 12 فروردین 1386, 21:11 عصر
درست شد فقط یه مشکل اینکه آیکون های کنار گزینه ها از بین میره نمیشه کاری کرد که این آیکن ها باقی بمونند
romina2006
دوشنبه 13 فروردین 1386, 01:14 صبح
آیکن کنار گزینه ها از بین نمیره سورس که گذاشتم رو ببین
__siavash__
دوشنبه 13 فروردین 1386, 01:50 صبح
بازم ممنون از توجه شما
ولی در عکسی که در بالا گذاشتم من که تمام ایکن هایی رو که اون برنامه داره در اختیار ندارم من میخواستم اون آیکون سر جاش باشه و فقط متن کنارش تغییر کنه
اما همین کدا خوبه کارم راه میوفته !
romina2006
دوشنبه 13 فروردین 1386, 11:32 صبح
فکر نکنم آیکون کنار گزینه ها از بین بره.این کد رو برای برنامه WinZip اجرا کن
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function ModifyMenu Lib "user32" Alias "ModifyMenuA" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpString As Any) As Long
Private Const MF_BYCOMMAND = &H0&
Private Sub Command1_Click()
Dim hwnd As Long, hMenu As Long, hSubMenu As Long, lID As Long
hwnd = FindWindow("WinZipWClass", vbNullString)
hMenu = GetMenu(hwnd)
hSubMenu = GetSubMenu(hMenu, 0)
lID = GetMenuItemID(hSubMenu, 17)
ModifyMenu hSubMenu, lID, MF_BYCOMMAND, lID, "خروج"
End Sub
__siavash__
دوشنبه 13 فروردین 1386, 12:05 عصر
درسته حق با شماست روی WinZip که امتحان میکنم آیکنش باقی میمونه ولی روی FreshDownload که امتحان میکنم آیکونش حذف میشه !!!
a_mohammadi_m
شنبه 08 اردیبهشت 1386, 14:11 عصر
برنامه آماده Resource haker رو امتحان کن
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.