place_order_dlg.h 2.47 KB
#pragma once
#include "GridCtrl.h"
#include "resource.h"
#include "afxcmn.h"
#include "afxwin.h"
#include "afxbutton.h"
#include "../utility/win_http.h"
#include "etrade_edit_control.h"


// PlaceOrderDlg 对话框

class PlaceOrderDlg : public CDialogEx
{
	DECLARE_DYNAMIC(PlaceOrderDlg)

public:
	PlaceOrderDlg(CWnd* pParent = NULL);   // 标准构造函数
	virtual ~PlaceOrderDlg();

	virtual BOOL OnInitDialog();
	virtual BOOL Create(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL);
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	afx_msg void OnPaint();
	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

// 对话框数据
	enum { IDD = IDD_DIALOG_PLACE_ORDER };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()


private:
	void SetCtrlPos();
	void SetCtrlInitData();
	void InitList();
public:
	CStatic owner_static_;
	CEditBox card_edit_;
	CEdit name_edit_;
	CStatic comm_static_;
	CEditBox comm_num_edit_;
	CEdit comm_name_edit_;
	CStatic unit_static_;
	CEditBox unit_edit_;
	CStatic real_unit_static;
	CStatic heavy_static_;
	CEditBox heavy_edit_;
	CStatic price_static_;
	CEditBox price_edit_;
	CStatic count_static_;
	CEditBox count_edit_;
	CButton pay_button_;
	CGridCtrl product_list_;

	CPen line_pen_;
	CPoint line_point_[2];
	
	CBrush edit_brush_;
public:
	afx_msg void OnBnClickedButtonPay();
private:
	CStatic total_money_static_;
	CStatic total_real_money_static_;

	HACCEL acce_;

	bool GetUserName(CString &name);
	bool GetCommName(CString &name);
public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	afx_msg void OnAcceleratorTab();
	afx_msg void OnAcceleratorEnter();

	void SetErrorMsg(CString &error);
	CStatic error_static_;

	afx_msg LRESULT OnEditKillFocus(WPARAM wParam, LPARAM lParam);

	bool GetCardName(CString &num, CString &name);
	bool GetCommName(CString &num, CString &name);

	afx_msg void OnAcceleratorDown();
	afx_msg void OnAcceleratorUp();
	afx_msg void OnSetFocus(CWnd* pOldWnd);

	//bool CheckCardData(CString card_data);
	//bool CheckCommData(CString comm_data);
	//bool CheckUnitData(CString unit_data);
	//bool CheckPriceData(CString price_data);
	//bool CheckCountData(CString count_data);

	//CString card_num_;
	//CString card_name_;
	//CString comm_num_;
	//CString comm_name_;
	//CString unit_;
	//CString heavy_;
	//CString price_;
	//CString count_;
	//int error_count_;
	//const CString ErrorCode = L"-9000";
};