杂记1

MFC 向导创建的DLG对话框


theApp 声明一个全局唯一变量 调用cxxApp 构造函数

程序执行的顺序是

1 CXXXApp theApp  //定义处  理解为 “唯一的一个APP对象 表示了我们的应用程序”

2 CxxxApp::CxxxApp 构造函数的定义

3 WinMain 程序入口


对话框程序的执行顺序如下

CxxApp::InitInstance  MFC程序的入口

dlg对象     CxxDlg对象

Dlg构造函数  

DoModal

OninitDlg  


创建模态对话框

在按钮消息响应函数中  CXXXDlg dlg;  dlg.domodal();


非模态对话框 

创建  Create(0

CxxDlg   *m_nonmodal;   //添加在对话框类新的成员变量

HWND CreateWindow()

关闭非模态对话框

CWND::DestroyWindow(0

CWND::ShowWindow(SW_HIDE)


创建非模态对话框4步

1 添加新Dialog 资源

IDD_XXX  

Class DlgNew;

2 在主窗口中类定义中加入

DlgNew *m_modal;

3 在OninitDlg 中m_modal=new DlgNew;

m_modal->CreateWindow(IDD_XXX,this);

4 在button相应函数中

m_modal->ShowWindow(SW_SHOW|其他样式)

5 WM_DestroyWindow



控件:静态文本框和按钮

在布局管理器中   调整TAB切换界面控件的顺序


静态文本框  CStatic  类


添加一个静态文本框后  在DoDataExchange后面 

afx-msg 增加了一个宏  (控件ID号,响应函数) 的关联


文本框控件    CEdit类

属性可设置是否显示 等设置

GetDlgItem 得到控件

GetDlgItem->GetWindowText 得到内容

例如GetDlgItem(IDC_xxx_xxx)->GetWindowText(CSTRING xxx) 直接赋值


方法2  得到控件中的内容

DDX 即 Dialog Data Exchange

MFC提供了DDX机制,允许事先设定控件与变量对应交换


成员变量    -------------------->  abl控件等

m_strText   <------------------- 双向的交互


如何关联(针对VC6.0)

在IDC_XXX_XXX 处 class wizard 双击

也是在DoDataExchange中 进行的变量和IDC_xxx_xxx 的关联


例如 



点击复制按钮将框1的值赋予框2


Cstring StrText;

GetDlgItem(IDC_xxx)->GetWindowText(xxx);

updatedata(true);    //UpdateData 函数是一个更新机制函数  默认值为TRUE

m_strShow=m_strMsg;

UpdateData(false);


组合框  CComboBox类


1GetCurSel  可以得到当前选中的行,注意行引用号从‘0’开始

2 GetLBText 可以得到某一行的文本


获得组合框值得方法:

方法一 通过对组合框控件进行变量映射

1 可以将其映射成一个CString 类得对象

2 映射成CComboBox 类型的对象,通过调用对象获得选中的值


方法二 将组合框作为一个CWnd 对象,通过调用CWnd对象的GetWindowText方法,获得其当前显示的内容

其实很多控件都是CWnd对象,都可以用同样的方法获取内容。


列表控件  CListCtrl 类

CListCtrl封装了“列表视图控件” 功能


在OnInitDialog 中完成对控件初始化

GetItemCount() 获取列表行数值



此处LCPTSTR 第二个参数   用_T("xxx") 来转换








CFile类是所有文件的基类,派生于CObject

CFile  open close flush write read


CFile::modeCreate  如果重复调用,会自动删除原文件,然后创建新的该名的文件


文本文件  ASC II码存储的文件   不能存储 例如位图 视频等文件

CFile->CStdioFile   该类对文本文件的操作更加方便

文本文件和二进制文件的区别  注意  /n /r 等转意符号



程序的异常处理

异常捕获格式

try

 {

 }

catch(类型,参数)

 {

 }

catch(){} 

从try中抽出异常甩给catch,每一个catch都处理自己指定类型的异常

catch捕获异常的顺序依照从大到小的顺序写


三类典型异常

1 CException  c++所有异常父类

2 _com_err&e  能捕获com组件的异常

3 ...   三个点   能捕获一切异常



GDI概述

windows图形设备接口 GDI 是为与设备无关的图形设计的,GDI负责系统与用户或绘图程序之间的信息交互,并控制在输出设备上显示图形或文字。

在使用GDI绘图时,必须要指定一个设备环境DC 将某个窗口或设备环境类得句柄指针关联七里啊,所有绘图操作与该句柄有关。

MFC中封装为CDC类

应用程序通过设备描述表的句柄来间接的存取设备描述表与属性。

CDC从CObject直接继承来。

子类 CClientDC 代表操作窗口DC

         CPaintDC    以及  CWindowDC

CDC相关函数

1 CreateCompatibleDC 创建一个与指定设备兼容的内存设备上下文环境

2 SelectObject  选择对象到指定设备

SetStretchBltMode

BitBlt

StretchBlt


GDI绘图

CRect  

CDC中几个基本图形绘制函数

Rectangle  矩形

Ellipse  椭圆

MoveTo 移动到某点

LineTo  点到点直线


绘图分2步进行

OnInitDialog() 初始化中使用

然后在OnPaint 中也必须有绘图函数 DrawLogo() 方法    //此处函数名打个比方 举例

因为先进行OnInitDlg,然后运行OnPaint 

若OnPaint中没有绘图函数则无法显示图形


待续。。。








资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现一个带有动画效果的“回到顶部”功能。Vue.js 是一款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在一个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了一些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表一个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了一个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值