资源简介
学习C++和MFC的时候用VC6.0写的一个画图的demo小程序,主要总结一下MFC最基础的语法,实现了画线条,矩形,椭圆以及颜色,线条粗细,线条类型的设置 和 文字的输出、界面回车保存,字体设置,光标位置调整等,新学习MFC的童鞋可以看看。
代码片段和文件信息
#include “stdafx.h“
#include “BtnST.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CButtonST
CButtonST::CButtonST()
{
m_MouseOnButton = FALSE;
m_hIconIn = NULL;
m_hIconOut = NULL;
m_cxIcon = 0;
m_cyIcon = 0;
m_hCursor = NULL;
// Default type is “flat“ button
m_bIsFlat = TRUE;
// By default draw border in “flat“ button
m_bDrawBorder = TRUE;
// By default icon is aligned horizontally
m_nAlign = ST_ALIGN_HORIZ;
// By default show the text button
m_bShowText = TRUE;
// By default for “flat“ button don‘t draw the focus rect
m_bDrawFlatFocus = FALSE;
// By default the button is not the default button
m_bIsDefault = FALSE;
SetDefaultInactiveBgColor();
SetDefaultInactiveFgColor();
SetDefaultActiveBgColor();
SetDefaultActiveFgColor();
// No tooltip created
m_ToolTip.m_hWnd = NULL;
// Do not draw as a transparent button
m_bDrawTransparent = FALSE;
m_pbmpOldBk = NULL;
} // End of CButtonST
CButtonST::~CButtonST()
{
// Restore old bitmap (if any)
if (m_dcBk.m_hDC != NULL && m_pbmpOldBk != NULL)
{
m_dcBk.Selectobject(m_pbmpOldBk);
}
// Destroy the icons (if any)
// Note: the following two lines MUST be here! even if
// BoundChecker says they are unnecessary!
if (m_hIconIn != NULL) ::DestroyIcon(m_hIconIn);
if (m_hIconOut != NULL) ::DestroyIcon(m_hIconOut);
// Destroy the cursor (if any)
if (m_hCursor != NULL) ::DestroyCursor(m_hCursor);
} // End of ~CButtonST
BEGIN_MESSAGE_MAP(CButtonST CButton)
//{{AFX_MSG_MAP(CButtonST)
ON_WM_CAPTURECHANGED()
ON_WM_SETCURSOR()
ON_WM_KILLFOCUS()
ON_WM_MOUSEMOVE()
ON_WM_CTLCOLOR_REFLECT()
ON_WM_SYSCOLORCHANGE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CButtonST::SetIcon(int nIconInId int nIconOutId)
{
HICON hIconIn;
HICON hIconOut;
HINSTANCE hInstResource = AfxFindResourceHandle(MAKEINTRESOURCE(nIconInId) RT_GROUP_ICON);
// Set icon when the mouse is IN the button
hIconIn = (HICON)::LoadImage(hInstResource/*AfxGetApp()->m_hInstance*/ MAKEINTRESOURCE(nIconInId) IMAGE_ICON 0 0 0);
// Set icon when the mouse is OUT the button
hIconOut = (nIconOutId == NULL) ? NULL : (HICON)::LoadImage(hInstResource/*AfxGetApp()->m_hInstance*/ MAKEINTRESOURCE(nIconOutId) IMAGE_ICON 0 0 0);
SetIcon(hIconIn hIconOut);
/*
// Note: the following two lines MUST be here! even if
// BoundChecker says they are unnecessary!
if (m_hIconIn != NULL) ::DestroyIcon(m_hIconIn);
if (m_hIconOut != NULL) ::DestroyIcon(m_hIconOut);
// Set icon when the mouse is IN the button
m_hIconIn = (HICON)::LoadImage(hInstResource MAKEINTRESOURCE(nIconInId) IMAGE_ICON 0 0 0);
// Set icon when the mouse is OUT the button
m_hIconOut = (nIconOutId == NULL) ? m_hIconIn : (HICON)::LoadImage(hInstResource MAKEINTRESOURCE(n
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 22197 2001-07-17 16:37 Graphic\BtnST.cpp
文件 6589 2001-08-02 16:21 Graphic\BtnST.h
文件 55508 2017-08-16 09:40 Graphic\Debug\BtnST.obj
文件 0 2017-08-16 09:43 Graphic\Debug\BtnST.sbr
文件 5209 2017-08-15 13:54 Graphic\Debug\Graph.obj
文件 0 2017-08-15 13:54 Graphic\Debug\Graph.sbr
文件 3728384 2017-08-17 16:21 Graphic\Debug\Graphic.bsc
文件 5054564 2017-08-17 16:21 Graphic\Debug\Graphic.exe
文件 3825588 2017-08-17 16:21 Graphic\Debug\Graphic.ilk
文件 22172 2017-08-17 16:08 Graphic\Debug\Graphic.obj
文件 6910680 2017-08-15 13:54 Graphic\Debug\Graphic.pch
文件 4285440 2017-08-17 16:21 Graphic\Debug\Graphic.pdb
文件 2374748 2017-08-17 10:12 Graphic\Debug\Graphic.res
文件 0 2017-08-17 16:08 Graphic\Debug\Graphic.sbr
文件 13935 2017-08-15 13:54 Graphic\Debug\GraphicDoc.obj
文件 0 2017-08-15 13:54 Graphic\Debug\GraphicDoc.sbr
文件 59109 2017-08-17 16:21 Graphic\Debug\GraphicView.obj
文件 0 2017-08-17 16:21 Graphic\Debug\GraphicView.sbr
文件 20942 2017-08-17 09:56 Graphic\Debug\MainFrm.obj
文件 0 2017-08-17 09:56 Graphic\Debug\MainFrm.sbr
文件 21981 2017-08-16 09:55 Graphic\Debug\SettingDlg.obj
文件 0 2017-08-16 09:55 Graphic\Debug\SettingDlg.sbr
文件 105967 2017-08-15 13:54 Graphic\Debug\StdAfx.obj
文件 1364538 2017-08-15 13:54 Graphic\Debug\StdAfx.sbr
文件 12841 2017-08-16 09:40 Graphic\Debug\SXBtn.obj
文件 0 2017-08-16 09:43 Graphic\Debug\SXBtn.sbr
文件 11613 2017-08-15 13:54 Graphic\Debug\TestBtn.obj
文件 0 2017-08-15 13:54 Graphic\Debug\TestBtn.sbr
文件 238592 2017-08-17 16:21 Graphic\Debug\vc60.idb
文件 405504 2017-08-17 16:21 Graphic\Debug\vc60.pdb
............此处省略39个文件信息
相关资源
- Effective C++ 中文mobi格式
- MFC编程85经典
- 浙工大研究生考试c++历年真题(2008
- C++Builder开发的数据采集系统上层应用
- MFC 与GDI++绘制仪表盘
- 使用C++实现HDLC协议
- accelerated C++英文版
- 上期CTP_API_C++可实盘的源代码(更新)
- MFC带百分比文字显示的进度条
- 通讯录MFC完整版
- 使用c++读取图像到二维矩阵
- 三维点云的圆柱面拟合
- MFC各种按钮美化源码
- 使用OpenGL实现多个小球在密闭空间内
- C++面试题集锦非常详细
- 简单蚁群算法C++代码
- libstdc++.so.6.0.23_linux7
- libstdc++.so.6.0.23270146
- MFC宿舍管理系统C++含access数据库
- 基于C++和数据库SQL server开发的商品销
- VTK三维可视化读取RAW数据的c++源代码
- 完整的C/C++时序的B+树数据库系统实现
- Effective.Modern.C++中文版本
- mfc mp3播放器
- Visual_assist_X_for_VC6.0破解版.rar
- VC++汉化包
- MFC聊天室含源代码.rar
- CNC雕刻机控制软件
- VC++2010 Express(含激活
- html tidy c++库
评论
共有 条评论