
C++
文章平均质量分 54
hzlimeng
这个作者很懒,什么都没留下…
展开
-
MFC状态栏编程
1、在状态栏中设置两个新的栏位Timer和Progress。首先到ResourceView中编辑String Table,增加IDS_TIMER(时间),PROGRESS(进度)。然后在MainFrame的OnCreate函数中修改indicators数组,插入IDS_TIMER和PROGRESS。插入的位置,即为显示的位置。 2、现在我们让状态栏上的IDS_TIMER的位置显示系统当前的原创 2007-04-27 22:14:00 · 3198 阅读 · 1 评论 -
设置窗口左上角的图标
AfxGetMainWnd()->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1), TRUE); //FALSE 为16*16=256色如果是子窗体或者对话框,可以通过下面的方式改变图标:GetParentFrame()->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1), TRUE); 如果想当程序最小化到任务栏时原创 2007-05-31 21:27:00 · 2110 阅读 · 0 评论 -
手动添加菜单
可以在您的窗口类的初始化函数(InitInstance)中添加如下代码:CMenu* menu = new CMenu(); menu->LoadMenu(IDR_MENU1); m_pMainWnd->SetMenu(menu); 这里的IDR_MENU1,是您在资源管理器中,自定义的菜单。原创 2007-05-31 22:40:00 · 756 阅读 · 0 评论 -
保存和读取窗口的设置
首先定义保存窗口属性的注册表中的几个键值:#define COMPANY_KEY "SunwardCompany"#define SETTINGS_KEY "Settings"#define WINDOWPLACEMENT_KEY "Window Placement"然后是保存窗口的设置。重载窗口的OnClose函数。void CHelloWindow::OnClose(void)原创 2007-05-31 16:11:00 · 857 阅读 · 0 评论 -
如何设置一个窗口的大小、位置和其他参数
前面写过一个最简单的MFC的窗口例子。这里简单的改一下,重载CFrameWnd::PreCreateWindow()方法,实现窗口初始时的位置和大小: class CHelloWindow : public CFrameWnd...{public: CHelloWindow() ...{ Create(NULL,"Hello World!",WS_OVERLA原创 2007-05-31 09:56:00 · 4385 阅读 · 0 评论 -
一个最简单的MFC程序
//MFC的大门 stdafx.h#include "stdafx.h"//继承了CFrameWnd的子类CHelloWindow,主要实现了Window窗口class CHelloWindow : public CFrameWnd...{public: CHelloWindow() ...{ Create(NULL,"Hello World!",WS_OVERLAP原创 2007-05-21 22:52:00 · 1799 阅读 · 1 评论 -
读出一个文本文件,并在前面加上行号后,写入到另一个文件的简单例子
#include fstream>#include assert.h>#include iostream>#include "stdafx.h" char buffer[sz]; ifstream in("test1.cpp"); assert(in); ofstream out("test1.out"); assert(out); int i=1;原创 2007-05-16 14:27:00 · 5564 阅读 · 0 评论 -
MFC窗口的颜色和字体的设置
1、改变对话框的底色在对话框的类中添加一个 private : CBrush m_brush;的成员变量。在类的构造函数中添加如下代码:m_brush.CreateSolidBrush(RGB(0,0,255)); //初始化为蓝色为对话框添加一个WM_CTLCOLOR消息响应函数,专门为控件着色的消息响应函数,代码如下:HBRUSH CSettingDlg::OnCtlCo原创 2007-04-27 22:17:00 · 1301 阅读 · 0 评论 -
MFC工具栏编程
窍门: 1、要在工具栏增加一个分割栏,只要拖动某一个按钮稍稍往右移动一点便可以了。 2、要删除一个工具栏按钮,只要点住它,把它拖出工具栏即可。 1、在窗体的右边新建一个工具栏。首先,在ResourceView中的ToolBar右键选择Insert ToolBar新建一个工具栏IDR_TOOLBAR1。画上几个按钮。然后再MainFrame中添加一个成员变量,privat原创 2007-04-27 22:13:00 · 1390 阅读 · 1 评论 -
抓不住地按钮
可以在窗体上安放两个按钮。从一个Button继承一个新类CMyButton,用成员变量m_btn1和m_btn2进行关联。CMyButton增加一个指针变量MyButton * m_pBtn。在对话框初始化的时候,将两个按钮的指针相互保存: m_btn1.m_pBtn=&m_btn2; m_btn2.m_pBtn=&m_btn1;在CMyButton中,增加一个消息相应函数void原创 2007-04-27 22:09:00 · 649 阅读 · 0 评论 -
MFC中对窗口贴图
一、要修改窗口的背景,步骤如下:1、导入一个位图文件。 2、创建一个View窗体的删除背景时的相应函数BOOL CWndMapView::OnEraseBkgnd(CDC* pDC)或者在view类的OnDraw响应函数void CWndMapView::OnDraw(CDC* pDC)这两个函数的区别是,一个在擦除时直接将图片贴上;一个是先擦除,让后在OnDraw原创 2007-04-27 22:18:00 · 795 阅读 · 0 评论 -
在程序启动之前显示一个画面
在程序中插入一个 Splash screen控件。修改ResourceView中的启动画面位图,然后修改CSplashWnd下的OnCreate函数中的SetTimer函数的时间参数即可。原创 2007-04-27 22:15:00 · 1011 阅读 · 0 评论 -
MFC中窗体的控制
1、在CMainFrame的PreCreateWindow(CREATESTRUCT& cs)函数中,加入: cs.cx=300; cs.cy=400;即可控制窗体初始化时的大小。 2、加入这段代码可以设置一个没有“最小化”按钮和“最大化”按钮,也没有大小可调边框的主框架窗口。此窗口最初在屏幕上居中。 cs.style = WS_OVERLAPPED | WS_S原创 2007-04-27 22:12:00 · 867 阅读 · 0 评论 -
MFC中多属性页的实现
在插入->资源->Dialog,中选择多个从IDD_PROPPAGE_LARGE继承的属性页,如IDD_PROP1。这些创建的对话框就是属性中的每一页。用ClassWizard为你的属性页定义新的CPropertyPage继承类,如CProp1和IDD_PROP1等关联。用ClassWizard新建一个从CPropertySheet继承的CPropSheet类。有几个属性页就建几个成员变量如m原创 2007-04-27 22:08:00 · 2136 阅读 · 0 评论 -
图形的保存和重绘
1、根据前面点线面的绘制,我们发现一点,当窗口大小发生变化时,也就是窗口发生重绘时,我们画的图形不见了。这里我们编写代码来保存和重绘图形。首先,新建一个从Generic Class继承的CGraph类,用来保存每次绘图时的类型,起点,和终点。class CGraph {public: UINT m_nDrawType; CPoint m_ptOrigin; CPoint m_ptEnd;原创 2007-04-27 22:18:00 · 951 阅读 · 0 评论 -
MFC中点线面的绘制
现在我们在菜单栏上设置4个按钮,点,线,矩形,椭圆。选择后,可以在View窗口中画相应的图形。1、在菜单栏中增加4个菜单 点(IDM_DOT),线(IDM_LINE),矩形(IDM_RECTANGLE),椭圆(IDM_ELLIPSE) 2、分别为每个菜单项添加COMMAND消息响应函数 3、设置2个View类的成员变量 UINT m_nDrawType;CPoint m_ptO原创 2007-04-27 22:16:00 · 2270 阅读 · 1 评论 -
获取绘图设备
创建一个屏幕设备环境,可以用:CDC * pDC=GetDC( );这里的GetDC( )是CWnd类的成员函数,它返回一个允许用户绘制它的窗口客户区的设备环境;如果还希望绘制非客户区,则使用:CDC *pDC=GetWindowDC( );如果需要绘制整个屏幕,如编写一个屏幕保护程序或游戏程序时,可能需要对整屏进行绘制,这时使用:CDC *pDC=CDC::FromHandle (::GetDC原创 2007-06-12 19:42:00 · 796 阅读 · 0 评论