zoukankan      html  css  js  c++  java
  • 007 项目库存管理系统开始

    库存管理系  我们的程序 需要实现绿色部分

      ● 入库

      ● 出库

          ○ 领用

          ○ 调拨  ->  多点通信

      ● 商品信息

      ● 盘点

      ● 退货

      ● 调价

    MFC 和我们的 C++最非常契合的

      ● C++

      ● 类

        封装

      ● MFC不支持C编译器

        MFC是一套框架,可以不用在VS下面编译

        这个编译器必须是 C++编译器,还有就是WIndows 下面的编译器

        API 和 Linux 里面的API 是不兼容的

      ● MFC 是讲我们 Windows API 用类方式从新的归类

        ○ 开发这个程序我们会使用到MFC 

        ○ 首先我们不要对MFC有恐惧的心理

        ○ 其实MFC里面给我们提供的都是一些类

    Windows阶段学习目的

      ● 使用知识的能力

      ● 自学的能力

      ● Win API -> MFC

      ● 某些 API

    项目开始

      ● 新建MFC程序 基于对话框

        ○ 去掉关于框

          ○ 设置标题 PoEdu库存管理系统

      ● stdafx.h

        ○ #include <afxwin.h>  MFC核心组件和便准组件

        ○ #include <afxext.h>  MFC扩展

        ○ #include <afxdisp.h>   MFC自动化类

      ● Resource.h

        ○ 资源文件

      ● PoEduINVDemo.h

        ○ //重写 virtual BOOL InitInstance();

          ○ 有初始化的意思

        ○ 做的操作就是 Windonws 下面的 注册和创建窗口类

      ● PoEduINVDemoDlg.h

        ○ 创建窗口类

          ○ 响应窗口消息

          ○ 绘制窗口

        ○ C++是遵循类的规则的

          ○ MFC可以对修改默认类构造函数  不过不推荐这么做。。

    项目开始2

      ● 拖拽控件 List Control 控件

        ○ 设置控件属性 View Report 报表模式

        ○ 设置变量 或者 ID的方式 m_listGoodsInfo

        ○ 设置报表的列数

        ○ 设置消息响应 启动右键菜单

    1     CRect rectMain = {0};
    2     GetWindowRect(&rectMain);        //获取窗口大小
    3     m_listGoodsInfo.InsertColumn(0, TEXT("序号"), LVCFMT_CENTER, rectMain.Width()*0.2);
    4     m_listGoodsInfo.InsertColumn(1, TEXT("名称"), LVCFMT_CENTER, rectMain.Width()*0.4);
    5     m_listGoodsInfo.InsertColumn(2, TEXT("数量"), LVCFMT_CENTER, rectMain.Width()*0.2);
    6     m_listGoodsInfo.InsertColumn(3, TEXT("仓库号"), LVCFMT_CENTER, rectMain.Width()*0.2);

      ● 新建 Menu 菜单

    1     CMenu menuRClick;
    2     menuRClick.LoadMenu(IDR_MENU_RCLICK);                    //绑定菜单
    3     CMenu *pMenu = menuRClick.GetSubMenu(0);                //菜单下一层
    4     CPoint pointClick = {0};
    5     GetCursorPos(&pointClick);                                    //获取鼠标位置
    6     
    7     //弹出菜单
    8     pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pointClik.x, pointClick.y,this);

      ● Menu 菜单 增加 处理事件

      

     1 void CPoEduINVDemoDlg::OnMenuAdd()
     2 {
     3     //只需要一个窗口的做法
     4     //我需要多个窗口的做法
     5         CDLgGoodInfo *dlg = new CDlgGoodInfo;
     6         dlg->Create(IDD_DIALOG_GOODINFO);
     7         dlg->ShowWindow(SW_SHOW);
     8     //dlg.DoModal();
     9     //不能繁琐操作文件
    10     //初始化的时候读
    11         //定期读写            ->        防止程序崩溃
    12         //结束的时候写
    13         
    14     //GoodsInfo应该是属于程序的 theApp
    15 
    16 }
  • 相关阅读:
    常用数据分析方法及分析工具,比如:EXCEL、SAS、SPSS
    常用代码管理工具,如git、hg、svn
    Memcached分布式内存对象缓存系统
    10个出色的NoSQL数据库
    虚拟机
    使用自己的CSS框架(转)
    响应式设计,bootstrap框架的IE兼容问题
    区别ie8和ie9的方法
    焦点问题onfocus=”this.blur()”代替方法(转)
    php 引用其他action中的方法
  • 原文地址:https://www.cnblogs.com/sdk123/p/6863892.html
Copyright © 2011-2022 走看看