MFC_C++03_销售管理系统

01 项目简介以及项目配置

MFC_C++03_销售管理系统_第1张图片
MFC_C++03_销售管理系统_第2张图片
界面如下:
MFC_C++03_销售管理系统_第3张图片
MFC_C++03_销售管理系统_第4张图片
C499的错误,_CRT_SECURE_NO_WARNINGS

设置窗口属性:
图标:
右击—》在文件资源管理器中打开文件-》将图标放入res中
MFC_C++03_销售管理系统_第5张图片
添加资源,添加到Icon中(添加图标,更改名称)
MFC_C++03_销售管理系统_第6张图片
加载图标:(OnCreate中添加代码)
MFC_C++03_销售管理系统_第7张图片MFC_C++03_销售管理系统_第8张图片

//修改项目图标
SetClassLong(m_hWnd, GCLP_HICON, (LONG)AfxGetApp()->LoadCursorW(IDI_ICON_WIN));
	
//修改标题,右侧标题
SetTitle(TEXT("2017/5/14"));

MFC_C++03_销售管理系统_第9张图片
左侧标题更改:
MFC_C++03_销售管理系统_第10张图片
MFC_C++03_销售管理系统_第11张图片
MFC_C++03_销售管理系统_第12张图片
窗口的大小设置:


	//修改项目图标
	SetClassLong(m_hWnd, GCLP_HICON, (LONG)AfxGetApp()->LoadCursorW(IDI_ICON_WIN));
	
	//修改标题,右侧标题
	SetTitle(TEXT("2022/5/14"));

	//修改窗口大小
	MoveWindow(0, 0, 800, 500);

	//居中显示
	CenterWindow();
	return 0;
}

02 静态拆分窗口

右击-》添加自定义类
问题:
CTreeView 不是类名 VS2019怎么添加MFC类
这个错误是VS2019 添加MFC类出错。

VS2017之后,添加MFC类被移到解决方案中添加新建项中,在引导操作中可以设置基类和关联窗口ID,点击完成后即可。

千万不能在类视图中直接添加,直接输入基类,会导致之后的操作出现错误而找不出错因。
正确的添加MFC类步骤:
博客园Logo
首页
新闻
博问
专区
闪存
班级
代码改变世界
搜索
注册
登录
大湾
CTreeView 不是类名 VS2019怎么添加MFC类
这个错误是VS2019 添加MFC类出错。

VS2017之后,添加MFC类被移到解决方案中添加新建项中,在引导操作中可以设置基类和关联窗口ID,点击完成后即可。

千万不能在类视图中直接添加,直接输入基类,会导致之后的操作出现错误而找不出错因。

正确的添加MFC类步骤:
右键----添加-----新建项—MFC—MFC类–名称 输入自己要起的类名 下一步就可以看到 可以选择基类了
不是 右键----添加-----类
MFC_C++03_销售管理系统_第13张图片

MFC_C++03_销售管理系统_第14张图片
添加:#include
MFC_C++03_销售管理系统_第15张图片

通过CSplitterWnd类拆分窗口:
MFC_C++03_销售管理系统_第16张图片
MFC_C++03_销售管理系统_第17张图片
MFC_C++03_销售管理系统_第18张图片
MFC_C++03_销售管理系统_第19张图片
MFC_C++03_销售管理系统_第20张图片

private:
	CSplitterWnd m_spliter;//切分窗口类对象
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
	// TODO: 在此添加专用代码和/或调用基类

	//创建静态窗口 拆分
	m_spliter.CreateStatic(this, 1, 2);

	//创建具体窗口
	m_spliter.CreateView(0, 0, RUNTIME_CLASS(CSelectView), CSize(200, 500), pContext);
	m_spliter.CreateView(0, 1, RUNTIME_CLASS(CDispalyView), CSize(600, 500), pContext);

	//return CFrameWnd::OnCreateClient(lpcs, pContext);
	return TRUE; //自定义拆分
}

MFC_C++03_销售管理系统_第21张图片

03 树视图功能实现

MFC_C++03_销售管理系统_第22张图片
MFC_C++03_销售管理系统_第23张图片

private:
	CTreeCtrl* m_treeCtrl;//树控件
	CImageList m_imageList; //图标列表

重写:OnInitialUpdate

void CSelectView::OnInitialUpdate()
{
	CTreeView::OnInitialUpdate();

	// TODO: 在此添加专用代码和/或调用基类
	//初始化

	//获取树控件
	m_treeCtrl = &GetTreeCtrl();

	//创建TreeCtrl步骤
	//1.准备图片
	HICON icon = AfxGetApp()->LoadIconW(IDI_ICON_RE);
	m_imageList.Create(30, 30, ILC_COLOR32, 1, 1);
	m_imageList.Add(icon);

	m_treeCtrl->SetImageList(&m_imageList, TVSIL_NORMAL);

	//2.设置节点
	m_treeCtrl->InsertItem(TEXT("个人信息"), 0, 0, NULL);
	m_treeCtrl->InsertItem(TEXT("销售管理"), 0, 0, NULL);
	m_treeCtrl->InsertItem(TEXT("库存信息"), 0, 0, NULL);
	m_treeCtrl->InsertItem(TEXT("库存添加"), 0, 0, NULL);
	m_treeCtrl->InsertItem(TEXT("库存删除"), 0, 0, NULL);
}

MFC_C++03_销售管理系统_第24张图片
MFC_C++03_销售管理系统_第25张图片
MFC_C++03_销售管理系统_第26张图片

04 个人信息界面布局

MFC_C++03_销售管理系统_第27张图片
MFC_C++03_销售管理系统_第28张图片
MFC_C++03_销售管理系统_第29张图片
MFC_C++03_销售管理系统_第30张图片

MFC_C++03_销售管理系统_第31张图片
MFC_C++03_销售管理系统_第32张图片
MFC_C++03_销售管理系统_第33张图片
MFC_C++03_销售管理系统_第34张图片
MFC_C++03_销售管理系统_第35张图片
MFC_C++03_销售管理系统_第36张图片

05 个人信息的界面挂载

MFC_C++03_销售管理系统_第37张图片
MFC_C++03_销售管理系统_第38张图片
MFC_C++03_销售管理系统_第39张图片
MFC_C++03_销售管理系统_第40张图片

//WM_USER 是用户自定义消息的一个起始值
//WM_USER+100是为了区分系统消息和用户消息,避免冲突
#define NM_A  (WM_USER+100)
#define NM_B  (WM_USER+101)
#define NM_C  (WM_USER+102)
#define NM_D  (WM_USER+103)
#define NM_E  (WM_USER+104)
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	ON_WM_CREATE()

	//ON_MESSAGE响应的是自定义消息
	//产生NM_X消息,自动调用OnMyChange函数
	ON_MESSAGE(NM_A, OnMyChange)
	ON_MESSAGE(NM_B, OnMyChange)
	ON_MESSAGE(NM_C, OnMyChange)
	ON_MESSAGE(NM_D, OnMyChange)
	ON_MESSAGE(NM_E, OnMyChange)

END_MESSAGE_MAP()
private:
	CSplitterWnd m_spliter;//切分窗口类对象

	afx_msg LRESULT OnMyChange(WPARAM wParam, LPARAM lParam);

	virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);

详情请参考

你可能感兴趣的:(#,MFC,mfc,c++)