نمایش نتایج 1 تا 16 از 16

نام تاپیک: فارسی کردن نوشته روی دکمه‌های MessageBox

  1. #1
    کاربر جدید
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    ایران - اهواز
    پست
    22

    فارسی کردن نوشته روی دکمه‌های MessageBox

    چطوری می‌شه متن Buttonهای یه MessageBox رو فارسی کرد. مثلاً بجای Yes و No بلی و خیر نوشت؟
    البته می‌شه یه فرم کوچیک طراحی کرد و Modal باز کرد ، ولی خود MessageBox سیستم رو چطور میشه دسترسی داشت؟

  2. #2
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    قبلا این موضوع عنوان شده بگردید پیدا می کنید.

  3. #3
    کاربر جدید
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    ایران - اهواز
    پست
    22
    مرسی آقا Linux
    پیداش کردم. البته #C بود تبدیلش کردم به VB.NET و استفاده کردم. عالی بود. راستی امکانش هست که یه بلاک از کد #C رو تو یه پروژه VB.NET استفاده کرد؟ :roll:

  4. #4
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313
    حالا که زحمت تبدیلشو کشیدید برای بقیه هم ارسالش کنید

  5. #5
    کاربر جدید
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    ایران - اهواز
    پست
    22
    چشم آقا Linux

  6. #6
    آقا ناصر کد رو بزار دیگه :)
    یا اینکه آدرس اون کد سی شارپ رو بزار من نتونستم پیدا کنم

  7. #7
    کاربر جدید
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    ایران - اهواز
    پست
    22
    آقا کامران کد رو خیلی وقته گذاشتم این هم لینکش
    http://<br /> <a href="http://www.b...6213</a><br />

  8. #8

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    سلام فارسی کردن در ای اس پپی هم کاربرد داره؟ میشه لطف کنید 2 باره بگید چه جوره ؟؟؟

  9. #9
    کاربر دائمی آواتار barbodsoft.com
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    آمل
    سن
    44
    پست
    469

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    این ماژول رو به برنامه ات اضافه کن. بعد بجای MessageBox.show بنویس MessageBoxFa.show
    بقیه موارد عینا شبیه میسیج باکس معمولی هست.


    Imports System
    Imports System.Windows.Forms
    Imports System.Runtime.InteropServices
    Imports System.Text

    Public Class MessageBoxFa
    Public Delegate Function CallBack_WinProc(ByVal uMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    Public Delegate Function CallBack_EnumWinProc(ByVal hWnd As Integer, ByVal lParam As Integer) As Integer

    <DllImport("user32.dll")> _
    Private Shared Function GetWindowLong(ByVal hwnd As Integer, ByVal nIndex As Integer) As Integer
    End Function
    <DllImport("kernel32.dll")> _
    Private Shared Function GetCurrentThreadId() As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function SetWindowsHookEx(ByVal idHook As Integer, ByVal lpfn As CallBack_WinProc, ByVal hmod As Integer, ByVal dwThreadId As Integer) As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function UnhookWindowsHookEx(ByVal hHook As Integer) As Integer
    End Function
    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    Private Shared Function SetWindowText(ByVal hwnd As Integer, ByVal lpString As String) As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function EnumChildWindows(ByVal hWndParent As Integer, ByVal lpEnumFunc As CallBack_EnumWinProc, ByVal lParam As Integer) As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function GetClassName(ByVal hwnd As Integer, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer) As Integer
    End Function

    Shared TopCount As Integer
    Shared ButtonCount As Integer
    Private Const GWL_HINSTANCE As Integer = (-6)
    Private Const HCBT_ACTIVATE As Integer = 5
    Private Const WH_CBT As Integer = 5
    Private Shared hHook As Integer
    Shared strCaption1 As String = ""
    Shared strCaption2 As String = ""
    Shared strCaption3 As String = ""
    Shared Drk As New Form

    Shared Function Show(ByVal Prompt As String _
    , Optional ByVal Title As String = "", Optional ByVal buttons As MessageBoxButtons = MessageBoxButtons.OK _
    , Optional ByVal icon As MessageBoxIcon = MessageBoxIcon.None _
    , Optional ByVal DefaultButton As MessageBoxDefaultButton = MessageBoxDefaultButton.Button1 _
    , Optional ByVal options As MessageBoxOptions = MessageBoxOptions.RtlReading _
    , Optional ByVal m As MsgBoxStyle = MsgBoxStyle.ApplicationModal) As DialogResult
    '
    Dim hInst As Integer
    Dim Thread As Integer
    TopCount = 0
    ButtonCount = 0
    Select Case (buttons)
    Case MessageBoxButtons.AbortRetryIgnore
    strCaption1 = "رها کردن"
    strCaption2 = "کوشش مجدد"
    strCaption3 = "چشم پوشی"
    Case MessageBoxButtons.OK
    strCaption1 = "تایید"
    Case MessageBoxButtons.OKCancel
    strCaption1 = "تایید"
    strCaption2 = "لغو"
    Case MessageBoxButtons.RetryCancel
    strCaption1 = "کوشش مجدد"
    strCaption2 = "لغو"
    Case MessageBoxButtons.YesNo
    strCaption1 = "بله"
    strCaption2 = "خیر"
    Case MessageBoxButtons.YesNoCancel
    strCaption1 = "بله"
    strCaption2 = "خیر"
    strCaption3 = "لغو"
    Case MessageBoxButtons.OK
    strCaption1 = "تایید"
    End Select
    'If Title = "" Then Title = Application.ProductName
    Dim myWndProc As CallBack_WinProc = New CallBack_WinProc(AddressOf WinProc)
    hInst = GetWindowLong(1, GWL_HINSTANCE)
    Thread = GetCurrentThreadId()
    hHook = SetWindowsHookEx(WH_CBT, myWndProc, hInst, Thread)
    'Return MessageBox.Show(Prompt, Title, buttons, icon, DefaultButton, options)

    Return MsgBox(Prompt, buttons + icon + DefaultButton + MsgBoxStyle.MsgBoxRight + options + m, Title)
    End Function

    Private Shared Function WinProc(ByVal uMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    Dim myEnumProc As CallBack_EnumWinProc = New CallBack_EnumWinProc(AddressOf EnumWinProc)
    If uMsg = HCBT_ACTIVATE Then
    EnumChildWindows(wParam, myEnumProc, 0)
    UnhookWindowsHookEx(hHook)
    End If
    Return 0
    End Function

    Private Shared Function EnumWinProc(ByVal hWnd As Integer, ByVal lParam As Integer) As Integer
    Dim strBuffer As StringBuilder = New StringBuilder(256)
    TopCount += 1
    GetClassName(hWnd, strBuffer, strBuffer.Capacity)
    Dim ss As String = strBuffer.ToString()
    If (ss.ToUpper().StartsWith("BUTTON")) Then
    ButtonCount += 1
    Select Case (ButtonCount)
    Case 1
    SetWindowText(hWnd, strCaption1)
    Exit Select
    Case 2
    SetWindowText(hWnd, strCaption2)
    Exit Select
    Case 3
    SetWindowText(hWnd, strCaption3)
    Exit Select
    End Select
    End If
    Return ButtonCount
    End Function
    End Class

  10. #10

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    نقل قول نوشته شده توسط barbodsoft.com مشاهده تاپیک
    این ماژول رو به برنامه ات اضافه کن. بعد بجای MessageBox.show بنویس MessageBoxFa.show
    بقیه موارد عینا شبیه میسیج باکس معمولی هست.


    Imports System
    Imports System.Windows.Forms
    Imports System.Runtime.InteropServices
    Imports System.Text

    Public Class MessageBoxFa
    Public Delegate Function CallBack_WinProc(ByVal uMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    Public Delegate Function CallBack_EnumWinProc(ByVal hWnd As Integer, ByVal lParam As Integer) As Integer

    <DllImport("user32.dll")> _
    Private Shared Function GetWindowLong(ByVal hwnd As Integer, ByVal nIndex As Integer) As Integer
    End Function
    <DllImport("kernel32.dll")> _
    Private Shared Function GetCurrentThreadId() As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function SetWindowsHookEx(ByVal idHook As Integer, ByVal lpfn As CallBack_WinProc, ByVal hmod As Integer, ByVal dwThreadId As Integer) As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function UnhookWindowsHookEx(ByVal hHook As Integer) As Integer
    End Function
    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    Private Shared Function SetWindowText(ByVal hwnd As Integer, ByVal lpString As String) As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function EnumChildWindows(ByVal hWndParent As Integer, ByVal lpEnumFunc As CallBack_EnumWinProc, ByVal lParam As Integer) As Integer
    End Function
    <DllImport("user32.dll")> _
    Private Shared Function GetClassName(ByVal hwnd As Integer, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer) As Integer
    End Function

    Shared TopCount As Integer
    Shared ButtonCount As Integer
    Private Const GWL_HINSTANCE As Integer = (-6)
    Private Const HCBT_ACTIVATE As Integer = 5
    Private Const WH_CBT As Integer = 5
    Private Shared hHook As Integer
    Shared strCaption1 As String = ""
    Shared strCaption2 As String = ""
    Shared strCaption3 As String = ""
    Shared Drk As New Form

    Shared Function Show(ByVal Prompt As String _
    , Optional ByVal Title As String = "", Optional ByVal buttons As MessageBoxButtons = MessageBoxButtons.OK _
    , Optional ByVal icon As MessageBoxIcon = MessageBoxIcon.None _
    , Optional ByVal DefaultButton As MessageBoxDefaultButton = MessageBoxDefaultButton.Button1 _
    , Optional ByVal options As MessageBoxOptions = MessageBoxOptions.RtlReading _
    , Optional ByVal m As MsgBoxStyle = MsgBoxStyle.ApplicationModal) As DialogResult
    '
    Dim hInst As Integer
    Dim Thread As Integer
    TopCount = 0
    ButtonCount = 0
    Select Case (buttons)
    Case MessageBoxButtons.AbortRetryIgnore
    strCaption1 = "رها کردن"
    strCaption2 = "کوشش مجدد"
    strCaption3 = "چشم پوشی"
    Case MessageBoxButtons.OK
    strCaption1 = "تایید"
    Case MessageBoxButtons.OKCancel
    strCaption1 = "تایید"
    strCaption2 = "لغو"
    Case MessageBoxButtons.RetryCancel
    strCaption1 = "کوشش مجدد"
    strCaption2 = "لغو"
    Case MessageBoxButtons.YesNo
    strCaption1 = "بله"
    strCaption2 = "خیر"
    Case MessageBoxButtons.YesNoCancel
    strCaption1 = "بله"
    strCaption2 = "خیر"
    strCaption3 = "لغو"
    Case MessageBoxButtons.OK
    strCaption1 = "تایید"
    End Select
    'If Title = "" Then Title = Application.ProductName
    Dim myWndProc As CallBack_WinProc = New CallBack_WinProc(AddressOf WinProc)
    hInst = GetWindowLong(1, GWL_HINSTANCE)
    Thread = GetCurrentThreadId()
    hHook = SetWindowsHookEx(WH_CBT, myWndProc, hInst, Thread)
    'Return MessageBox.Show(Prompt, Title, buttons, icon, DefaultButton, options)

    Return MsgBox(Prompt, buttons + icon + DefaultButton + MsgBoxStyle.MsgBoxRight + options + m, Title)
    End Function

    Private Shared Function WinProc(ByVal uMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
    Dim myEnumProc As CallBack_EnumWinProc = New CallBack_EnumWinProc(AddressOf EnumWinProc)
    If uMsg = HCBT_ACTIVATE Then
    EnumChildWindows(wParam, myEnumProc, 0)
    UnhookWindowsHookEx(hHook)
    End If
    Return 0
    End Function

    Private Shared Function EnumWinProc(ByVal hWnd As Integer, ByVal lParam As Integer) As Integer
    Dim strBuffer As StringBuilder = New StringBuilder(256)
    TopCount += 1
    GetClassName(hWnd, strBuffer, strBuffer.Capacity)
    Dim ss As String = strBuffer.ToString()
    If (ss.ToUpper().StartsWith("BUTTON")) Then
    ButtonCount += 1
    Select Case (ButtonCount)
    Case 1
    SetWindowText(hWnd, strCaption1)
    Exit Select
    Case 2
    SetWindowText(hWnd, strCaption2)
    Exit Select
    Case 3
    SetWindowText(hWnd, strCaption3)
    Exit Select
    End Select
    End If
    Return ButtonCount
    End Function
    End Class


    واقعا ممنون از لطفتون.فقط یه سوال: این کدو میتونم تو ای اس پی استفاده کنم؟
    و اینکه به زبان سی # چی میشه؟

  11. #11
    کاربر دائمی آواتار barbodsoft.com
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    آمل
    سن
    44
    پست
    469

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    من سی شارپ کار نکردم. ولی یک سری سایت هستن که کد های vb رو به C#‎ و برعکس تبدیل می کنن. مانند این سایت

  12. #12
    کاربر دائمی
    تاریخ عضویت
    شهریور 1382
    محل زندگی
    هلند
    پست
    1,709

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    نقل قول نوشته شده توسط رزابرنامه یاب مشاهده تاپیک
    واقعا ممنون از لطفتون.فقط یه سوال: این کدو میتونم تو ای اس پی استفاده کنم؟
    و اینکه به زبان سی # چی میشه؟
    سلام
    آخه ASP.NET ، مسیح باکسش کجا بود که بخوای فارسی کنی

  13. #13
    کاربر دائمی آواتار swallow.pa
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    توی خونه
    پست
    897

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    اين موضوعاتي كه مطرح شده بود در رابطه با فارسي كردن مسيج باكسه اما اگه بخوايم شكل و قيافه مسج باكس رو سفارشي كنيم چيكار كنيم

  14. #14

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    دوست و استاد عزيز به نظر شما اين كد را بصورت كلاس بنويسيم بهتره يا ماژول ؟

  15. #15

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    این فقط مال ویندوز xp هست
    این خطا رو تو seven میده
    The value of argument 'buttons' (524288) is invalid for Enum type 'MessageBoxButtons'. Parameter name: buttons

  16. #16

    نقل قول: فارسی کردن نوشته روی دکمه‌های MessageBox

    عزیزان MessageBox چیزی جز یک کلاس فرم ساده شده نیست
    چرا ایندر لقمه رو دور دهن می چرخونید و پیچیده ش می کنید
    یک کلاس dll درست کنید و فرمشو اونجوری که دوست دارید بسازید و بعد هر وقت لازم شد نمایش بدید !

تاپیک های مشابه

  1. messagebox در دلفی
    نوشته شده توسط lajevardi106 در بخش برنامه نویسی در Delphi
    پاسخ: 7
    آخرین پست: چهارشنبه 28 تیر 1396, 23:33 عصر
  2. فارسی کردن دکمه های messagebox
    نوشته شده توسط barati_1367 در بخش VB.NET
    پاسخ: 17
    آخرین پست: یک شنبه 02 آذر 1393, 20:21 عصر
  3. Right to Let کردن متن عنوان MessageBox
    نوشته شده توسط babak23 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: جمعه 14 دی 1386, 23:36 عصر
  4. درخواست : یه Messagebox ی میخواهم که کاربر نتونه بیشتر از 7 کاراکتر وارد کنه
    نوشته شده توسط hp1361 در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: سه شنبه 07 شهریور 1385, 18:47 عصر
  5. کلیدهای فارسی برای MessageBox
    نوشته شده توسط once4ever در بخش C#‎‎
    پاسخ: 5
    آخرین پست: جمعه 22 اردیبهشت 1385, 19:44 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •