C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Пысылка сообщения, преобразование типа
Anry
  Отправлено: 17.06.2003, 14:42


Дежурный стрелочник

Группа: Участник
Сообщений: 56



Есть такая функция:
void __fastcall AnButtonLite::WMLButtonDblClk(Messages::TWMMouse &Message)
{
Perform(WM_LBUTTONDOWN, Message.Keys, (int)Message.Pos);
}
Получаю сообщение об ошибке преобразования типа.
В данном случае Message.Pos — структура типа TSmallPoint. В этой структуре находится координата мыши x — short и y — short.
Дело в том, что переписывая с паскаля, тоже самое выглядит как Longint(Message.Pos).
Как быть?
Георгий
Отправлено: 17.06.2003, 23:02


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



не знаю почему в паскале работало, но по описанию WM_LBUTTONDOWN

WM_LBUTTONDOWN
fwKeys = wParam; // key flags
xPos = LOWORD(lParam); // horizontal position of cursor
yPos = HIWORD(lParam); // vertical position of cursor

надо делать так:
CODE
DWORD pos;
pos=Message.YPos;
pos<<=16;
pos|=Message.XPos;
Perform(WM_LBUTTONDOWN, Message.Keys, pos);

Вернуться в Вопросы программирования в C++Builder