自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 c# 事件机制

c# 事件机制比MFC 理解起来更为容易。记录如下。 理解C#的事件机制,需要理解事件的三方,事件产生方,事件接收方,和事件本身的数据。 下面直接参照网上的一个例子来说明这三方。假设一个温度监测器,监测加热炉的温度,当温度到达100度的时候报警。在这个例子中,事件本身是监测温度,事件发生方是加热炉,事件接收方是报警器。 1.事件数据类 。       在C#中,事件数据类是继承自Eve...

2018-07-29 18:11:49 605

原创 C#的委托

   初接触C#windows编程,感觉比MFC逻辑清楚,至少少了很多宏。  委托是C#很重要的一个特性,可以用于取代函数指针。  引用传递可以保证在函数中改变参量的值,和指针作为函数参变量一样。   很多书上关于委托的讲述并没有说的太清楚,反而不如论坛上很多高手的例子讲的清楚。看了一些例子后,作些小结,免得自己忘记了。    假设同一个类中,已存两个函数,输出两个数中的最大数和最...

2018-07-29 09:06:33 123

原创 打开文件夹对话框

现将代码备份如下,CString FilePathName,FileName; CString defaultEX = L""; //默认文件扩展名 CString fileName = L""; //默认打开的文件名 CString lfilter = L"文件 (*.txt)|*.txt"; //文件过虑的类型 CFileDialog FileDlg(T...

2018-05-14 17:08:21 197

原创 MFC radio button的使用

1.在图形界面添加GROUP BOX 和 radio button。设置好属性。2.格式——》TAB键顺序,注意radio button 的顺序要连接。在第一组的第一个tab键次序的radiobutton 属性选项中,TABTOP 选项改为“TRUE”.3.给每个radio button添加控件类型变量,通过变量的函数,操作。...

2018-05-10 10:32:38 471

原创 自定义一组向导页面(2)

  前边解决了从父对话框列表控件,调用相应的选择题界面的问题,接下来,需要对选择题界面添加导航按钮。首先给“下一题”按钮添加消息,在点击的时候,把它链接到下一个对象指针,然后DoModal。这样如果一直点击,就可以一直打开到最后一题的对话框。如果点击“上一题”按钮的时候,就要考虑把已经打开的对话框关掉,也就是触发“返回”按钮的消息。所以,对每个对话框首先应该判断是否在前一次操作中打开过,如果打开过...

2018-05-10 10:29:47 336

原创 自定义一组向导页面(1)

作为程序的一个环节,想设计一套选择题程序,点击进入后开始做5道选择题,下图是父窗口(CDlgSEL_MAIN)点击进去后,进入答题界面,每个答题界面都和上图一样,除了图片载入内容不同外, 按钮、字体、缩放大小等设置都一样。一种最直接的方法是定义5个类,然后对每个类的对象进行操作。这样设计太麻烦,如果选择题数目增大,工作量会成倍增加。还有一种方法是使用属性向导页面的方法,但是按钮什么的调整不够灵活,...

2018-05-07 18:49:40 673

原创 LIstCtr 控件使用说明

1.在资源框添加List control 控件2 添加控件类型变量  比如说,添加,m_list_main3 在OnInitialDialog( ) 函数中,初始化 列表控件样式       m_list_main.ModifyStyle(LVS_TYPEMASK, LVS_REPORT|LVS_ALIGNTOP|LVS_SINGLESEL);       第一个参数是固定的,第二个参数代表样式是...

2018-05-05 15:36:04 554

原创 在创建对话框之前修改对话框的控件

由于一个对话框的结构可以被多次用到。除了按钮的文字不一样和图片控件加载的图片不一样以外,布局都一样。这样可以使用同一个对话框类,在创建不同对象时,调用相应的函数修改就可以。(1)对于非模态对话框,可以直接使用SetDlgItemText()。CDlgteapass *pdlgstupass = new  CDlgteapass; pdlgstupass->Create(IDD_DIA_TEA...

2018-05-03 14:41:25 190

原创 非模态对话框的创建

非模态对话框的创建需要几个步骤1.在父对话框中,定义指针,new一个对象,例如CDlgmain *pdlgmain= new CDlgmain; pdlgmain->Create(IDD_DIA_Main,this); pdlgmain->ShowWindow(SW_MAXIMIZE);2. 这里我们创建的是CDlgmain对话框,然后再到CDlgmain类中,重写 CDlgmain:...

2018-05-01 15:11:12 291

原创 vs2013 控件ID编号的一个BUG

有时需要更改控件ID号,发现,更改完了以后,vs没有及时更新。这时,到resource.h中查看控件编号,发现系统编号有重复现象,需要手动进行更改。再到.rc文件中,查看控件ID号,也需要手动更改。...

2018-05-01 15:07:30 671

原创 在MFC自定义一个对话框类负责调整控件尺寸(全屏状态)

因为需要对所有对话框的控件和尺寸进行公共的操作,因此考虑把公有的代码封装成一个类。但是自定义类完后,编译时总出问题,最后搞定了。总结过程如下。1. 建立头文件。#pragma once \\只编译一次#include "stdafx.h"  \\必须包含class ccsize : public CDialogEx    \\从对话框来进行操作。{public: CWnd  *pdlg      ...

2018-04-30 17:42:33 361

原创 GDI+ 添加图片

想在界面里添加jpg 等格式的图片,试了很多方法,都不成功。后来发现要使用GDI+。把使用方法备份如下。1.  在对应的头文件中添加两个变量,两个变量,是初始化GDI+环境必须的,只要作用范围与GDI+的环境作用范围一致就可以了。在卸载GDI+环境的时候,还要用到。      Gdiplus::GdiplusStartupInput m_pGdiplusStartupInput; ULONG_PT...

2018-04-29 08:32:43 1640

原创 MFC 获取对话框编辑框控件内容和类型转换的方法

CString cs; CWnd *pWnd1,*pWnd2; pWnd1= GetDlgItem(IDC_EDIT1_Add1);   //控件ID pWnd2 = GetDlgItem(IDC_EDIT1_Add2); pWnd1->GetWindowText(cs);   //获取内容 pWnd2->SetWindowText(cs);    //显示内容注意, CDialog继...

2018-04-23 15:03:00 1878

原创 最简单的MFC窗口和初始化过程

vs2013 1.生成一个win32程序,这里使用的工程名为Win32Project1.2.项目属性,常规中,选择使用 静态MFC库3.修改头文件include“windows.h”为 include<afxwin.h>4.删除win32中的所有函数5.编写如下代码#include "stdafx.h"#include "Win32Project1.h"class CMyFrameWn...

2018-04-21 10:55:11 2247

转载 转 MFC 画图

设置MFC坐标系,读懂以下函数:CRect   rect; GetClientRect(&rect); pDC-> SetMapMode(MM_ANISOTROPIC); pDC-> SetWindowExt(100,-100); pDC-> SetViewportExt(100,100); pDC-> SetViewportOrg(rect.left,rect.b...

2018-04-19 11:11:38 130

原创 MFC 单文档创建按钮

1 给cview 类添加 CButton 变量2 在cview类中的wm_create 消息中利用 btn1.Create(_T("My button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(10, 10, 100, 30),this, 1); 来显示按钮3 添加按钮消息处理函数,记得要在消息地图中添加...

2018-04-19 11:03:00 1009

原创 MFC 动态创建

MFC中经常只需要构建类,程序就可以运行了,并没有看到创建对象的过程。那么对象是如何创建的呢?这就是动态创建机制。动态创建允许,MFC自动为你编写的类创建对象,因此,在编写代码过程中只需进行类的编辑。为了实现自动创建对象必须在每个类中建立一个结构体,这个结构体主要记录了类的几个信息:类名,几个指针,构建函数。指针用于把程序中所有的类(包括你创建的和MFC自动创建的类)串联起来,在整个程序中建立一张...

2018-04-19 11:02:30 1108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除