Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.07.2010, 18:24
Mr.Ozu Mr.Ozu вне форума
Прохожий
 
Регистрация: 30.07.2010
Сообщения: 1
Репутация: 10
Восклицание окно CreateWindow + смена языков

Создаю окно с помощью WINAPI – CreateWindow со стандартным обработчиком сообщений

Код:
program Project1;

uses
  Windows,
  Messages;


Function RegClass(NameClass: PAnsiChar):Boolean;stdcall;
  var WC : WNDClassEX;
      Icon1 : HIcon;
  Begin
  ZeroMemory(@WC,sizeof(WC));
  WC.cbSize := sizeof(WC);
  WC.style := 0;
  WC.lpfnWndProc := @DefWindowProc;
  WC.hInstance := GetModuleHandle(nil);
  Icon1 :=  LoadIcon(GetModuleHandle(nil),'MAINICON');
  WC.hIcon := Icon1;
  WC.hIconSm := Icon1;
  WC.hCursor := LoadCursor(0,IDC_ARROW);
  WC.hbrBackground := COLOR_WINDOW;
  WC.lpszClassName := NameClass;
  if RegisterClassEx(WC)<> 0 then  Result := True
  else Result := False;
  end;

var H : HWND;
    Mess : tagMSG;
begin
if RegClass('_Rc') then
 Begin
   H := CreateWindow('_Rc','MyWnd',WINDOWS.WS_OVERLAPPEDWINDOW,0,0,500,200,HWND(nil),hMenu(nil),GetModuleHandle(nil),nil);
   ShowWindow(H,SW_SHOW);
 While (Integer(GetMessage(Mess,H,0,0)) > 0) do
  begin
   TranslateMessage(Mess);
   DispatchMessage(Mess);
  end;
 end;

end.
Жму F9, появляется окно.
1) При попытке сменить язык кликая курсором по языковой панели получаю подвисание + панель не показует список языков;
2) Пытаюсь сменить язык с помощью Shift + Alt – работает но не так как на делфовской форме, т.е. при простом нажатии Shift + Alt как повезет то переключится то нет, но если кликнуть и зажать ЛКМ на заголовке окна и нажимая комбинацию клавиш все замечательно работает.

Такое ощущение, что сообщение WM_INPUTLANGCHANGEREQUEST просто не доходит до обработчика пока за ним не построиться очередь из других сообщений

Кто что может посоветовать по устранению эффектов 1 и 2 ?
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:07.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter