MFC
npu_wy
这个作者很懒,什么都没留下…
展开
-
MFC计算器
MFC写的简易计算器,觉得代码很乱,请多多请教!编译环境:WIN8+VS2012由于MFC关联文件颇多,在此放不下,也不想只给大家一个片段,完整的工程链接:MFC计算器【百度云盘】原创 2013-09-15 00:11:02 · 2271 阅读 · 2 评论 -
MFC双缓冲绘图
BOOL CClientView::OnEraseBkgnd(CDC* pDC) { CRect rc; CDC dcMem; GetClientRect(&rc); CBitmap bmp; //内存中承载临时图象的位图 dcMem.CreateCompatibleDC(pDC); //依附窗口DC创建兼容内存DC //创建转载 2014-05-04 14:01:31 · 646 阅读 · 0 评论 -
解决MFCwin98风格按钮
如果你MFC创建的按钮什么很不好看,有些像win98,那么把原创 2014-05-18 15:47:50 · 993 阅读 · 0 评论 -
Invalidate()与 UpdateWindow()的区别
Invalidate让客户区处于可以重画的状态,而UpdateWindow开始重画,但是它先判断客户区是否为空,不空UpdateWindow不执行,为空才执行重画。 Invalidate与UpdateWindow的区别如下:void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它转载 2014-05-13 16:28:28 · 570 阅读 · 0 评论 -
MFC工作线程中获得视图类指针问题
通常来讲,在MFC中,跨线程是不能传递CWnd对象指针的。因为在每个线程中都有一个自己的内部map,该map记录了HWND和与之对应的CWnd对象。当一个CWnd对象被创建时,它的HWND和CWnd对象指针就会被记录到该线程中的map,但其他的线程的map没有记录。 当跨线程传递CWnd指针时,调用CWnd的某些函数时,这些函数会进行有效性检查,也就是检查map,因为map中没有相应的记录转载 2014-06-06 02:09:55 · 1187 阅读 · 0 评论 -
子线程中如何调用对话框的变量和函数
原文出处:http://hi.baidu.com/cateyefish/item/42c8cce802b5913387d9de2b转载 2014-06-05 14:50:18 · 5179 阅读 · 0 评论 -
MFC获取View类指针
现在知道的有三种方法: 1.当只有一个view类的时候,或者只想获取当前活动的view类,这时可以采用这种方法。 在当前使用的类中添加如下代码: CMainFrame* pFrame=(CMainFrame*)AfxGetMainWnd(); CListCtrlView* pView = (CListCtrlView*)pFra转载 2014-06-05 17:58:03 · 1350 阅读 · 0 评论 -
MFC中获取App,MainFrame,Doc和View类等指针的方法
1 获取应用程序类(App)指针在任何类中都可用MFC全局函数AfxGetApp()获得2 获取框架类(MainFrame)指针1)在App中获得MainFrame指针CWinApp 中的 m_pMainWnd变量就是MainFrame的指针也可以: CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();2)原创 2014-06-06 02:05:32 · 771 阅读 · 0 评论 -
CodeCounter代码统计
今天一天写的,困死了开发环境:VS2012 + WIN8-x64, MFCCSDN下载链接:http://download.csdn.net/detail/npu_wy/7405577百度云下载链接:http://pan.baidu.com/s/1dD05Vrz疵漏之处,欢迎指出!原创 2014-05-27 00:38:26 · 2606 阅读 · 0 评论 -
TEXTOUT颜色和透明背景
SetTextColor(*pDC, RGB(255, 170, 0));SetBkMode(*pDC, TRANSPARENT);原创 2014-06-11 23:03:04 · 6580 阅读 · 0 评论 -
2048电脑版
2048 PC版开发环境:VS2012 + WIN8-x64原创 2014-05-19 15:48:02 · 932 阅读 · 0 评论 -
MFC单文档全屏
先,在CMainFrame::OnCreate里把工具栏、状态栏去掉;原创 2014-05-04 11:48:14 · 661 阅读 · 0 评论 -
MFC中exit(0)退出程序奔溃
MFC中exit(0)退出程序奔溃。原因: 可能是exit(0)推出程序时,内存不会自动回收,调用不到析构函数。原创 2014-05-03 00:25:26 · 2800 阅读 · 0 评论 -
MFC中CString转换成char数组的问题
由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串。关于它们之间的转换,在VS2008中有时会出现异常情况。在MSDN是这样写的: CString orig("Hello, World!"); // Convert to a char* const size_t转载 2013-10-09 23:20:16 · 723 阅读 · 0 评论 -
MFC五子棋
带有背景音乐和落子音效,可以控制暂停和播放;可以注册玩家,保存玩家获胜和失败记录,同一玩家再次游戏时,载入上次记录;带有英雄榜。链接:五子棋程序及源码下载原创 2013-10-11 17:03:38 · 1635 阅读 · 1 评论 -
MFC最简易7音符的电子琴
界面简单丑陋,发音只有“嘟唻咪法嗦啦西”,闲的没事,写了几个类似的PlaySound语句,找了几个谱子,能把玩一会,自娱自乐……代码+EXE+谱子:http://pan.baidu.com/s/122qnE原创 2013-09-26 22:11:37 · 1849 阅读 · 0 评论 -
MFC中图片背景透明色问题
一幅背景是黑的,一幅背景是白的。把两幅位图导入到资源中,假如ID分别为IDB_BMP1和IDB_BMP2。然后定义两个CBitmap类型的变量bmp1和bmp2,分别加载这两幅位图资源。即:bmp1.LoadBitmap(IDB_BMP1);bmp2.LoadBitmap(IDB_BMP2);然后在OnDraw或者OnPaint中显示(假如是OnPaint):CPaintDC dc(th转载 2013-11-10 13:55:32 · 1946 阅读 · 0 评论 -
打字母游戏
工具:MFC环境:VS2012游戏会根据你当前得分而增加难度,总共5条命。不知玩到100分是什么情况……下载链接:http://pan.baidu.com/s/1tcqlb原创 2013-11-11 22:27:02 · 735 阅读 · 0 评论 -
MCI音乐播放器
MCI做的简单的音乐播放器,有播放、暂停、停止、快放/慢放、快进/回退等主要功能,并且可以播放视频,不过视频播放有BUG,还请见谅。播放音频有很无奈的BUG,播放时进度条前进会影响声音卡顿,求解……// MCIPlayerDlg.h : 头文件#pragma once#include "afxcmn.h"// CMCIPlayerDlg 对话框class CMCIPlayerD原创 2013-12-07 20:36:41 · 2332 阅读 · 0 评论 -
局域网五子棋
之前发过一个MFC的五子棋,现在改进为局域网对战的。编译环境:VS2008界面:MFC网络部分:WinSocket功能:1、创建游戏房间等待玩家进入,加入游戏对话框可罗列出本局域网内所开的游戏房间,加入即可对战;2、有单人游戏模式;3、有英雄榜功能,记录每个ID获胜和失败次数。【注意】:由于仓促,代码内指定IP段为10.128.49.0/24,应该改进为自动获取主机所在原创 2014-03-09 10:19:01 · 2022 阅读 · 0 评论 -
MFC对话框程序EDIT类控件的自动换行,垂直滚动条自动下移
1.新建一个Edit Control,将其Multiline属性设置为True,Auto HScroll属性设置False,这样就可以实现每一行填满后自动换行了。2.再将Vetrical Scroll属性设置为True,当输入或显示超过编辑框的大小后就会出现垂直滚动条。3.如果是输入,滚动条会自动移动跟随到当前输入行,但是如果是设置将很多内容一次性让编辑框显示,滚动条就会一直处于最转载 2014-05-03 00:08:11 · 613 阅读 · 0 评论 -
MFC滑动动条控件Slider的用法
主要要方法有:1、设置、取得滑动范围: void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE ); void GetRange( int& nMin, int& nMax ) const; 2、设置、取得按下左右箭头滑动间隔: int SetLineSize( int nSize ); int原创 2014-05-02 16:04:45 · 2125 阅读 · 0 评论 -
Spin Control和Picture Control关联
BOOL CRoomDlg::OnInitDialog(){ CDialog::OnInitDialog(); // TODO: Add extra initialization here m_spin.SetBuddy(GetDlgItem(IDC_FIGHER)); m_spin.SetRange(-50,50); m_bitmapFigure1.LoadBitmap(IDB原创 2014-05-03 00:11:51 · 573 阅读 · 0 评论 -
CProgressCtrl::SetBarColor无效的缘由
CProgressCtrl::SetBarColor无效的缘由,苦心找了好久才发现……原创 2014-06-12 10:50:52 · 2170 阅读 · 1 评论