Показать сообщение отдельно
Старый 21.09.2007, 12:52   #1  
Asterisk is offline
Asterisk
Участник
 
36 / 16 (1) ++
Регистрация: 24.10.2005
Адрес: Москва
"Резиновая нить" при рисовании на картинке
Здравствуйте , уважаемые коллеги !
Хочу спросить , реализовывал ли кто - нибудь метод рисования "Резиновой нити" в Аксапте . То есть жмякаешь на image левой кнопкой мыши , удерживая кнопку ведешь мышью до определенной точки , и по мере движения динамически перерисовывается прямоугольник который ты хочешь нарисовать . После отпускания кнопки , рисуется закрашенный прямоугольник . В винде я в давние времена делал это так :

void CProgressBarPainter:rawTempProgressBar(){
CClientDC dc(GetView());
CPoint point = dc.SetWindowOrg(GetView()->GetScrollPosition( ));

CPen pen,*selPen;
pen.CreatePen(PS_SOLID,1,GetView()->GetProgressBarColor());
selPen = dc.SelectObject(&pen);

dc.SetROP2(R2_NOT);
CRect rect(m_initPoint.x,m_initPoint.y,m_currPoint.x,m_bottom_y_coord);

dc.MoveTo(rect.left,rect.top);
dc.LineTo(rect.right,rect.top );
dc.LineTo(rect.right,rect.bottom);
dc.LineTo(rect.left,rect.bottom);

pen.DeleteObject();
}

Ключевыми здесь являются строки dc.SetROP2(R2_NOT) - инвертированный режим рисования . А вот как это делать в аксапте , с чего начать - не знаю Может кто-нибудь это уже реализовывал и поделится проектиком ?