MFC XP风格控件封装库:轻松实现界面升级

版权申诉
0 下载量 105 浏览量 更新于2024-11-08 收藏 20KB ZIP 举报
资源摘要信息: "XP-class.zip_class XP" 知识点: 1. MFC(Microsoft Foundation Classes)介绍 MFC是微软提供的一套C++类库,用于帮助开发者快速开发Windows应用程序。MFC封装了许多Windows API函数,为开发者提供了一种面向对象的编程框架,使得开发者可以不必直接与底层API打交道,从而简化了编程过程。 2. XP风格控件 XP风格指的是在Windows XP操作系统中,微软所采用的用户界面风格。这种风格以其平滑的边角、半透明的视觉效果以及更加人性化的交互设计而受到用户欢迎。在Windows XP之后的版本中,微软也保持了这种风格的兼容性,使得开发者能够继续创建拥有类似视觉效果的应用程序。 3. 控件封装 在软件开发中,控件通常指的是一些可以重复使用的界面元素,如按钮、文本框、列表框等。封装是面向对象编程中的一个重要概念,指的是将数据(属性)和操作数据的方法(函数)捆绑在一起,形成一个独立的对象。在MFC中,控件的封装意味着开发者可以将具有特定功能的代码块打包成一个类,这样在不同的项目中就可以复用这些类来实现相同的功能。 4. 将控件加入到工程项目中 在MFC项目中,开发者可以通过在资源编辑器中添加控件并设置其属性,或者直接在代码中创建控件对象来将控件加入到项目中。当使用了已经封装好的xp风格控件时,开发者只需要引入相应的头文件和实现文件,然后按照控件的使用说明进行编程,即可在项目中实现XP风格的视觉效果。 5. 文件列表中控件的详细介绍 - XPTabCtrl.cpp和XPTabCtrl.h: 这两个文件提供了XP风格的标签控件的实现和接口。该控件允许用户在多个页面之间切换,每页可以显示不同的内容。XP风格的标签控件与普通的标签控件相比,通常具有更加精美和统一的设计风格。 - ToolBarXP.cpp和ToolbarXP.h: 这两个文件提供了XP风格的工具栏控件的实现和接口。工具栏通常位于窗口的顶部,包含一组图标按钮,用于快速访问程序的常用功能。XP风格的工具栏会提供更加现代化和美观的设计。 - ComboBoxXP.cpp和ComboBoxXP.h: 这两个文件提供了XP风格的组合框控件的实现和接口。组合框结合了下拉列表和文本框的功能,用户可以从中选择一个值,也可以在文本框中输入值。XP风格的组合框外观上更加符合XP的设计语言。 - XpButton.cpp和XpButton.h: 这两个文件提供了XP风格的按钮控件的实现和接口。按钮是用户界面中用于执行命令的控件。XP风格的按钮具有圆角效果和特殊的视觉反馈,提高了用户的交互体验。 - ListBoxXP.cpp和ListBoxXP.h: 这两个文件提供了XP风格的列表框控件的实现和接口。列表框控件用于展示一个项列表供用户选择。XP风格的列表框在视觉上更加吸引用户,并且与XP的整体风格保持一致。 - StatusBarXP.cpp和StatusBarXP.h: 这两个文件提供了XP风格的状态栏控件的实现和接口。状态栏通常位于窗口底部,用于显示程序状态信息或提示信息。XP风格的状态栏在外观上更加现代化,并且能够更好地与整体界面风格融合。 通过将这些已经封装好的XP风格控件加入到MFC项目中,开发者可以快速实现视觉效果统一且美观的应用程序界面。这些控件不仅可以提升用户体验,还可以帮助开发团队减少重复劳动,提高开发效率。

以hive的角度检查语法: with cur_dim_comb as (SELECT DISTINCT t.dim_comb ,t.var_sub_class ,t.acc_value FROM gerp.cux_cst_data_alloc_his t WHERE t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id )) select tp.bd_code --事业部编码 ,tp.bd_name --事业部名称 ,hp.ou_code --OU名称 ,hp.ou_name --OU编码 ,op.main_class_desc --差异大类 ,op.acc_value --科目代码 ,op.acc_desc --科目名称 ,op.dim_comb --区分维度 ,op.begin_amount --期初余额 ,op.accrual_amount --本期发生 ,op.balance_diff_alloc_amount --期末差异结存 ,op.var_sub_class ,op.main_class_value ,op.org_id ,op.period_name ,op.job_ver_id from (select up.* ,q1.* from (SELECT DISTINCT maincl.* ,t.* FROM t inner join (SELECT fv.flex_value ,fv.description FROM fv inner join fs on fv.flex_value_set_id = fs.flex_value_set_id AND fs.flex_value_set_name = 'CUX_CST_VARIANCE_TYPE' AND fv.enabled_flag = 'Y' AND fv.hierarchy_level = '2' AND fv.flex_value LIKE '10%' ) maincl on t.var_main_class = maincl.flex_value inner join cur_dim_comb on cur_dim_comb.var_sub_class = t.var_sub_class and cur_dim_comb.acc_value = t.acc_value WHERE 1 = 1 AND t.top_var_type = '10' AND t.job_ver_id in (SELECT ver.job_ver_id AS p_job_ver_id FROM gerp.cux_cst_dist_jobs_all job INNER JOIN gerp.cux_cst_dist_jobs_vers_all ver ON job.job_id = ver.job_id) ORDER BY maincl.description ,t.acc_value ,cur_dim_comb.dim_comb ) up inner join (SELECT t1.* ,SUM(t1.begin_amount) begin_amount ,SUM(t1.accrual_amount) accrual_amount ,SUM(t1.balance_diff_alloc_amount) balance_diff_alloc_amount FROM gerp.cux_cst_data_alloc_his t1 LEFT JOIN gerp.cux_cst_data_alloc_his t ON t1.top_var_type = '10' AND t1.var_sub_class = t.var_sub_class --p_var_sub_class AND t1.org_id = t.org_id --p_org_id AND t1.period_name = t.period_name --p_period_name AND t1.job_ver_id = t.job_ver_id --p_job_ver_id AND t1.acc_value = t.acc_value --p_acc_value WHERE t1.dim_comb in (select distinct dim_comb from cur_dim_comb) group by t1.org_id,t1.period_name,t1.job_ver_id,t1.var_sub_class,t1.acc_value ) q1 on q1.org_id = up.org_id --p_org_id AND q1.period_name = up.period_name --p_period_name AND q1.job_ver_id = up.job_ver_id --p_job_ver_id AND q1.var_sub_class = up.var_sub_class --p_var_sub_class AND q1.acc_value = up.acc_value --p_acc_value ) op

2023-05-26 上传