zoukankan      html  css  js  c++  java
  • [游戏学习23] MFC 画尺子

    >_<:这是个简单的MFC程序,有利于了解MFC的框架结构

    >_<:Ruler.h

     1 #include<afxwin.h>
     2 class CMyApp:public CWinApp
     3 {
     4 public:
     5     virtual BOOL InitInstance();
     6 };
     7 class CMainWindow:public CFrameWnd
     8 {
     9 public:
    10     CMainWindow();
    11 protected:
    12     afx_msg void OnPaint();
    13     DECLARE_MESSAGE_MAP();
    14 };

    >_<:Ruler.cpp

     1 #include<afxwin.h>
     2 #include"Ruler.h"
     3 CMyApp myApp;
     4 //////////////////////////////////////////////
     5 //CMyApp member function
     6 BOOL CMyApp::InitInstance()
     7 {
     8     m_pMainWnd=new CMainWindow;
     9     m_pMainWnd->ShowWindow(m_nCmdShow);
    10     m_pMainWnd->UpdateWindow();
    11     return TRUE;
    12 }
    13 /////////////////////////////////////////////
    14 //CMainWindow message map and member function
    15 BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
    16     ON_WM_PAINT()
    17 END_MESSAGE_MAP()
    18 
    19 CMainWindow::CMainWindow()
    20 {
    21     Create(NULL,_T("Ruler"),WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL);
    22 }
    23 
    24 void CMainWindow::OnPaint()
    25 {
    26     CPaintDC dc(this);
    27 
    28     //屏幕初始化
    29     dc.SetMapMode(MM_LOENGLISH);//0.01in  ;1英寸映射
    30     dc.SetTextAlign(TA_CENTER|TA_BOTTOM);
    31     dc.SetBkMode(TRANSPARENT);
    32 
    33     //画尺子主题
    34     CBrush brush(RGB(255,255,0));
    35     CBrush* pOldBrush=dc.SelectObject(&brush);
    36     dc.Rectangle(100,-100,1300,-200);
    37     dc.SelectObject(pOldBrush);
    38 
    39     //画刻度
    40     for(int i=125;i<1300;i+=25){
    41         dc.MoveTo(i,-192);
    42         dc.LineTo(i,-200);
    43     }
    44     for(int i=150;i<1300;i+=50){
    45         dc.MoveTo(i,-184);
    46         dc.LineTo(i,-200);
    47     }
    48     for(int i=200;i<1300;i+=100){
    49         dc.MoveTo(i,-175);
    50         dc.LineTo(i,-200);
    51 
    52         CString string;
    53         string.Format(_T("%d"),(i/100)-1);
    54         dc.TextOutA(i,-175,string);
    55     }
    56 
    57     //商标
    58     
    59     //CRect rect(125,-125,175,-150);
    60     //CString string=_T("晨光");
    61     //dc.DrawText(string,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
    62     dc.SetTextColor(RGB(192,192,192));
    63     dc.TextOutA(125,-125,"晨光");
    64 }
  • 相关阅读:
    MyBatis学习(五)resultMap测试
    MyBatis学习(四)XML配置文件之SQL映射的XML文件
    Mybatis学习(三)XML配置文件之mybatis-config.xml
    每次回顾,总会有一点小收获!
    php数组去重、魔术方法、redis常用数据结构及应用场景
    MySQL使用可重复读作为默认隔离级别的原因
    后端程序猿标配之linux命令
    常用字符串函数
    nginx配置隐藏index.php
    MySQL的sql_mode解析与设置
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/3735223.html
Copyright © 2011-2022 走看看