Привет всем.
Я пишу игру на DirectX7 и у меня возникла следующая проблема. Мне надо сделать кнопку. У кнопки 3 состояния: up (ненажата), down (курсор мыши над кнопкой и нажата левая кнопка мыши) и over (курсор мыши над кнопкой). Вопрос: как определить, что нажата левая кнопка мыши??? Я использую код:
HRESULT hRes;
DIDEVICEOBJECTDATA dod;
DWORD dwElements = 1;
while(!bDone){
hRes = pDIMouse->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), &dod, &dwElements, 0);
if(hRes == DIERR_INPUTLOST){
pDIMouse->Acquire();
hRes = pDIMouse->GetDeviceData(sizeof(DIDEVICEOBJECTDATA), &dod, &dwElements, 0);
}
if(FAILED(hRes) || dwElements == 0)
return mousedata;
switch(dod.dwOfs){
...
case DIMOFS_BUTTON0:
if(dod.dwData & 0x80){
...
}
break;
}
}
но вот, что получается: когда я нажимаю кнопку мыши моя кнопка становится down и тут же возвращается в over, хотя кнопка мыши все еще нажата.
PS. Хотелось бы укидеть код, заранее спасибо.
31.03.03 16:33: Перенесено модератором из 'Прочее' — H_D