📄 listxsdj.h
字号:
// ListXSDJ.h: interface for the CListXSDJ class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_LISTXSDJ_H__4E1366B7_4E4F_4163_88EC_7C26DF0341A3__INCLUDED_)
#define AFX_LISTXSDJ_H__4E1366B7_4E4F_4163_88EC_7C26DF0341A3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "BaseList.h"
#include "ListCtrlPop.h"
#include <Afxtempl.h>
class CListXSDJ : public CBaseList
{
public:
bool CancelTheItem(const int &item);
//用来检查用户输入
bool CheckAllItem();
bool CheckTheItem(const int& item);
bool CheckCk(const int& item);
bool CheckYp(const int& mark);
//用来初始化显示数据
bool InitListYpCk(const int& item,CString yp_id);
bool InitListKc();
bool InitListYp();
bool InitListCurYpKc(const int& item);
//重写的虚函数,用来响应各种特殊情况
//用户输入了up,down pageup pagedown键,让CListCtrlPop在该情况下做出反应
void OnEditUDNPMessage(const int& item, const int& subitem,UINT key);
//父窗体移动,让CListCtrlPoop在该情况下做出反应
void OnParentMoved();
//用户按ESC
void OnESC(const int& item, const int& subitem);
//用户输入字符,在不同的单元格中,限制用户的输入
void PreOnEditChar(const int& item, const int& subitem,UINT& key);
//m_edit失去焦点
virtual void OnEditKillFocus(const int& item,const int& subitem);
//m_edit受到回车消息
virtual bool OnEditReturn(const int& item,const int& subitem);
//m_edit 得到焦点
virtual void OnEditSetFocus(const int& item,const int& subitem);
//m_edit正在被修改
virtual void OnNewEditChange(const int& item,const int& sub_item);
//不引起OnChange()的设定Text的语句
void SetValueUnOnChange(CString text);
//删除选中的行
bool DeleteSelected();
//选择外面的CListCtrlPop,不过没用到
void SelectPopList(CListCtrlPop* poplist);
//用来创建窗口
CListXSDJ(bool isxs);
virtual ~CListXSDJ();
bool Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
CStringList* m_pstrlistYp;
CStringList* m_pstrlistKc;
CStringList* m_pstrlistYpKc;//当选定药品时,需要显示的库存信息
CStringList* m_pstrlistCurYpKc;//当选定药品和库存时,需要显示的库存信息
//药品对应的进价
CMap<CString,LPCTSTR,double,double> m_mapYpToJj;
//检测用的状态码
enum{ NONE= 0x0000L,YPTRUE=0x0001L,YPFALSE=0x0002L,CHECKCK=0x0010,NOCK=0xFFE3,CKTRUE=0x0015,CKFALSE=0x0019L};
// 00000000 01 10 00010000 11100011 00010101 00011001
//每行的状态
WORD m_iTheItemState[100];
//当前行对应的库存编号
int m_iYpKcSelected[100];
//当前进行的是销售操作,还是入库操作
bool m_bXs;
// Generated message map functions
protected:
double SetZje();
//{{AFX_MSG(CListXSDJ)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#endif // !defined(AFX_LISTXSDJ_H__4E1366B7_4E4F_4163_88EC_7C26DF0341A3__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -