PoEdu-Windows编程-Lesson04_项目开始_阶段学习重点

  • 一个标准的库存管理需求
    • 商品信息
    • 入库
    • 出库
      • 领用
      • 调拨
        • 涉及多点通信 在一台PC上不可行。
    • 盘点
    • 退货
    • 调价
  • 项目只写3项需求:
    • 1 商品信息
    • 2 入库
    • 3 出库
      • 出库只做“领用”
  • 用MFC来进行开发,简单剖析MFC
    • MFC 可以看成是一个一个的类组成,与C++十分切合的,可以帮我们封装,帮我们分类
    • MFC不支持纯C编译器
    • 开发工具用VS2015,一个公司出品,无缝兼容
  • 重点:程序员的自学能力
    • 1 快速查询MSDN 能力
    • 2 阅读文档的能力
    • 3 动手调试的能力
  • 界面制作
    • 注意点1
      • 子类的对象 与 子类的一个指针(由指向父类的指针转换得到) 两者本质相同
      • 因为有继承关系,所以能把父类(基类)的指针转换为子类(派生类)的指针
    • 注意点2
      • CListCtrl插入元素函数 返回SendMessage()的值 2种方式:
        • 1 int InsertColumn( int nCol, const LVCOLUMN* pColumn);
          • LVCOLUMN - Win32中一个结构体对象,包含第2种方式的3个参数,本质上这两种参数是一致的。控件之间用SendMessage()来进行交互。
        • 2 int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormmat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
          • int nCol, 列的索引
          • LPCTSTR lpszColumnHending, 包含列标题的字符串的地址
          • int nFormat = LVCFMT_LEFT, 指定列的对齐方式的整数。 它可以是以下值之一: LVCFMT_LEFT、 LVCFMT_RIGHT或 LVCFMT_CENTER。
          • nWidth 列的宽度,以像素为单位。 如果此参数是-1,列宽未设置。
          • nSubItem 子项的索引与列。 如果此参数是-1,子项不与列出。
    • 注意点3 MFC中的_T,这个宏在MFC中取代了win32中的_TEXT(X)宏
    • 注意点4 LVCFMT缩写代表:
      • FMT - Format 格式化
      • LVC - ListViewControl 列表视图控件
    • 注意点5 插入列InsertColumn正确宽度设置:
      • 插入列InsertColumn正确宽度设置
        • 设置一个矩形类,用GetWindowsRect(&rect)得出一个矩形数据
        • 宽度用矩形对象点出成员函数 :宽度 rect.Width()
    • 注意点6 CRect 矩形类的使用,查看MSDN
    • 注意点7 ListControl控件的插入列操作,不是一个初始化(只初始操作一次)的操作,以后还会被其它动作,如:窗口大小改变,插入列,删除列,等等操作来调用它。所以,插入列InsertColumn系列操作应该封装成一个函数。
    • 注意点8 SetExtendedStyle() 设置扩展的样式风格
      • 如何快速查看MSDN中有哪些样式和风格
        • 在Vs2015中,点选对象,右键找到申明,点选前面的申明类,F1打开MSDN,跳转MSDN
        • Ctrl + F 查找 “Style" , 再下翻找到 SetExtendedStyle(),点开
        • 在SetExtendedStyle()页面“参数”中,点开 "Windows SDK的 扩展列表视图样式",就找到了“EXtended List-View Styles”
        • 这里就有很多的样式风格,以“LVS_EX_”为前缀,L - List, V - View ,S - Styles EX - EXtended
    • 注意点9 LVS_EX_GRIDLINES 带有网格线的样式
    • 注意点10 如果ListCtrl没有风格样式时,貌似可以只设置风格线样式
      • 建议不要单独的只是把样式,设置为网格线样式,最好是能保留原来的风格,在原来风格样式的基础上,添加网格线样式,才是正确的方式
        • 1 先获取当前对象的风格样式 DWORD dwStyle = m_listCtrl.GetStyle();
        • 2 设置 或等于: 如 dwStyle |= LVS_EX_GRIDLINES; m_listCtrl.SetEXtendedStyle(dwStyle);
    • 注意点11 如上10,只初始一次的操作,可以放在初始化方法中,不用封装。
    • 问题点1: 如果宽度获取的是主窗口的宽度,会对列表宽度有什么样的影响?会不会有问题? ###问题[email protected]待测试
时间: 2024-11-07 03:35:05

PoEdu-Windows编程-Lesson04_项目开始_阶段学习重点的相关文章

【Windows编程】系列第十篇:文本插入符

大家知道,在使用微软的编程环境创建工程时会让你选择是控制台模式还是Windows应用程序.如果选择控制台的console模式,就会在运行时出现一个黑洞洞的字符模式窗口,里面就有等待输入一闪一闪的插入符.输入光标从DOS时代就存在,但是在Win32中赋予了更强大的功能.下图就是Windows的CMD窗口,其中的输入点就是插入光标: 要注意的是这里的插入符或插入光标并不是Windows中另外一个"光标",这里是指示插入字符的位置,而不是用于鼠标,手写输入等可以定位.移动的光标(Cursor

操作系统,windows编程,网络,socket

首发:个人博客,更新&纠错&回复 之前关于c/s的一篇博文只记了思路没记代码,而且表达不清晰,事后看不知所云,这个习惯要改. 这十几天学了点关于操作系统.windows编程和网络,主要看的书有以下几本,都没看完或者只看了一点,记下书名先:<现代操作系统><深入解析windows操作系统><windows程序设计><c#入门经典><wpf编程宝典><图解tcp/ip>另外<tcp/ip详解><java网

Win32 Windows编程 三

一.NMAKE 和 Makefile 1.1  NMAKE - 命令解释器, 根据Makefile文件中定义的脚本,完成项目的编译等操作 1.2 Makefile - 定义编译.连接等脚本语言 1.3 Makefile 文件的使用 1.3.1 基本语法规则 window.exe:window.obj //依赖行 cl.exe window.c /c   //命令行 link.exe window.obj user32.lib window.exe 的依赖项是window.obj,如果window

走进windows编程的世界-----入门篇

1   Windows编程基础 1.1Win32应用程序基本类型 1)  控制台程序 不须要完好的windows窗体,能够使用DOS窗体方式显示 2)  Win32窗体程序 包括窗体的程序,能够通过窗体与程序进行交互 3)  Win32库程序 提供已有的代码,供其它程序使用 动态库(DLL):是在运行的时候能够载入的. 静态库(LIB):是在编译链接是使用的程序.成为当前程序的一部分. 1.2头文件和库 1.2.1头文件 主要的头文件windows.h包括了windows经常使用的定义等,其它,

Windows & Office升级项目总结

Windows& Office升级项目结束已有半年之久了,一直没有抽出时间总结,现做一些简单的总结. 微软已于2014年4月8日停止对Windows XP和Office 2003的技术支持,这对很多公司来讲,无疑是晴天霹雳的打击,尤其是像我们这样对盗版说NO的外企.一方面,要投入大量的资金购买License和硬件,另一方面,旧有的应用系统是否能兼容Windows7,以及用户对Windows7和Office2010的接受程度,不得而知. 项目环境: 1.公司现有办公电脑1500台,笔记本和台式机各

windows 编程 —— 宽字符集 与 Unicode

从ASCII码 到 Unicode 双字节字符集 迄今为止,我们已经看到了256个字符的字符集(ASCII).但中国.日本和韩国的象形文字符号有大约21,000个.如何容纳这些语言而仍保持和ASCII的某种兼容性呢? 解决方案(如果这个说法正确的话)是双字节字符集(DBCS:double-byte character set).DBCS从256代码开始,就像ASCII一样.与任何行为良好的代码页一样,最初的128个代码是ASCII.然而,较高的128个代码中的某些总是跟随着第二个字节.这两个字节

Windows 编程,程序编译使用的命令行工具。

Windows 编程,程序编译使用的命令行工具. 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件. 2.rc.exe文件是资源编译器.工程项目中的.rc文件中包含了对程序中所使用资源(菜单.图标等)的描述.rc.exe将.rc格式的文件编译为.res文件,供链接器链接到可执行文件中. 3.link.exe是Windows平台的链接器,它将cl.exe编译生成的obj文件,资源编译器生成的.res文件,以及lib目录下的lib文件等链接成可执行的exe文

Windows编程vs编译器 MD(d)、MT(d)编译选项的区别

原文查看 Windows编程vs编译器 MD(d).MT(d)编译选项的区别 1.编译选项的位置 以VS2005为例,这样子打开: 1)         打开项目的Property Pages对话框 2)         点击左侧C/C++节 3)         点击Code Generation节 4)         右侧第六行Runtime Library项目 2.各个设置选项代表的含义 编译选项 包含 静态链接的lib 说明 /MD _MT._DLL MSVCRT.lib 多线程.Re

windows编程 进程的创建销毁和分析

Windows程序设计:进程进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,在Windows编程环境下,主要由两大元素组成:? 一个是操作系统用来管理进程的内核对象.操作系统使用内核对象来存放关于进程的核心信息.? 另一个是地址空间,在地址空间囊括了所有可执行模块和动态链接库的代码和数据.动态内存分配的空间也在其中,典型代表是线程堆栈和堆内存分配.1进程与线程进程是不活泼的.当进程开始工作的时候,它必须启动一个在当前进程上下文中的线程来执行工作流程.这个线程被称为主线程,它负责执