Показать сообщение отдельно

  #164  
Старый 02.01.2008, 04:06
Georg Jung
Новичок
Регистрация: 02.01.2008
Сообщений: 2
Провел на форуме:
3754

Репутация: 0
По умолчанию

Каким образом с помощью MFC реализовать следующее:
1. Приложение должно при нажатии клавиш к примеру 1,2,3, ........ выводить графические фигуры (Проблема в том что какое сообщение вставлять в карту? Это WM_CHAR ? и как потом реализацию отклика на сообщение связать с WM_PAINT ....... так чтобы появлялась нужная фигура)
2. Приложение под управлением таймера выводит на экран графические фигуры с заданным интервалом (Как в void CMyMainWnd::OnTimer(UINT nIDEvent) это можно осуществить ? )
3. Нужно чтобы с помощью клавиш "вверх - вниз" изменялась частота таймера.

Шаблон данных приложений примерно такого вида:

#include <afxwin.h>

class CMyMainWnd:
public CFrameWnd
{public:

CMyMainWnd()

{
Create(NULL,"$ - Djigser");
SetTimer(1,1000,NULL);
}
afx_msg void OnTimer(UINT);
DECLARE_MESSAGE_MAP()


~CMyMainWnd()

{
KillTimer(1);

}

};
BEGIN_MESSAGE_MAP(CMyMainWnd,CFrameWnd)

ON_WM_TIMER()
END_MESSAGE_MAP()

class CMyApp :
public CWinApp
{public:

CMyApp(){};

virtual BOOL InitInstance()
{
m_pMainWnd=new CMyMainWnd();
m_pMainWnd->ShowWindow(SW_SHOW);
return TRUE;
}
};
CMyApp theApp;


void CMyMainWnd::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
CClientDC dc(this);
CBrush brush;
brush.CreateSolidBrush(RGB(0,0,255));
CBrush* def_brush = dc.SelectObject(&brush);
dc.Ellipse(5,5,50,50);
dc.SelectObject(def_brush);
brush.DeleteObject();
}
}

Был бы признателен за оказанную помощь.
 
Ответить с цитированием