以下一段代码是在Picture框画线,但是不能画出,请高手指点:
CDC *m_CDC=m_StaticPicture.GetDC(); //m_StaticPicture是控件Picture对象,其类型风格是矩形框。
CPen pen;
i=m_RouteIndox+1;
pen.CreatePen(PS_SOLID,1, RGB(128,128,128));
m_CDC->SetROP2(R2_NOT);
oldpen=m_CDC->SelectObject(&pen);
m_CDC->MoveTo(0,0);
m_CDC->LineTo(10,10);
m_CDC->LineTo(0,10);
m_CDC->SelectObject(oldpen);
pen.DeleteObject();
CDC *m_CDC=m_StaticPicture.GetDC(); //m_StaticPicture是控件Picture对象,其类型风格是矩形框。
CPen pen;
i=m_RouteIndox+1;
pen.CreatePen(PS_SOLID,1, RGB(128,128,128));
m_CDC->SetROP2(R2_NOT);
oldpen=m_CDC->SelectObject(&pen);
m_CDC->MoveTo(0,0);
m_CDC->LineTo(10,10);
m_CDC->LineTo(0,10);
m_CDC->SelectObject(oldpen);
pen.DeleteObject();
解决方案 »
- 如何改变CFormView中控件的大小和位置
- 在MDI工程中,如何得到视图对应的子边框窗口对象的指针?
- 谁能解决一个大问题
- ◆◆◆(100)分求救:关于消息映射的问题!
- 关于进程间共享数据问题
- Win32 SDK编程指的是什么?
- 能否造一个方便易用的string类型,它的构造函数支持很多格式的定义,请给出代码好吗?
- 怎样去掉BCG Control Bar Application Wizard?
- win7下注入进程崩溃
- 波形显示问题
- Windows Header Control 能够象 Windows 2000 Resource Explorer里的一样可以拖动 Header 吗?
- Help Help!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
换一种颜色试试
你换一个控件试试看,或者直接在client里画一个rect,然后在里面用同样的方法画,我试过,可以的
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMytoolDlg)
DDX_Control(pDX, IDC_PICT, m_StaticPicture);
//}}AFX_DATA_MAP
}void CMytoolDlg::OnPaint()
{
//其中IDC_PICT是控件Picture的ID
GetDlgItem(IDC_PICT)->RedrawWindow(); CDC *m_CDC=m_StaticPicture.GetDC();
CPen pen;
//int i=m_RouteIndox+1;
pen.CreatePen(PS_SOLID,1, RGB(128,128,128));
m_CDC->SetROP2(R2_NOT);
CPen* oldpen=m_CDC->SelectObject(&pen);
m_CDC->MoveTo(0,0);
m_CDC->LineTo(10,10);
m_CDC->LineTo(0,10);
m_CDC->SelectObject(oldpen);
pen.DeleteObject(); if (IsIconic())
{
CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
... ...
// VectorPlot.h : header file
class CVectorPlot : public CStatic
// VectorPlot.cpp
void CVectorPlot::OnPaint()
{
CPaintDC dc(this); // device context for painting
CBrush br(GetSysColor(COLOR_BTNFACE));
//画圆
dc.Ellipse(CRect(m_pntLeftTop,m_pntBottomRight));
//画x,y方向的轴线
.............
}