الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اضيف لغه للاعدادات الاقليميه باستخادم الكود

مغلق
بدأه eng_ashraf في 16 نوفمبر 2006 · 2 رد · 422 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني الاعزاء اريد ان اعرف كيف اضيف لغه معينه للاعدادات الاقليميه"regional and language options باستخدام الكود"

المهندس

#2

منسوخ من الـ API Guide

'This example was created by A.E.Veltstra

'This fucntion changes the locale and as a result, the keyboardlayout gets adjusted

'parameters for api's
Const KL_NAMELENGTH As Long = 9					  'length of the keyboardbuffer
Const KLF_ACTIVATE  As Long = &H1					 'activate the layout

'the language constants
Const LANG_NL_STD As String = "00000413"
Const LANG_EN_US As String = "00000409"
Const LANG_DU_STD As String = "00000407"
Const LANG_FR_STD As String = "0000040C"

'api's to adjust the keyboardlayout
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" (ByVal pwszKLID As String) As Long
Private Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Public Function SetKbLayout(strLocaleId As String) As Boolean
	'Changes the KeyboardLayout
	'Returns TRUE when the KeyboardLayout was adjusted properly, FALSE otherwise
	'If the KeyboardLayout isn't installed, this function will install it for you
	On Error Resume Next
	Dim strLocId As String 'used to retrieve current KeyboardLayout
	Dim strMsg As String   'used as buffer
	Dim lngErrNr As Long   'receives the API-error number

  'create a buffer
  strLocId = String(KL_NAMELENGTH, 0)
  'retrieve the current KeyboardLayout
  GetKeyboardLayoutName strLocId
  'Check whether the current KeyboardLayout and the
  'new one are the same
  If strLocId = (strLocaleId & Chr(0)) Then
	'If they're the same, we return immediately
	SetKbLayout = True
  Else
	'create buffer
	strLocId = String(KL_NAMELENGTH, 0)
	'load and activate the layout for the current thread
	strLocId = LoadKeyboardLayout((strLocaleId & Chr(0)), KLF_ACTIVATE)
	If IsNull(strLocId) Then  'returns NULL when it fails
	  SetKbLayout = False
	Else 'check again
	  'create buffer
	  strLocId = String(KL_NAMELENGTH, 0)
	  'retrieve the current layout
	  GetKeyboardLayoutName strLocId
	  If strLocId = (strLocaleId & Chr(0)) Then
		SetKbLayout = True
	  Else
		SetKbLayout = False
	  End If
	End If
  End If
End Function
Private Sub Form_Load()
	'change the current keybour layout to 'English - US'
	SetKbLayout LANG_EN_US
End Sub

بس ما عنديش فكرة عن ثوابت باقى اللغات

#3

مشكووووووووووووووووووووووووووووووووووووووور

المهندس

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…