Перейти к содержанию
Fire Monkey от А до Я
  • 0

Обработка Сообщений Windows


VirusZ2D

Вопрос

как правильно подключить функцию на Delphi робит на c++ нет ((

HWND FHwnd;

LONG_PTR OldWndProc;

 

в создании формы

    FHwnd = Fmx::Platform::Win::WindowHandleToPlatform(Handle)->Wnd;
    OldWndProc = GetWindowLongPtr(FHwnd, GWL_WNDPROC);
    SetWindowLongPtr(FHwnd, GWL_WNDPROC, LONG_PTR(MyWndProc));

 

 LRESULT __stdcall MyWndProc(HWND Hwnd,UINT Msg, WPARAM WParam,LPARAM LParam)
{
   if (Msg == WM_MOVE) {
          ShowMessage("Тест") ;
   }
   return CallWindowProc(OldWndProc,Hwnd, Msg, WParam, LParam); /////// ошибка  E2034 Cannot convert 'long' to 'long (__stdcall *)(HWND__ *,unsigned int,unsigned int,long)'
}

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

сам же и отвечаю )))

заменить 

LONG_PTR OldWndProc;

на

typedef LRESULT(__stdcall * func)(HWND,unsigned,WPARAM,LPARAM);
func OldWndProc;

 

OldWndProc = GetWindowLongPtr(FHwnd, GWL_WNDPROC);

на

OldWndProc = (func)GetWindowLongPtr(FHwnd, GWL_WNDPROC);

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...