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); | |
|