009 库存管理系统界继续

菜单创建窗口

  ? 非模态对话框的创建

    ○ 等在另一个窗口完成之后

    ○ 初始化子窗口的时候要在初始化函数里面操作

    ○ 响应窗口只需要做显示窗口的操作

    //非模态对话框要注意的地方
void CPoEduINVDemoDlg::OnMenuAdd()
{
    //新的对话框的时候
        //1 模态对话框 临时对象
            //等待另一个窗口完成之后
        //2 非模态对话框 使用 new Init new 这个对话框 Close时 del
            //跟主窗口同级
    //new        delete
    //第一种
    //m_pDlgGoodInfo.CreateWindow();  可不可以?
    //栈上面的对象
    m_pDlgGoodInfo = new CDlgGoodInfo;
    m_pDlgGoodInfo->Create(TEXT("Add"));
    m_pDlgGoodInfo.ShowWindow(SW_SHOW);
}

//使用非模态对话框的时候 创建窗口要在初始化窗口做
//响应按键的只需要做一个SHOW窗口的操作
// WM_CREATE 消息时 CreateWindow -> 发送 WM_CRETE
//BOOL ::OnIntDialog()函数里面创建
    //初始化函数
    //WM_CREATE 消息 指示正在创建窗口
    //WM_CLOSE 消息 发出信号要某个窗口或应用程序终止
    

  ? 模态对话框

 1     //模态对话框
 2 void CPoEduINVDemoDlg::OnMenuAdd()
 3 {
 4     CDlgGoodInfo dlgGoodInfo;
 5     //dlgGoodInfo.SetWindowText(TEXT("添加程序"));    //通知窗口对象修改TEXT(标题)
 6     dlgGoodInfo.DoModal();    //阻塞
 7         //j就是创建窗口 CreateWindow
 8     dlgGoodInfo.SetWindowText(TEXT("添加程序"));    //通知窗口对象修改TEXT(标题)
 9     //如何设置程序标题
10 }
11     //重写 DoModal()函数
12         //由于我们不知道源码 不知道她调用的是Create还是CreateWindow函数
13         //这样做是不行的
14     //重写 CDlgGoodInfo 初始化函数
15 BOOL CDlgGoodInfo::OnInitDialog()
16 {
17     BOOL bRet = CDialog::OninitDialog();
18     SetWindowText(TEXT("ADD"));
19     return bRet;
20 }
21
22 //从上面这个实例我们得知MFC其实就是C++的方式对Windows 很多特性进行了一层一层的封装
23 //然后对于我们的每一个消息都产生了一个On的消息
24 //知道了这些我们就可以利用C++的特性对MFC进行各种各样的扩充填充以及修改

  ● 默认MFC窗口
    ○ 确定按钮
      ○ IDOK
      ○ CDialogEx::OnOK()
    ○ 取消按钮
      ○ IDCANCEL
      ○ CDialogEx::OnCancel()

  ● 模态对话框里面的返回值是有一定含义的

    ○ IDOK -> 按下确定
    ○ IDCANCEL -> 按下取消

 1 void CPoEduINVDemoDlg::OnMenuAdd()
 2 {
 3     CDlgGoodInfo dlgGoodInfo;            //构造函数接收参数
 4     DWORD dwTest = dlgGoodInfo.DoModal();
 5                     //DoModal的返回值和按钮绑定了
 6     if(dwTest == IDOK)
 7     {
 8         //文件写入操作
 9     }
10     //CString strBuf;
11     //strBuf.Format(TEXT("%d",dwTest);
12     //MessageBox(strBuf);
13     //设置一个方法
14 }

● CFile类的成员
  ⊙ 数据成员
    ○ m_hFile常包含操作系统文件句柄

HANDLE m_hFile;

operator HANDLE() const;

  ⊙ 构造函数
    ○ CFile 从一个路径或文件句柄构造一个CFile对象;
    ○ Abort不管任何警告和错误,关闭一个文件;
    ○ Duplicate构造一个基于该文件的副本;
    ○ Open 带才哦呜的检验选项,安全打开一个打开一个文件;
    ○ Close 关闭文件,删除对象。

  ⊙ 输入/输出
    ○ Read 从文件的当前
    ○ ReadHuge 可从文件的当前位置读取大于 64K数据,在32位编程种废弃了见 Read;
    ○ Write 将文件数据写入当前文件;
    ○ WriteHuge 可将文件的大于64K数据写到当前文件位置,在32位编程中废弃了,见 Write;
    ○ Flush 溢去来被写入的任何数据。

  ⊙ 定位
    ○ Seek 定位于当前文件指针;
    ○ SeekToBegin 定位当前文件指针到文件开头;
    ○ SeekToEnd 定位当前文件指针到文件尾;
    ○ GetLength 获取文件长度;
    ○ SetLength 改变文件长度;

  ⊙ 封锁
    ○ LockRange 在文件中封锁一定范围内字符;
    ○ UnlockRange 解锁一定范围内的字节。

  ⊙ 状态
    ○ GetPosition 获取当前文件指针;
    ○ GetStatus 获取打开文件状态;
    ○ GetFileName 获取被选文件的文件名;
    ○ GetFileTitle 获取被选文件的标题;
    ○ GetFilePath 获取被选文件的完整路径;
    ○ SetFilePath 设置被选文件的完整路径;
  ⊙ 静态
    ○ Rename 改名指定文件 (静态函数);
    ○ Remove 删除指定文件 (静态函数);
    ○ GetStatus 获取指定文件的状态(静态,虚函数);
    ○ SetStatus 设置指定文件的状态(静态,虚函数)

  ⊙ CFile 就是对我们的CreateFile进行封装

 1 public:
 2 // Flag values
 3     enum OpenFlags {
 4         modeRead =         (int) 0x00000,
 5         modeWrite =        (int) 0x00001,
 6         modeReadWrite =    (int) 0x00002,
 7         shareCompat =      (int) 0x00000,
 8         shareExclusive =   (int) 0x00010,
 9         shareDenyWrite =   (int) 0x00020,
10         shareDenyRead =    (int) 0x00030,
11         shareDenyNone =    (int) 0x00040,
12         modeNoInherit =    (int) 0x00080,
13 #ifdef _UNICODE
14         typeUnicode =      (int) 0x00400, // used in derived classes (e.g. CStdioFile) only
15 #endif
16         modeCreate =       (int) 0x01000,
17         modeNoTruncate =   (int) 0x02000,
18         typeText =         (int) 0x04000, // used in derived classes (e.g. CStdioFile) only
19         typeBinary =       (int) 0x08000, // used in derived classes (e.g. CStdioFile) only
20         osNoBuffer =       (int) 0x10000,
21         osWriteThrough =   (int) 0x20000,
22         osRandomAccess =   (int) 0x40000,
23         osSequentialScan = (int) 0x80000,
24         };
25
26     enum Attribute {
27         normal     = 0x00,                // note: not same as FILE_ATTRIBUTE_NORMAL
28         readOnly   = FILE_ATTRIBUTE_READONLY,
29         hidden     = FILE_ATTRIBUTE_HIDDEN,
30         system     = FILE_ATTRIBUTE_SYSTEM,
31         volume     = 0x08,
32         directory  = FILE_ATTRIBUTE_DIRECTORY,
33         archive    = FILE_ATTRIBUTE_ARCHIVE,
34         device     = FILE_ATTRIBUTE_DEVICE,
35         temporary  = FILE_ATTRIBUTE_TEMPORARY,
36         sparse     = FILE_ATTRIBUTE_SPARSE_FILE,
37         reparsePt  = FILE_ATTRIBUTE_REPARSE_POINT,
38         compressed = FILE_ATTRIBUTE_COMPRESSED,
39         offline    = FILE_ATTRIBUTE_OFFLINE,
40         notIndexed = FILE_ATTRIBUTE_NOT_CONTENT_INDEXED,
41         encrypted  = FILE_ATTRIBUTE_ENCRYPTED
42         };
43
44     enum SeekPosition { begin = 0x0, current = 0x1, end = 0x2 };
45
46     static AFX_DATA const HANDLE hFileNull;

  ● ini文件
    ○ .ini文件是 Initialization File的缩写
    ○ 初始化文件
    ○ Windows系统配置文件 才用的存储格式

  ● ini文件格式
    ○ INI文件由 节 键 值 组成
    ○ 节 [section]
    ○ 参数 (键 = 值) name = value
    ○ 注释 使用分号表示 (;).在分号后面的文字,直到该行结尾全部都是注释

时间: 2024-08-06 11:34:41

009 库存管理系统界继续的相关文章

007 项目库存管理系统开始

库存管理系  我们的程序 需要实现绿色部分 ● 入库 ● 出库 ○ 领用 ○ 调拨 -> 多点通信 ● 商品信息 ● 盘点 ● 退货 ● 调价 MFC 和我们的 C++最非常契合的 ● C++ ● 类 ○ 封装 ● MFC不支持C编译器 ○ MFC是一套框架,可以不用在VS下面编译 ○ 这个编译器必须是 C++编译器,还有就是WIndows 下面的编译器 ○ API 和 Linux 里面的API 是不兼容的 ● MFC 是讲我们 Windows API 用类方式从新的归类 ○ 开发这个程序我们会

那一夜,我们..奋笔疾书敲出的--->>库存管理系统

说了会再见,最近好吗?无论你在哪里>也许你在温暖的家,或许你在身在异乡的城市;或许你高高的峰顶放生高歌,或许你还在陡峭的山峰半空努力攀爬.......相信我们都会登上顶峰,"会当凌绝顶,一览众山小".. 今天给大家分享===>库存管理系统 如图(部分): 01.首先我们得先创建一个仓库类,定义些属性>> using System; using System.Collections.Generic; using System.Linq; using System.

库存管理系统

我们的标题是库存,那绝对离不开物品.那么既然是物品,就有自己的属性. 货品应该有它们自己属性.(货品名称.存放位置.单价.客户满意度) 下面先为大家简写下步骤: First: 初始化货物品信息. Goods[] goods= new Goods[3]; //写一个初始化库存货品信息 public void Initial() { //初始化第一个物品 goods[0] = new Goods(); goods[0].Name = "孔雀翎"; //物品名称 goods[0].Weizh

原创:XXX公司-基于SAP的库存管理系统解决方案

XXX公司-基于SAP的库存管理系统 解决方案 版本:V0.3.0 Excel_Cortan 文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 文件标识:   当前版本: V0.3 作 者: Excel_Cortana 完成日期: 2014-2-7 修改履历 版本 修订日期 修改内容 作者 V0.0.1 2013-11-9 初稿 Excel_Cortana V0.0.2 2013-12-13 增加系统截图 Excel_Cortana                          

设计实用的库存管理系统到底可以有多快?

如果举办一场比赛,用什么方式能够最快地设计一个实用的库存管理系统.管理Excel怎么都会是名列前茅的. 下面我们将向你演示大约耗时5分钟设计出一个很实用的库存管理系统.系统能够实现: 产品管理.出入库登记.每个产品的出入库记录.最新库存查询以及库存盘点功能. 设计的步骤: 首先,设计产品信息表.入库登记表.出库登记表.然后,没有然后了!!! 产品信息表:选择以产品编号为唯一性 入库登记表: 入库表分为主表信息和明细信息两个部分.其中主表信息包含入库单号.入库日期.处理人员等信息:明细信息包含产品

大型连锁超市库存管理系统 便利店收银系统软件

商拓软件大型连锁超市库存管理系统,便利店收银系统软件的使用方式: 1.客户将商品对准商品扫描器,录入产品价格 2.多个同类商品,可以直接扫描获取也可以点击屏幕加号添加 3.点击"确认付款" 4.选择付款方式:支付宝.微信等扫描支付 商拓大型连锁超市库存管理系统特征: 一.流程简单化 从界面到POS.收发货.增值业务.日常费用等,均按业务操作习惯进行设计,所有操作集中同一界面,点击或触摸使用,便捷直观. 一体化门店,门店无后台软件,操作流程简单化,无须培训便可上岗! 二.零维护 采用大集

软件工程实训 服装库存管理系统

服装库存管理系统主要包括: (1) 系统管理 系统管理包括用户管理和货号管理,能进行增加.删除.修改和查找的操作. (2) 库存管理 库存管理包括入库单管理和出库单管理.入库单管理包括入库单基本信息管理和入库单明细管理,并能分别对入库单和入库单明细进行增加.删除.修改和查找的操作.出库单管理包括出库单基本信息管理和出库单明细管理,并能分别对出库单和出库单明细进行增加.删除.修改和查找的操作. (3) 辅助管理 辅助管理包括修改密码. 原文地址:https://www.cnblogs.com/pa

WMS库存管理系统解决方案

项目背景我国厂家开发的WMS库存管理系统,经过多年的换新和迭代,仓库中的要求性会因素收货.质量监督检验.上架.波次.捡货.包装.装载.出来仓库中管理,基本上因素上线客户的不断提升,需求会也日趋齐全,慢慢的有这些基本功能会上和外国应用差距已拉近.更多关于WMS库存管理系统咨询一三六,中间是六一二零,最后数字是四一四七.把数字组合起来就可以找到我. 互联网的兴起,对于我国物流康业是一个好的契机,事实表明也确认扶植滋润了很多我国仓库储存快递管理文件下载,使用一一个仓库储存快递系统的基础知识减少,这也和

(二)实现对库存管理系统的模块化编程

1 引言 本次我们将运用模块化编程技术来实现一个比较有现实意义的项目---<库存管理系统>.该系统将能实现: 实时跟踪库存产品数量.位置等信息: 新进产品的添加和已售卖产品的移除: 生成报告一:当前库存产品在各地的数量信息: 生成报告二:各种产品需要补充的数量信息. 2 设计库存管理系统 我们可将该系统支持功能细分为以下三类: 存储信息(data storage): 人机交互(user interface): 生成报告(generating reports). 按照上面的划分,有助于我们组织整