Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2009, 16:03   #1
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Подмигивание Аналог языковой панели

Доброго времени суток !

По нужде и для опыта решил написать программу аналог "Языковой палени" windows.
Одно из основных функций - отображение текущей раскладки (языка).
Хотелось бы при запуске программы "установить" в системе 2 языка (Рус/Англ). Так же как это делается в ручную в диалоге :

Пуск - Панель управления - Язык и региональные стандарты - Языки - Подробнее - Добавить

А чтобы быть точнее , хотелось бы удалить все языки перед этим чтобы установить 2 нужных.
Часто "языковая панель" не отображается на панели задач , по настройкам или изза глюченной виндовс. Также народные умельцы устанавливают всякие албанские языки и работать без запарки трудно) Далеко не все знают как установить нужный язык)(Универ , кабинеты информатики)

Вот хотелось бы спросить в какую сторону рыть , или может есть чтонибудь похожее готовое , ну или на крайний случай нормально сформулировать гуглу вопрос) У меня увы не получается(((

Всем спасибо за отзывы !
Lime вне форума Ответить с цитированием
Старый 03.09.2009, 16:06   #2
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
Одно из основных функций - отображение текущей раскладки (языка).
а в чем трудность?
Код:
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Узнать текущую раскладку клавиатуры в любом активном окне

возвращает числовое значение соответственно установленной раскладке

Зависимости: windows
Автор:       KosilkA, gloom@imail.ru, Koenigsberg
Copyright:   delphi help и немного усердия :-)
Дата:        4 декабря 2003 г.
***************************************************** }

if GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow, nil)) = 67699721 then
  //раскладка английская
else
  //раскладка НЕанглийская, например 68748313 соответствует русской
delphiworld
там же
програмное переключение раскладки
Код:
//На русский
procedure TForm1.Button1Click(Sender: TObject);
var
  Layout: array[0.. KL_NAMELENGTH] of char;
begin
  LoadKeyboardLayout( StrCopy(Layout,'00000419'),KLF_ACTIVATE);
end;

//На английский
procedure TForm1.Button2Click(Sender: TObject);
var
  Layout: array[0.. KL_NAMELENGTH] of char;
begin
  LoadKeyboardLayout(StrCopy(Layout,'00000409'),KLF_ACTIVATE);
end;
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 03.09.2009, 16:10   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

На всякий случай, вот отрезок кода для переключения раскладок:
Код:
//На русский
procedure TForm1.Button1Click(Sender: TObject);
var
  Layout: array[0.. KL_NAMELENGTH] of char;
begin
  LoadKeyboardLayout( StrCopy(Layout,'00000419'),KLF_ACTIVATE);
end;

//На английский
procedure TForm1.Button2Click(Sender: TObject);
var
  Layout: array[0.. KL_NAMELENGTH] of char;
begin
  LoadKeyboardLayout(StrCopy(Layout,'00000409'),KLF_ACTIVATE);
end;

Опоздал((((
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 03.09.2009, 16:11   #4
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

http://delphiworld.narod.ru/_all_articles_.html
На данной странице введи в поиск браузера Язык - [18]

Я думаю материала для начала достаточно там.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 03.09.2009, 19:39   #5
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Всем спасибо за информацию , когда создавал тему только начал скачивать DW c базами ... скорость к сожалению не ахти)

Проблема не в отображении а в установке/удалении из системы некоторых языков ...( точнее удаление всех установка рус/англ).

Переключение примерно теми-же вариантами нашел из других источников ...
Но как я понимаю переключение следует осуществлять убедившись что такие языки установлены ... ( а вместо проверки их можно просто установить ...)

Последний раз редактировалось Lime; 03.09.2009 в 19:41.
Lime вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение смены языка (замена языковой панели), Delphi 7 AndersX Помощь студентам 2 29.07.2009 12:21
Аналог панели задач. не могу разобраться с последовательностью выполнения программы Paul Hindenburg Общие вопросы Delphi 1 09.04.2009 23:45
Панели на брузеры NORS Софт 7 24.02.2009 04:36
расстворение панели blackstersl Общие вопросы Delphi 1 28.09.2008 02:13
Подсказки кнопок на панели CrazyProgramer Общие вопросы Delphi 9 07.08.2008 19:29