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

>_<:Ruler.h

 #include<afxwin.h>
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
class CMainWindow:public CFrameWnd
{
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP();
};

>_<:Ruler.cpp

 #include<afxwin.h>
#include"Ruler.h"
CMyApp myApp;
//////////////////////////////////////////////
//CMyApp member function
BOOL CMyApp::InitInstance()
{
m_pMainWnd=new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
/////////////////////////////////////////////
//CMainWindow message map and member function
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP() CMainWindow::CMainWindow()
{
Create(NULL,_T("Ruler"),WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL);
} void CMainWindow::OnPaint()
{
CPaintDC dc(this); //屏幕初始化
dc.SetMapMode(MM_LOENGLISH);//0.01in ;1英寸映射
dc.SetTextAlign(TA_CENTER|TA_BOTTOM);
dc.SetBkMode(TRANSPARENT); //画尺子主题
CBrush brush(RGB(,,));
CBrush* pOldBrush=dc.SelectObject(&brush);
dc.Rectangle(,-,,-);
dc.SelectObject(pOldBrush); //画刻度
for(int i=;i<;i+=){
dc.MoveTo(i,-);
dc.LineTo(i,-);
}
for(int i=;i<;i+=){
dc.MoveTo(i,-);
dc.LineTo(i,-);
}
for(int i=;i<;i+=){
dc.MoveTo(i,-);
dc.LineTo(i,-); CString string;
string.Format(_T("%d"),(i/)-);
dc.TextOutA(i,-,string);
} //商标 //CRect rect(125,-125,175,-150);
//CString string=_T("晨光");
//dc.DrawText(string,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
dc.SetTextColor(RGB(,,));
dc.TextOutA(,-,"晨光");
}

[游戏学习23] MFC 画尺子的更多相关文章

  1. [游戏学习26] MFC 时间函数 画图形

    >_<:这里第一次介绍MFC的时间函数,功能和Win32里的计时器类似. >_<:这里还介绍了MFC的图形绘制函数,和Win32有一点区别 >_<:ABC.h #d ...

  2. [游戏学习25] MFC 橡皮筋画线效果

    >_<:这是给出窗口内外不同情况的处理展示的例子. >_<:MouseCap.h #include<afxwin.h> class CMyApp :public C ...

  3. [游戏学习22] MFC 井字棋 双人对战

    >_<:太多啦,感觉用英语说的太慢啦,没想到一年做的东西竟然这么多.....接下来要加速啦! >_<:注意这里必须用MFC和前面的Win32不一样啦! >_<:这也 ...

  4. [游戏学习24] MFC 各种绘图 字体学习

    >_<:这里包含字体设置及各种绘图,只要稍微看一下代码就能理解,这里不多介绍 >_<:Hello.h #include<afxwin.h> class CMyApp ...

  5. [游戏学习28] MFC 时钟

    >_<:这是一个时钟小程序 >_<:通过调用获得系统时间然后经过计算得出当前时间,然后再以3个圆环表示时分秒. >_<:TAO_CLOCK.h class CMyA ...

  6. [游戏学习27] MFC 匀速运动

    >_<:理解上一个时间函数的概念和用法,本节的实现也比较简单 >_<:就是简单的绘图+时间函数 >_<:TicTac.h #define EX 1 //该点左鼠标 ...

  7. MFC画线功能总结

    本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6216464.html MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始 ...

  8. 很值得学习的java 画图板源码

    很值得学习的java 画图板源码下载地址:http://download.csdn.net/source/2371150 package minidrawpad; import java.awt.*; ...

  9. 我的游戏学习日志3——三国志GBA

    我的游戏学习日志3——三国志GBA 三国志GBA由日本光荣公司1991~1995所推出<三国志>系列游戏,该作是光荣在GBA上推出的<三国志>系列作品的第一款.本游戏登场武将总 ...

随机推荐

  1. Func的介绍

    经常看到  Func<int, bool>...这样的写法,看到这样的就没有心思看下去了.我们学技术还是需要静下心来. 对Func<int,bool>的Func转到定义看它的解 ...

  2. matlab squeeze函数的用法

    matlab中squeeze函数用于删除矩阵中的单一维(Remove singleton dimensions),比如执行下面的代码,随机产生一个1x2x3的矩阵A,然后squeeze(A)将返回一个 ...

  3. 1032 - A-B 组合数学

    http://www.ifrog.cc/acm/problem/1032 1032 - A-B Time Limit:1s Memory Limit:128MByte Submissions:680S ...

  4. AESwithJCE http://www.coderanch.com/how-to/content/AES_v1.html

    Using AES with Java Technology By Rags SrinivasJune 2003 In September 2000, the National Institute o ...

  5. VS2013中,RDLC设置数据源和参数的界面

    今天打开RDLC文件设置参数和数据源时,始终找不到那个窗口,原来那个窗口叫“报表数据”,在“视图”菜单的最下面! 另外:要在当前窗口时打开的RDLC文件时,视图下面才有该选项!!! 参考:http:/ ...

  6. 从 Eclipse 导入项目到 Android Studio

    ADT已经有些过时了,现在比较流行的安卓开发工具是Android Studio,毕竟是谷歌一直在推广的. 最近装了as,从之前的adt迁移项目到as上,遇到了不少坎. 主要注意以下两点: (1)文件路 ...

  7. c语言中enum类型的用法

    11.10 枚举类型 在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量说明为整型,字符型或其它类型显然是不妥当的 ...

  8. tabbar底部标题和子控制器标题为什么会保持一致?

    原因: 1.当self.navigationItem.title,self.tabBarItem.title没有赋值情况下值和self.title一致. 2.当切换到该控制器页面的时候自己设置的sel ...

  9. workerman 的回调函数

    接下来,记录一下workerman 的回调函数 <?php /** * Created by PhpStorm. * User: zeopean * Date: 2016-08-26 * Tim ...

  10. 使用apache和htaccess对目录访问设置密码保护配置教程

    对目录设置密码保护配置说明我们有时候访问某些网站的时候,要求输入用户名和密码才能访问.这是为了保护隐私,只让经过许可的人访问.在本教程中主要介绍两种方法,一种是通过apache httpd.conf配 ...