比方说,点击按钮就在特定地方画一条线,单击鼠标就在鼠标的坐标那里画一个圈,应该怎样做?
解决方案 »
- vc 的方向属性 怎么用,有什么范例
- 请教关于CFtpFileFind::FindFile找不到空的文件夹~
- 关于两个语句的用法。
- 接着上次的问,如何限制EditBox的输入仅一个小数点?
- 哪位仁兄还有关于intallshield的多个setup程序组合到一个程序中的例子,求教。
- 急:如何把UTF-8编码的串转换成GB2312的串?
- 如何判断Ctrl+其它键同时按下?
- 请问cout << "text_out" << endl;语句的结果显示在什么地方。
- 谁遇到过1114错误,请帮个忙
- 对话框间通讯问题!
- ClistCtrl如何设置某行为当前选择行。...
- 请教:想为自己的软件做一个身份确认界面
http://www.alphasun.org/alphasun/Kinetic/index.htm
CDC::LineTo
{
CPaintDC dc(this); // device context for painting
CPen *pOldPen;
if(m_nMode == 0)
{
CPen pen(PS_SOLID,2,RGB(0,255,0));
pOldPen = dc.SelectObject(&pen);
dc.Arc(m_rcPic,CPoint(m_rcPic.left,m_rcPic.top),CPoint(m_rcPic.left,m_rcPic.top));
dc.SelectObject(pOldPen);
}
if(m_nMode == 1)
{
CPen pen(PS_SOLID,2,RGB(0,0,255));
pOldPen = dc.SelectObject(&pen);
dc.MoveTo(m_rcPic.left,(m_rcPic.right+m_rcPic.left)/2);
dc.LineTo(m_rcPic.right,(m_rcPic.right+m_rcPic.left)/2);
dc.SelectObject(pOldPen);
}
}
void CDrawPicDlg::OnDrawLine() //按钮
{
m_nMode = 1;
InvalidateRect(m_rcPic);
}void CDrawPicDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
if(m_rcPic.PtInRect(point))
{
m_nMode = 0;
InvalidateRect(m_rcPic);
}
CDialog::OnLButtonDown(nFlags, point);
}//定义私有变量
CRect m_rcPic;//
int m_nMode;//初始化为-1
//在对话框上放置静态picture控件IDC_PIC,大小自己调整。
//在OnInitialDialog()中添加
GetDlgItem(IDC_PIC)->GetWindowRect(m_rcPic);
ScreenToClient(&m_rcPic);
现在试试看结果。