Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как под MFC нарисовать фигуру, так, чтобы она падала вниз по экрану

14K
25 марта 2007 года
Tugodum
13 / / 10.09.2006
Люди, помогите... Надо нарисовать фигуру, которая будет падать вниз по экрану и реагировать на кнопки влево и вправо, т.е. соответственно перемещаться либо влево, либо вправо
398
25 марта 2007 года
Alexandoros
630 / / 21.10.2005
Помочь чем?
320
26 марта 2007 года
m_Valery
1.0K / / 08.01.2007
Добавляешь в класс диалогового окна переменные
int time; - счетчик
CRect rect; - прямоугольник
CBrush br; - кисть
HACCEL h;-акселлератор и функцию обработчик кнопки или пункта меню
afx_msg void OnBnClickedOk();
В конструкторе диалога задаешь начальные координаты прямоугольника
 
Код:
... rect.left = 20;
    rect.top = 0;
    rect.bottom = 30;
    rect.right = 50;...

В ф-ии OnInitDialog cоздаешь кисть
 
Код:
...
        br.CreateSolidBrush(RGB(255,0,0));
          ...

Добавляешь классу диалога ф-ию OnTimer(UINT nIDEvent),в ней пишешь
 
Код:
{
            time++;
    CClientDC dc(this);
    Invalidate();
             UpdateWindow();
    dc.FillRect(&rect,&br);
    rect.top += 10;
    rect.bottom += 10;
    CDialog::OnTimer(nIDEvent);
}

A в ф-ии обработчике кнопки
 
Код:
CClientDC dc(this);
    dc.FillRect(&rect,&br);
    SetTimer(0,500,0);

Создается прямоугольник и падает вниз,таймер установлен на 0.5 сек.Для того чтобы им можно было управлять клавишами создаешь
акселлератор,добавляешь его в ресурсах и назначаешь ему обработчики
при помощи Add Event Handler.В OnInitDialog напишешь
 
Код:
...h = ::LoadAccelerators(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_ACCELERATOR4));...

h - акселлератор,надо добавить в класс диалога
HACCEL h;
14K
26 марта 2007 года
Tugodum
13 / / 10.09.2006
Спасибо, большое. Очень помогло...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог