PDA

View Full Version : مبتدی: راست به چپ کردن منوها



gohari244
یک شنبه 07 فروردین 1390, 10:19 صبح
سلام دوستان راستش من دارم یک برنامه فارسی می نویسم نیاز دارم که منوها از راست به چپ باشند قبلا هم این سوال رو پرسیدم یکی از دوستان یه فایل تست قرار داد ولی مشکل داشت و ارور می داد ، یه جای دیگه یه فایل پیدا کردم که فرم رو راست به چپ می کرد به همراه هر چیزی که روی اون قرار داشت ولی نمی دونم کجا بود در واقع یادم رفته حالا از دوستان می خوام به هر نحوی که میتونن کمکم کنند

محسن واژدی
یک شنبه 07 فروردین 1390, 10:42 صبح
سلام علیکم
دستور زیر فرم و محتویاتش را RTL میکند


'Windows API Constants
Private Const WS_EX_NOINHERITLAYOUT = &H100000
Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = (-20)

'Windows API Functions
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Sub Form_Load()

SetWindowLong Me.hWnd, GWL_EXSTYLE, WS_EX_LAYOUTRTL Or _
WS_EX_NOINHERITLAYOUT
End Sub




موفق باشید
یاعلی

javadt
یک شنبه 07 فروردین 1390, 12:22 عصر
اگر right to left فرم رو هم true کنید منو ها راست چین می شند

Private Sub Form_Load()
Form1.RightToLeft = True
End Sub

gohari244
یک شنبه 07 فروردین 1390, 19:01 عصر
دوست خوب محسن ، ممنون ولی این دستور عکس هایی را که توسط کنترل image قرار دادم هم برعکس میکنه اگه میشه یه کمک دیگه بکنید

محسن واژدی
یک شنبه 07 فروردین 1390, 19:43 عصر
دوست خوب محسن ، ممنون ولی این دستور عکس هایی را که توسط کنترل image قرار دادم هم برعکس میکنه اگه میشه یه کمک دیگه بکنید

اگر تصاویرتون را در کنترل PictureBox قرار بدین مشکل برطرف میشود

موفق باشید

gohari244
پنج شنبه 11 فروردین 1390, 01:59 صبح
دوستان خواهش می کنم یک راهی نشون بدین که فقط منوها رو راست به چپ کنه نه فرم رو
خواهش

محسن واژدی
پنج شنبه 11 فروردین 1390, 10:09 صبح
سلام علیکم
مگه به پاسخ نرسیدین!!!!!


یه جای دیگه یه فایل پیدا کردم که فرم رو راست به چپ می کرد به همراه هر چیزی که روی اون قرار داشت ولی نمی دونم کجا بود در واقع یادم رفته حالا از دوستان می خوام به هر نحوی که میتونن کمکم کنند
جواب: پست 2#


نیاز دارم که منوها از راست به چپ باشند
جواب: پست 3#

gohari244
پنج شنبه 11 فروردین 1390, 12:22 عصر
نه اگه راست به چپ فرم رو فعال کنی اتفاقی نمی افتد
خواهش می کنم یه راه حلی نشونم بدین بدردم بخوره خیلی بهش نیاز دارم

M.T.P
پنج شنبه 11 فروردین 1390, 12:39 عصر
منم هم این مشکل رو دارم. :ناراحت:
طوری باشه که فرم آیکن ، عنوان و کلیدهاش همه سر جاش باشه و فقط منو به سمت راست منتقل بشه.
توسط API که دوستمون آقا محسن گذاشتن همه چیز فرم میاد سمت راست.
RightToLeft خود فرم هم مشکلش اینه که عنوان فرم رو میاره سمت راست.
در واقع موارد بالا مشکل نیست بلکه اصلش همونه اما به خاطر عادت اکثر کاربرها گاهی اوقات لازمه که خود فرم هیچ تغییری نداشته باشه.

محسن واژدی
پنج شنبه 11 فروردین 1390, 13:25 عصر
نه اگه راست به چپ فرم رو فعال کنی اتفاقی نمی افتد
خواهش می کنم یه راه حلی نشونم بدین بدردم بخوره خیلی بهش نیاز دارم

من وقتی RTL فرم رو فعال میکنم منو هم rtl میشه، تصویر زیر را مشاهده کنین
تنظیمات RegionalAndSettings ویندوز را هم بررسی کردین؟ ممکنه از اونجا باشد

M.T.P
پنج شنبه 11 فروردین 1390, 14:41 عصر
البته این دوستمون که تاپیک زده فکر کنم ویندوز 7 نصب کرده بدون Hotfix که منوهاش راست به چپ نمیشه و یا اینکه VBAME.dll رو نداره.

اما من.. :لبخند:
ببین محسن جان منوها درست مشکل نداره راست به چپ میشه ، موضوع اون Caption فرم هست که میاد سمت راست و من می خوام که نیاد و سرجاش بمونه. :عصبانی++:
نمیشه کاریش کرد نیاد سمت راست؟! :متفکر:
البته بدون استفاده از ترفند Space تو Caption

gohari244
شنبه 13 فروردین 1390, 09:27 صبح
دوستان ممنون از نظراتتون ولی با وجود این تفاسیر به نظرتون من باید چکار کنم
راستش خیلی بهش نیاز دارم اگه کمک کنید ممنون می شم

aminlv
چهارشنبه 24 شهریور 1395, 16:30 عصر
البته این دوستمون که تاپیک زده فکر کنم ویندوز 7 نصب کرده بدون Hotfix که منوهاش راست به چپ نمیشه و یا اینکه VBAME.dll رو نداره.

اما من.. :لبخند:
ببین محسن جان منوها درست مشکل نداره راست به چپ میشه ، موضوع اون Caption فرم هست که میاد سمت راست و من می خوام که نیاد و سرجاش بمونه. :عصبانی++:
نمیشه کاریش کرد نیاد سمت راست؟! :متفکر:
البته بدون استفاده از ترفند Space تو Caption

آقا دمت گرم من همیشه با این مشکل داشتم حل شد الان نمی دونم چرا توی setup این VBAME.dll رو نمی بره وقتی استفاده شده توی برنامه!
بهرحال با این ترفندت مشکل حل حل شد دستت بازم درد نکنه :لبخند::تشویق:

SabzRayaneh
یک شنبه 14 دی 1399, 14:13 عصر
دوستان بنده این مشکل رو با نصب آفیس2007 بر روی تمام ویندوز های هفت، 8.1 و ویندوز ده حل کردم و منوها بصورت استاندارد به سمت راست منتقل شده اند. فقط کافیه که یه Office2007 روی دستگاه نصب کنید. اما مشکل بنده اینه که بسیاری از کاربران نمی خوان از آفیس2007 استفاده کنند و شاید آفیس2016 یا 2020 رو نصب کنند. ضمنا وقتی که کاربر نرم افزار رو نصب می کنه نمیشه بهش گفت لطفا آفیس2007 رو هم نصب کن. لطفا راهنمایی بفرمایید چطور این مشکل رو حل کنم. اون فایل VBAME.dll رو هم داخل Windows\system32 ک÷ی کردم ولی تاثیری نداشت