Страница 2 из 2
Setclipboard и кириллица.
Добавлено: 13 Август 2015, 12:50
VWV
Вот и я столкнулся с абракадабрами в буфере обмена (Clarion 5.5.ШВС).
Прошу, покажите, как принудительно переключить раскладку из приложения.
Спасибо
Setclipboard и кириллица.
Добавлено: 13 Август 2015, 14:00
Admin
Setclipboard и кириллица.
Добавлено: 13 Август 2015, 14:19
kreator
Надеюсь, полный набор.
Код: Выделить всё
LPCSTR EQUATE(CSTRING)
LPSTR EQUATE(CSTRING)
HKL EQUATE(UNSIGNED)
HWND EQUATE(UNSIGNED)
HINSTANCE EQUATE(UNSIGNED)
Latin CSTRING('00000409')
Russian CSTRING('00000419')
SwitchKBD(String KBDLayout)
MODULE('WINAPI')
GetKeyboardLayoutList(SIGNED,*HKL),SIGNED,pascal,raw
ActivateKeyboardLayout(HKL,UNSIGNED),HKL,pascal
GetKeyboardLayoutName(*LPSTR),BOOL,pascal,raw,NAME('GetKeyboardLayoutName')
GetKeyboardLayout(DWORD),HKL,pascal
GetKeyboardLayoutNameA(*LPSTR),BOOL,pascal,raw
END
SwitchKBD Procedure (KBDLayout)
AKL HKL
TMP CSTRING(20)
loc:i Long
Code
loc:i = GetKeyboardLayoutNameA(Tmp)
if Tmp<>KBDLayout
AKL = ActivateKeyBoardLayout(1,0)
end
Всё прописывается в Global Embeds. Точки вставки определить просто.
Вызов функции:
Код: Выделить всё
i# = GetKeyboardLayoutNameA(LOC:Language)
if LOC:Language=Latin
SwitchKBD(Russian)
end
SETCLIPBOARD(TEKST)
if LOC:Language=Latin
SwitchKBD(Latin)
end
Setclipboard и кириллица.
Добавлено: 13 Август 2015, 15:21
VWV
Спасибо большое за помощь!