PDA

View Full Version : چپ چین کردن سه دکمه اصلی در نوار عنوان و راست چین کردن منوها و عنوان پنجره



PersianGulf
یک شنبه 11 اسفند 1387, 10:38 صبح
سلام به همگی
یه همچین چیزی نیاز دارم
البته باید کانورتش کنم به یه زبان دیگه
http://www.pic-upload.de/27.02.09/ra3lxq.png

نمونه ی این کا رو در نرم افزاری ایرانی دیدم ولی در دسترس نیست که عکس بذارم
خاهشا اساتید راهنمایی کنن
ممنون

sina_saravi1
یک شنبه 11 اسفند 1387, 10:49 صبح
سلام
تو ویژوال بیسیک برای اوردن به سمت راست منو ها باید خاصیت RightToLeft فرم را برابر با True کنی
ولی برای سمت راست اوردن دکمه ها نمیدونم
راستی عکس بالا آینه شده است مه این که سه تا دکمه سنت راست باشن

PersianGulf
یک شنبه 11 اسفند 1387, 11:17 صبح
باتشکر از شما دوست گرامی
همونطور که گفتم چون باید کانورت کنم به زبان دیگه نیاز به کد دارم
اگه API باشه که دیگه عالیه
فکر کنم برای زبانهای راست به چپ مثل فارسی بهتره این روش پیگیری بشه
یعنی منوها راست چین بشن و دکمه های اصلی چپ چین
و البته نام پنجره هم راست چین بشه
باز هم ممنونم
------------------
خداروشکر مشکل با API حل شد
البته خودم بلد نیستم با سرچ پیداکردم
توابع
SetWindowLong
SetWindowPos
متاسفانه اونقدر vb بلد نیستم که اتونم کد رو کانورت کنم برای vb
اگر تونستم میذارم اینجا

a_mohammadi_m
یک شنبه 24 خرداد 1388, 18:42 عصر
با سلام
در .net 2005 به بالا فرمها همچين خاصيتي دارند ( علاوه بر right to left ) كه دقيقا Layout فرم رو راست به چپ مي كنه من خودم تو يكي دو برنامه ازش استفاده كردم
ولي به اين نتيجه رسيدم كه كار اشتباهي هست براي اينكه كاربر به دكمه هاي سمت راست پنجره عادت داره و عوض كردن جاي اونا كارش رو مشكل تر مي كنه
ولي منو ها خيلي راحت با Right To Left كردن پنجره ميان سمت راست و هيچ مشكلي هم ندارن حتي در VB 6

a_mohammadi_m
چهارشنبه 10 تیر 1388, 14:32 عصر
با سلام
با راست چين كردن منوها مشكلي نيست
ولي چپ چين كردن دكمه هاي پنجره كار كاربر برنامه تون رو سخت ميكنه
چون عادت كرده توي ويندوز همه دكمه ها سمت راست باشن
راست ميگم ، من اينكار رو با VB6 كردم ولي اصلا مشتري راضي نبود
خودت رو اذيت نكن

(سیدشریفی)
پنج شنبه 11 تیر 1388, 10:23 صبح
با سلام
اين هم از كد درخواستي شما

M_P_1374
پنج شنبه 11 تیر 1388, 12:25 عصر
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Sub R2L(Caption As String)
Handle = FindWindow(vbNullString, Caption)
If Handle = 0 Then Exit Sub
SetWindowLong Handle, -20, GetWindowLong(Handle, -20) Or &H400000
End Sub

Private Sub Form_Load()
R2L Me.Caption
End Sub


این کد همه چیز رو از راست به چپ میاره ولی حروف نوشته هارو برعکس نمیکنه
مزیتش اینه عنوان هر پنجره ای رو بنویسین اون پنجره RightToLeft میشه

ashkandehnavi
دوشنبه 21 آذر 1390, 00:05 صبح
با سلام
اين هم از كد درخواستي شما

سلام من اگه بخوام فقط منو راست تو چپ بشه ولی اون سه دکمه راست باشه باید چیکار کنم؟
اگه بخوام از منو استفاده کنم و هیچ کدوم از سه دکمه هارو نداشته باشم باید چیکار کنم؟
ممنون

(سیدشریفی)
دوشنبه 21 آذر 1390, 18:35 عصر
اگر در قسمت زبان ویندوز برای فارسی هم تنظیم شود و در قسمت properties فرم RightToLeft را True کنید منوها راست چین خواهد شد
برای برداشتن دکمه ها هم میتوانید از قسمت properties فرم ControlBox را False کنید یا از گزینه های دیگر فقط بعضی دکمه ها را بردارید