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

Ваш аккаунт

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

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

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

Visual c++ CClientDC

12K
24 октября 2005 года
nirv
5 / / 23.10.2005
Ответьте пожалуйста на вопрос! Я в общем недавно начал программить и тут естественно возникла одна сложность. Мне нада было нарисовать синусойду в диалоговом окне в объекте Picture. В общем я определил этот объект
CWnd* p_Canvas=GetDlgItem(IDC_STATIC);
p_Canvas->GetWindowRect(&m_Canvas);
ScreenToClient(&m_Canvas);
m_Canvas.DeflateRect(2,2,1,1);
с переделыванием координат (совсем чуть чуть)
дальше определяю контекст устройства
и рисую синусойду
CClientDC dc (this);
CPen NewPen(PS_DOT, 1, RGB(0,0,255));
dc.SelectObject(&NewPen);
dc.IntersectClipRect(&m_Canvas);
for (x=0;x<1000;x=x+0.1)
{
dc.MoveTo(x1,y1);
y=2*sin(x/3-pi/6)*10;
y=y+50;
dc.LineTo(x,y);
x1=x;
y1=y;
}
Синусойду он рисует как положено в(Picture) тока координаты он считает относительно окна, а не области для рисование. Т.е. когда перетащиш на другое место объект Picture то на экран ничего не выводится.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог