摘要:
表的每一行称为记录Record 表的每一列称为字段Column 数据关系: 一对一 一对多 多对多 一对一:合并表 一对多:少的实体字段放在多的实体里 多对多:引入中间表,例存在如班级表和老师表,可引入一个中间表。 主键:能唯一区分不同记录的字段,例如学生表中的Id字段。 外键:能关联另一张表的字段 阅读全文
摘要:
//#include "../Dll1/dll.h" #include <stdio.h> #include <windows.h> #include <strsafe.h> #include <iostream> using namespace std; void ShowError(){ HAN 阅读全文
摘要:
1.静态库 优点:1.链接器抽取需要的代码,不需要的代码不抽取,即使链接时加入了许多lib,只要没用到里面的函数,生成的文件中都不包含lib中的代码。如果不用lib,而是直接link *.obj,则会有多余代码(手工测试时exe大小一样,vs2019中重新生成后大小不同)。 2.一个可执行程序包含了 阅读全文
摘要:
手动实现序列化的要点: 1.保存对象个数 2.保存对象类型 3.类提供序列化反序列化函数 MFC中序列化的五个步骤: 继承自CObject类 重写Serialize()函数 在类的申明中使用DECLARE_SERIAL 宏 定义一个无参数的构造函数(重建对象的时候要用) 在cpp文件中添加IMPLE 阅读全文
摘要:
# 画笔和画刷 1. 相关API: 1. CreatePen,CreatePenIndirect,CreateSolidBrush,CreateHatchBrush,CreatePatternBrush,CreateBrushIndirect,GetStockObject # 弹出菜单 1. SDK 阅读全文
摘要:
# CAD 1. 什么时候绘制 1. WM_PAINT时绘制,MFC中是CMFCApplication1View::OnDraw时绘制 2. 在哪里绘制 1. DC SDK MFC 绘制区域 BeginPaint CPaintDC 无效区 GetDC CClientDC 客户区 GetWindowD 阅读全文
摘要:
1. 操作控件的方法: void CMFCApplication1Dlg::OnBnClickedButton1() { //通过控件类型访问控件 CButton *pBtn = (CButton*)GetDlgItem(IDC_BUTTON1); CString sText; pBtn->GetW 阅读全文
摘要:
需求:对话框中的Edit Control只能输入字母和数字。 解决方案:继承CEdit类,重写OnChar函数,输入合法则调用CEdit::OnChar,否则直接返回。 1. 右键项目-添加-新建项,选择图中的MFC类 2. 选则正确的基类,点确定 3. 资源视图里放一个Edit,右键-添加变量 4 阅读全文
摘要:
需求:对话框中的Edit Control只能输入字母和数字。 解决方案:替换Edit Control的WndProc,在收到WM_CHAR时判断是否合法,合法则调用原来的WndProc,否则直接返回。收到其他类型的消息时也调用原来的WndProc。最好通过CallWindowProc调用,而不是直接 阅读全文