MFC繪製尺子

1 建立程序對象app

2 建立窗體對象this

3 實現Initstance ,MainwinAPP ,mainframeorm

1                   在Onpaint實現對象

2                   DC 設置 獲取brush  ,繪製尺子string

 

案例it

 

#include   "rule.h"class

MainWinApp  mainapp;date

BOOL  MainWinApp::InitInstance()程序

{nw

    m_pMainWnd = new MainFrame();

    m_pMainWnd->ShowWindow(m_nCmdShow);

    m_pMainWnd->UpdateWindow();

    return TRUE;

}

//註冊消息

BEGIN_MESSAGE_MAP(MainFrame,CFrameWnd)

    ON_WM_PAINT()

END_MESSAGE_MAP()

//實現窗體

MainFrame::MainFrame()

{

    Create(NULL,TEXT("Draw Ruler"));

}

 

void MainFrame::OnPaint()

{

    CPaintDC dc(this);

    dc.SetMapMode(MM_LOENGLISH);

    dc.SetTextAlign(TA_CENTER|TA_BOTTOM);

    CBrush brush(RGB(255,255,0));

    CBrush *pbrush = dc.SelectObject(&brush);

    dc.Rectangle(100,100,1300,-200);

    dc.SelectObject(pbrush);

    for (int i = 125; i < 1300; i += 25)

    {

        dc.MoveTo(i, -192);

        dc.LineTo(i, -200);

 

    }

    //文本顯示

    for (int i = 125; i < 1300; i += 100)

    {

        dc.MoveTo(i, -175);

        dc.LineTo(i, -200);

        CString string;

    string.Format(TEXT("%d"),(i/100)-1);

    dc.TextOutA(i,-175,string);

    }

   

}

 

 

#ifndef _AFXDLL

#define _AFXDLL

#endif

#include <afx.h>

#include <afxwin.h>

 

//定義程序對象

class  MainWinApp :public CWinApp

{

public :

    virtual BOOL InitInstance();

};

 

//窗體對象‘

class  MainFrame:public CFrameWnd

{

public:

    MainFrame();

protected:

    afx_msg void OnPaint();

    DECLARE_MESSAGE_MAP();

 

};

相關文章
相關標籤/搜索