Глава 5
Теперь хорошо сделать так, чтобы курсор оказавшись на поле противника
становился прицелом.
BOOL CField::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
if(m_Mode == FOREIGN_FIELD && (m_Operation == FIRE || m_Operation == WAIT))
{
::SetCursor(m_cFire);
return true;
}
return CStatic::OnSetCursor(pWnd, nHitTest, message);
}
Для этого надо включить в ресурсы соответствующую картинку.
cur00001.cur
cursor1.cur
cur00002.cur
cur00003.cur
<File
RelativePath=".\res\cur00001.cur">
</File>
<File
RelativePath=".\res\cur00002.cur">
</File>
<File
RelativePath=".\res\cur00003.cur">
</File>
<File
RelativePath=".\res\cursor1.cur">
</File>
/////////////////////////////////////////////////////////////////////////////
//
// Cursor
//
IDC_SIGHT CURSOR DISCARDABLE "res\\cursor1.cur"
IDC_FIRE CURSOR DISCARDABLE "res\\cur00001.cur"
IDC_DEFAULT CURSOR DISCARDABLE "res\\cur00003.cur"
//IDC_MOVE CURSOR DISCARDABLE "res\\H_move.cur"
IDC_HAND CURSOR DISCARDABLE "res\\cur00002.cur"
#define IDC_SIGHT 138
#define IDC_FIRE 140
#define IDC_DEFAULT 142
#define IDC_HAND 155
m_cFire = ::LoadCursor(hInst, MAKEINTRESOURCE(IDC_FIRE));
Ну вот! Теперь стреляем так как надо! Программа наша становится все более
умелой. Далее надо научить компютер отвечать на наши выстрелы своими.
На скриншотах курсор никогда не бывает виден. Но выглядит он на чужом поле как
прицел.
Назад |
Начало урока |
Вверх |
Вперед
Содержание