Ошибка работы <input> при сабкласинге
От: DemonS77  
Дата: 17.03.11 09:21
Оценка:
Добрый день!
Беру код из примеров "skin", модифицирую конец "skin.cpp"
   OldWndProc = (WNDPROC)SetWindowLongPtr((pwnd->hwnd), GWLP_WNDPROC, (LPARAM)(WNDPROC)(WindowProc));
   ShowWindow(pwnd->hwnd, nCmdShow);
   UpdateWindow(pwnd->hwnd);

   return TRUE;


новая функция окна имеет вид:
LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     return CallWindowProc(OldWndProc, hwnd, message, wParam, lParam);
}

В результате, невожможно ввести русские символы в "<input type="text" />". Нажатие последовательности "qweasdzxc" приводит к отображению "9FCDK2OGA".
Прошу помочь решить проблему.
русский текст input htmlayout
Re: Ошибка работы <input> при сабкласинге
От: c-smile Канада http://terrainformatica.com
Дата: 17.03.11 15:36
Оценка:
Здравствуйте, DemonS77, Вы писали:

DS> В результате, невожможно ввести русские символы в "<input type="text" />". Нажатие последовательности "qweasdzxc" приводит к отображению "9FCDK2OGA".

DS>Прошу помочь решить проблему.

1) твой проект Unicode или Multibyte?
2) зачем там субклассинг вообще? Там же функция окна в исходниках — добаляй в ней то что тебе нужно.
Re[2]: неправильно отображается html в mfc
От: DemonS77  
Дата: 18.03.11 09:13
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, DemonS77, Вы писали:


DS>> В результате, невожможно ввести русские символы в "<input type="text" />". Нажатие последовательности "qweasdzxc" приводит к отображению "9FCDK2OGA".

DS>>Прошу помочь решить проблему.

CS>1) твой проект Unicode или Multibyte?

CS>2) зачем там субклассинг вообще? Там же функция окна в исходниках — добаляй в ней то что тебе нужно.

1. Проект в multibyte.
2. Дело в том, что я хотел регистрировать один общий класс окна, а функционал по обработке пользовательских (WM_USER+) сообщений подключать сабкласингом.
Проблему я обойду путем написания новой, полной функции окна, но странно, что сабкласинг приводит к такому неожиданному эффекту...
Re[3]: неправильно отображается html в mfc
От: c-smile Канада http://terrainformatica.com
Дата: 19.03.11 00:54
Оценка:
Здравствуйте, DemonS77, Вы писали:

CS>>1) твой проект Unicode или Multibyte?

CS>>2) зачем там субклассинг вообще? Там же функция окна в исходниках — добаляй в ней то что тебе нужно.

DS>1. Проект в multibyte.


А функция окна Unicode в skin примере.

DS>2. Дело в том, что я хотел регистрировать один общий класс окна, а функционал по обработке пользовательских (WM_USER+) сообщений подключать сабкласингом.

DS>Проблему я обойду путем написания новой, полной функции окна, но странно, что сабкласинг приводит к такому неожиданному эффекту...

subclassing нужно грамотно делать. Например вот так:

LRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     return CallWindowProcW(OldWndProc, hwnd, message, wParam, lParam);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.