基于对话框的时间控件Date Time Picker

锅锅0107 2013-05-30 08:28:58
我的程序里有俩个时间空间,一个是short date一个是time 同样的做法,改变俩个控件的值,传到list control上去显示,第一个就能显示设置的时间,第二个只能显示一个时间,无法改变,大家帮帮忙想一想
...全文
125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
锅锅0107 2013-06-03
  • 打赏
  • 举报
回复
引用 7 楼 u010912594 的回复:
[quote=引用 6 楼 yaozhiyong110 的回复:] [quote=引用 3 楼 guoguo19880107 的回复:] [quote=引用 楼主 guoguo19880107 的回复:] 我的程序里有俩个时间空间,一个是short date一个是time 同样的做法,改变俩个控件的值,传到list control上去显示,第一个就能显示设置的时间,第二个只能显示一个时间,无法改变,大家帮帮忙想一想
解决这个问题了,改了一下关联控件的类型值,主要是由于这段代码引起的,版主能帮忙解释一下吗 COleDateTime dt1; dt1.ParseDateTime(CSdate); SYSTEMTIME st1; dt1.GetAsSystemTime(st1); CTime tm1(st1); //这句话是什么意思 pDlg->m_date2.SetTime(&st1); //m_date2m_date2是CDateTimeCtrl [/quote] 用SYSTEMTIME 时间来构造CTime啊[/quote] 对。如果你查看CTime的构造函数会发现有不同参数重载的构造函数,用SYSTEMTIME做参数的是其中一种。[/quote]谢谢大家
u010912594 2013-06-01
  • 打赏
  • 举报
回复
引用 6 楼 yaozhiyong110 的回复:
[quote=引用 3 楼 guoguo19880107 的回复:] [quote=引用 楼主 guoguo19880107 的回复:] 我的程序里有俩个时间空间,一个是short date一个是time 同样的做法,改变俩个控件的值,传到list control上去显示,第一个就能显示设置的时间,第二个只能显示一个时间,无法改变,大家帮帮忙想一想
解决这个问题了,改了一下关联控件的类型值,主要是由于这段代码引起的,版主能帮忙解释一下吗 COleDateTime dt1; dt1.ParseDateTime(CSdate); SYSTEMTIME st1; dt1.GetAsSystemTime(st1); CTime tm1(st1); //这句话是什么意思 pDlg->m_date2.SetTime(&st1); //m_date2m_date2是CDateTimeCtrl [/quote] 用SYSTEMTIME 时间来构造CTime啊[/quote] 对。如果你查看CTime的构造函数会发现有不同参数重载的构造函数,用SYSTEMTIME做参数的是其中一种。
yaozhiyong110 2013-05-31
  • 打赏
  • 举报
回复
引用 3 楼 guoguo19880107 的回复:
[quote=引用 楼主 guoguo19880107 的回复:] 我的程序里有俩个时间空间,一个是short date一个是time 同样的做法,改变俩个控件的值,传到list control上去显示,第一个就能显示设置的时间,第二个只能显示一个时间,无法改变,大家帮帮忙想一想
解决这个问题了,改了一下关联控件的类型值,主要是由于这段代码引起的,版主能帮忙解释一下吗 COleDateTime dt1; dt1.ParseDateTime(CSdate); SYSTEMTIME st1; dt1.GetAsSystemTime(st1); CTime tm1(st1); //这句话是什么意思 pDlg->m_date2.SetTime(&st1); //m_date2m_date2是CDateTimeCtrl [/quote] 用SYSTEMTIME 时间来构造CTime啊
锅锅0107 2013-05-31
  • 打赏
  • 举报
回复
自己还是MFC的初学者,很高兴和大家一起沟通交流
锅锅0107 2013-05-31
  • 打赏
  • 举报
回复
引用 2 楼 yaozhiyong110 的回复:
你是想时间自己走????
谢谢大家,已经解决了
锅锅0107 2013-05-31
  • 打赏
  • 举报
回复
引用 楼主 guoguo19880107 的回复:
我的程序里有俩个时间空间,一个是short date一个是time 同样的做法,改变俩个控件的值,传到list control上去显示,第一个就能显示设置的时间,第二个只能显示一个时间,无法改变,大家帮帮忙想一想
解决这个问题了,改了一下关联控件的类型值,主要是由于这段代码引起的,版主能帮忙解释一下吗 COleDateTime dt1; dt1.ParseDateTime(CSdate); SYSTEMTIME st1; dt1.GetAsSystemTime(st1); CTime tm1(st1); //这句话是什么意思 pDlg->m_date2.SetTime(&st1); //m_date2m_date2是CDateTimeCtrl
Eleven 2013-05-30
  • 打赏
  • 举报
回复
自己添加WM_TIMER消息,在OnTimer中更新一下即可。
yaozhiyong110 2013-05-30
  • 打赏
  • 举报
回复
你是想时间自己走????
DotNetBar是一款带有56个 Windows Form 控件的工具箱,使开发人员可以轻而易举地创建出专业美观的Windows Form应用程序用户界面,控件全部采用C#编写,引入了全部Office 2007 style Ribbon控件、Office 2003 office2010 样式、支持windows7,Windows XP主题等。DotNetBar for WindowsForms 全面支持Office 2010 风格的后台应用程序菜单。 DotNetBar For Windows Forms 11.7.0.6(11706) 官方原版+注册机(强悍的用户界面控件库) DotNetBar For Windows Forms 11.7.0.6 官方原版+注册机(强悍的用户界面控件库) 具体功能: 为office2010、windows7、Office 2007 Ribbon 控件提供了Black,Silver ,Blue三种配色方案,支持Windows Vista Glass、tab groups, ribbon hyper menus, multi-level KeyTips, complete Quick Access Toolbar (QAT),支持Ribbon Menu Tabs Office 2007 Ribbon Bar 控件具有组合按钮,弹出按钮等 Office 2007 Super Tooltips控件具有18种颜色样式 支持停靠窗口自动隐藏,灵活的视图分割 支持具有Office 2007, VS.NET 2005, Office 2003/XP/2000,样式的Hyper-Menus 和工具条 支持具有Office 2007和2003样式的导航面板,支持扩展和收缩 SuperTab控件支持6种不同的样式,16种配色方案,支持颜色自定制 Explorer Bar控件使程序员可以创建出具有XP样式的Explorer Bar Tab-Strip控件具有九种预定义的样式,支持tabbed MDI ,颜色自定义 Side Bar 控件具有两种布局类型、5种不同的样式、18种预定义颜色方案,支持拖拉功能 BubbleBar 是一个灵活的toolbar控件 Stand alone Bar可以用于创建具有Office 2007 的状态条 可扩展的Splitter控件,Expandable Splitter控件能够直观的管理屏幕状态 可展开的Panel控件, Expandable Panel控件完整的支持office2007,2003的风格外观 多功能的Panel控件 Balloon/Alert控件用于传达一些重要的信息给最终用户 Wizard控件支持Wizard97规范,可以创建安装文件。 ButtonX 是一个卓越的按钮控件,ButtonX控件可以独立的控制下拉菜单、Office 2007, Office 2003, VS.NET 2005 和客户自定义颜色风格。 Color Picker控件可以创建具有Office 2007样式的下拉式颜色采集器,程序员也可以自定义颜色对话框 Item Panel使你可以创建出灵活的可以进行选择的多功能面板 具有Office 2007样式和外观的窗体 Office 2007样式的复选框和单选框 Progress bar控件可以用于创建具有Office 2007, Office 2003 和 VS.NET 2005的进度条 Office 2007样式的MessageBox 多功能Office 2007样式的TextBox 多功能Office 2007样式的下拉列表框 GroupPanel可以创建组合的TextBox文本框 Slider滚动条控件创建具有Office 2007样式的外观 具有Office 2007样式的ListViewEx控件,该控件不支持.NET Framework 1.0, 1.1. Office 2007样式的Label控件 DataGridViewX控件是一个表格控件,具有行、表头、滚动等功能,该控件不支持.NET Framework 1.0, 1.1. Date/Time Picker时间采集控件,可以用于创建具有Office 2007样式的日期选择控件 Month-Calendar控件让程序员可以创建月历控件 Double value input控件,用于控制值的输入,支持空值,货币值,小数,百分比 Integer value input控件可以控制整数的输入 Reflection Image控件为图片提供倒影功能 Reflection Label控件可以用于对Label提供倒影 水平和垂直滚动条控件可以创建Office 2007样式的滚动条 高级的可以指定格式输入的TextBox 多种功能的TreeView控件,支持拖拉功能,支持多选择 CrumbBar™ 控件 TextBoxDropDown控件 ComboBox树型控件可以用于在下拉列表框里创建树形控件 Rating控件 支持VS2013以及其他版本
public bz &&定义全局变量bz=.f.this.listview1.view=2 &&设置视图显示方式 *将ImageList控件图片赋予Listview控件 this.listview1.Icons=this.imagelist1.objectthis.listview1.smallicons=this.imagelist1.object&&添加列表项key=‘小区信息生成‘=this.listview1.listitems.add(,,key,,1)key=‘大楼信息生成‘=this.listview1.listitems.add(,,key,,1)key=‘房屋信息生成‘=this.listview1.listitems.add(,,key,,1)key=‘小区信息登记‘=this.listview1.listitems.add(,,key,,1)key=‘大楼信息登记‘=this.listview1.listitems.add(,,key,,1)key=‘房屋信息登记‘=this.listview1.listitems.add(,,key,,1)key=‘系统数据设定‘=this.listview1.listitems.add(,,key,,1)在“经营部”的click事件中添加代码为:this.parent.listview1.listItems.clear &&清除数据this.parent.listview1.view=2 &&设置视图显示方式*将ImageList控件图片赋予Listview控件this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.object*添加数据项key=‘小区信息生成‘=this.parent.listview1.listitems.add(,,key,,1)key=‘大楼信息生成‘=this.parent.listview1.listitems.add(,,key,,1)key=‘房屋信息生成‘=this.parent.listview1.listitems.add(,,key,,1)key=‘小区信息登记‘=this.parent.listview1.listitems.add(,,key,,1)key=‘大楼信息登记‘=this.parent.listview1.listitems.add(,,key,,1)key=‘房屋信息登记‘=this.parent.listview1.listitems.add(,,key,,1)key=‘系统数据设定‘=this.parent.listview1.listitems.add(,,key,,1)在“管理部”的事件中添加以下代码为:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.objectkey=‘业主信息登记‘=this.parent.listview1.listitems.add(,,key,,2)key=‘人口信息查询‘=this.parent.listview1.listitems.add(,,key,,2)key=‘小区投诉登记‘=this.parent.listview1.listitems.add(,,key,,2)key=‘小区投诉查询‘=this.parent.listview1.listitems.add(,,key,,2)key=‘小区员工管理‘=this.parent.listview1.listitems.add(,,key,,2)key=‘系统数据设定‘=this.parent.listview1.listitems.add(,,key,,2)pjyb=.t.在“工程部”上添加代码为:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.objectkey=‘装修队登记‘=this.parent.listview1.listitems.add(,,key,,3)key=‘维修信息登记‘=this.parent.listview1.listitems.add(,,key,,3)key=‘维修信息查询‘=this.parent.listview1.listitems.add(,,key,,3)key=‘装修信息登记‘=this.parent.listview1.listitems.add(,,key,,3)key=‘装修信息查询‘=this.parent.listview1.listitems.add(,,key,,3)pjyb=.t.在“财务部”添加代码为:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.objectkey=‘收费登记管理‘=this.parent.listview1.listitems.add(,,key,,4)key=‘水费查询管理‘=this.parent.listview1.listitems.add(,,key,,4)key=‘电费查询管理‘=this.parent.listview1.listitems.add(,,key,,4)key=‘煤气费查询管理‘=this.parent.listview1.listitems.add(,,key,,4)key=‘采暖费查询管理‘=this.parent.listview1.listitems.add(,,key,,4)key=‘其它费用查询管理‘=this.parent.listview1.listitems.add(,,key,,4)pjyb=.t.在“保安部”添加代码为:这this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.objectkey=‘保安排班管理‘=this.parent.listview1.listitems.add(,,key,,5)key=‘保安排班查询‘=this.parent.listview1.listitems.add(,,key,,5)pjyb=.t.在“经理室”添加代码为:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.objectkey=‘小区资源统计‘=this.parent.listview1.listitems.add(,,key,,6)key=‘业主信息查询‘=this.parent.listview1.listitems.add(,,key,,6)key=‘人口信息查询‘=this.parent.listview1.listitems.add(,,key,,6)key=‘小区投诉查询‘=this.parent.listview1.listitems.add(,,key,,6)key=‘小区员工查询‘=this.parent.listview1.listitems.add(,,key,,6)key=‘装修信息查询‘=this.parent.listview1.listitems.add(,,key,,6)key=‘维修信息查询‘=this.parent.listview1.listitems.add(,,key,,6)key=‘保安排班查询‘=this.parent.listview1.listitems.add(,,key,,6)pjyb=.t.在“系统管理”中添加代码为:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.objectkey=‘操作员管理‘=this.parent.listview1.listitems.add(,,key,,7)key=‘权限设置‘=this.parent.listview1.listitems.add(,,key,,7)pjyb=.t.在“帮助”中添加代码为:this.parent.listview1.listItems.clearthis.parent.listview1.view=2this.parent.listview1.Icons=this.parent.imagelist1.objectthis.parent.listview1.smallicons=this.parent.imagelist1.objectkey=‘帮助‘=this.parent.listview1.listitems.add(,,key,,8)key=‘关于本软件‘=this.parent.listview1.listitems.add(,,key,,8)pjyb=.t.在“退出”中添加代码为:quit &&退出主程序在Image1的Click事件中添加代码为:this.parent.commdl.filter=‘图片|*.bmp;*.jpg‘ &&设置过滤器this.parent.commdl.showopen &&显示打开对话框this.parent.rq.image2.picture=this.parent.commdl.filename &&显示选定文件的名字3.系统等录界面的设计在项目管理器中添加一个新的表单,名称为Admain在表单中添加一个ImageList 控件,并进行相应的管理员设置。在表单中添加一个Image控件,一个listview控件,一个ImageList控件,两个text控件,三个label控件,一个commandgroup控件。在表单中的init事件中添加代码为:public cn &&定义全局变量cn=0 &&给全局变量赋初值thisform.listview1.view=0 &&设置视图显示方式*将ImageList控件图片赋予Listview控件thisform.listview1.Icons=thisform.imagelist1.objectthisform.listview1.smallicons=thisform.imagelist1.objectselect tabpurview &&选定tabpurview工作区为当前工作区select *;from wuyemanage!tabpurview;where 权限级别=‘1‘;order by tabpurview.操作员姓名;into cursor sysglythisform.text2.value=sysgly.操作员姓名thisform.text1.value=‘‘key=alltrim(sysgly.操作员姓名) &&赋值给变量key=thisform.listview1.listitems.add(,,key,1) &&添加一个列表项select tabpurviewselect *;from wuyemanage!tabpurview;where 权限级别=‘2‘;order by tabpurview.操作员姓名;into cursor gjczydo while !EOF() &&测试当前记录指针是否在文件尾 key=alltrim(gjczy.操作员姓名) =thisform.listview1.listitems.add(,,key,2) &&添加一个列表项 skip &&相对移动记录指针enddoselect tabpurviewselect *;from wuyemanage!tabpurview;where 权限级别=‘3‘;order by tabpurview.操作员姓名;into cursor ybczydo while !EOF() &&测试当前记录指针是否在文件尾 key=alltrim(ybczy.操作员姓名) =thisform.listview1.listitems.add(,,key,3) &&添加一个列表项 skip &&相对移动记录指针enddoselect tabpurviewselect *;from wuyemanage!tabpurview;where 权限级别=‘4‘;order by tabpurview.操作员姓名;into cursor zdydo while !EOF() &&测试当前记录指针是否在文件尾 key=alltrim(zdy.操作员姓名) =thisform.listview1.listitems.add(,,key,4) &&添加一个列表项 skip &&相对移动记录指针enddo在表单的resize事件中添加代码为:purview=val(alltrim(tabpurview.权限级别)) &&根据用户选择设置权限级别pjyb=tabpurview.经营部pglb=tabpurview.管理部pgcb=tabpurview.工程部pcwb=tabpurview.财务部pbab=tabpurview.保安部pjls=tabpurview.经理室psysgl=tabpurview.系统管理manager=alltrim(thisform.text2.value)do form formfdesktop &&调入表单fdesktopthisform.release &&刷新表单在等录的click事件中添加代码为:if empty(操作员姓名) &&判断操作员字段是否为空 thisform.resize &&执行表单的Resize事件 store .t.to pjyb,pglb,pgcb,pcwb,pbab,pjls,psysgl &&给多个内存变量赋予相同的值else seek cname &&查找输入的操作员姓名 set exact on &&设置字符精确比较*判断密码是否正确 if alltrim(tabpurview.密码)!=ppassword cn=cn+1 cmessagetitle=‘系统登录‘ cmessagetext=‘密码错误,请重新输入!‘ ndialogtype=4+32 nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle) do case case nanswer=6 thisform.text1.value=‘‘ thisform.text1.setfocus &&文本框获得焦点 case nanswer=7 messagebox(‘不要乱来!‘,48,‘系统登录‘) thisform.release &&释放表单 endcase if cn=3 thisform.release endif else thisform.resize &&执行表单的Resize事件 endif endifset exact off &&设置字符非精确比较在取消的click事件中添加代码为:cmessagetitle=‘系统登录‘cmessagetext=‘真的想要退出吗?‘nDialogtype=4+32nanswer=messagebox(cMessagetext,nDialogtype,cMessagetitle)if nanswer=6 quitendif在控件listview1中的itemclick事件中添加代码为:LPARAMETERS itemmanager=alltrim(thisform.listview1.selecteditem.text)thisform.text2.value=managerthisform.text1.setfocus 这样,等录界面就完成了。4.经营部设计(1)在项目管理器中创建一个表单,名称为“小区信息生成”,在表单中添加3个label控件,2个spinner控件,1个commandgroup控件。在“开始生成”的click事件中添加代码为:cstart=thisform.spinner1.valuecend=thisform.spinner2.values=alltrim(str(cstart))e=alltrim(str(cend))cpicture=sys(5)+sys(2003)+‘imagesemptyimage.bmp‘cmessagetitle=‘小区信息生成‘cmessagetext=‘确认生成编号为 ‘+s+‘至 ‘+e+‘的小区信息吗?‘ndialogtype=4+32nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)do case case nAnswer=6 i=1 for i=cstart to cend xqno=alltrim(str(i)) select *; from databasewuyemanage!tabxqinfo; where 小区编号==xqno; into cursor lindep if reccount()=0*追加新记录 insert into tabxqinfo values(xqno,‘‘,‘‘,‘‘,0,0,0,0,0,0,‘‘,‘‘,cpicture,ctod(‘‘),ctod(‘‘)) endif endfor messagebox(‘数据保存成功!‘,48,‘小区信息生成‘) thisform.release do form form小区信息登记 &&调入表单 case nAnswer=7 thisform.spinner1.setfocusendcase在“返回主系统”中的click事件中添加代码为:thisform.release &&释放表单(2)在项目管理器中添加一个新的表单名称为“大楼信息生成器”,在表单中添加9个label控件,1个combo控件,2个spinner控件,4个text控件。说明:其编法如(1)(3)在项目管理器中新建一个表单,名称为“房屋信息生成器”,在表单中添加13个label控件,6个combo控件,1个text控件,4个spinner控件,1个commandgroup控件,1个grid控件。说明:其编法如(1)(4)在项目管理器中添加一个新的表单集包含form1,gorm2,名称为“小区信息登记”。在form1表单中添加16个label控件,13个text控件,1个edit控件,2个commandgroup控件,1个common dialog控件,1个image控件,2个command控件,在form2表单中添加1个command控件,1个grid控件。在form1中的load事件中添加代码为:public l &&定义全局变量l=.f.在form1中的activate事件中添加代码为:thisform.text1.value=tabxqinfo.小区编号 &&赋值给Text1thisform.text2.value=tabxqinfo.小区名称thisform.text3.value=tabxqinfo.负责人thisform.text4.value=tabxqinfo.小区说明thisform.text5.value=tabxqinfo.交工日期thisform.text6.value=tabxqinfo.竣工日期thisform.text7.value=tabxqinfo.地址thisform.text8.value=tabxqinfo.占地面积thisform.text9.value=tabxqinfo.建筑面积thisform.text10.value=tabxqinfo.绿化面积thisform.text11.value=tabxqinfo.居住面积thisform.text12.value=tabxqinfo.楼栋数thisform.text13.value=tabxqinfo.总户数thisform.edit1.value=tabxqinfo.备注thisform.container1.image1.picture=tabxqinfo.照片thisform.refresh在form1中的init事件中添加代码为:store l to thisform.text1.enabled,thisform.text2.enabled,thisform.text3.enabled,; thisform.text4.enabled,thisform.text5.enabled,thisform.text6.enabled,; thisform.text7.enabled,thisform.text8.enabled,thisform.text9.enabled,; thisform.text10.enabled,thisform.text11.enabled,thisform.text12.enabled,; thisform.text13.enabled,thisform.edit1.enabled,thisform.badd.enabled,; thisform.bclear.enabled &&设置控件是否有效在form1中的“添加”click事件中添加代码为:if alltrim(thisform.commandgroup1.command1.caption)=‘添 加‘ thisform.commandgroup1.command1.caption=‘保 存‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘取 消‘ thisform.commandgroup1.command3.enabled=.f. thisform.commandgroup1.command4.enabled=.f.*设置控件有效 l=.t. thisform.init &&执行表单的Init事件 store ‘‘ to thisform.text1.value,thisform.text2.value,thisform.text3.value,; thisform.text4.value,thisform.text7.value store {//} to thisform.text5.value,thisform.text6.value store 0 to thisform.text8.value,thisform.text9.value,thisform.text10.value,; thisform.text11.value,thisform.text12.value,thisform.text13.value thisform.edit1.value=‘‘ thisform.container1.image1.picture=sys(5)+sys(2003)+‘imagesemptyimage.bmp‘ thisform.text1.setfocuselse thisform.commandgroup1.command1.caption=‘添 加‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘修 改‘ thisform.commandgroup1.command3.enabled=.t. thisform.commandgroup1.command4.enabled=.t.*获取输入信息 xqno=alltrim(thisform.text1.value) xqname=alltrim(thisform.text2.value) xqinfo=alltrim(thisform.text4.value) fzr=alltrim(thisform.text3.value) jiaogdate=thisform.text5.value jungdate=thisform.text6.value area=alltrim(thisform.text7.value) cmemo=alltrim(thisform.edit1.value) zdmj=thisform.text8.value jzmj=thisform.text9.value lhmj=thisform.text10.value juzmj=thisform.text11.value lds=thisform.text12.value zhs=thisform.text13.value cpicture=thisform.container1.image1.picture select *; from wuyemanage!tabxqinfo; where 小区编号==xqno; order by 小区编号; into cursor lindep if reccount()=0 insert into tabxqinfo values(xqno,xqname,xqinfo,fzr,lds,zhs,jzmj,juzmj,zdmj,; lhmj,area,cmemo,cpicture,jungdate,jiaogdate) &&追加新记录 messagebox(‘数据保存完毕!‘,48,‘操作成功!‘) else cmessagetitle=‘小区信息登记‘ cmessagetext=‘信息已修改,确定要保存吗?‘ ndialogtype=4+32 nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle) do case case nAnswer=6 update wuyemanage!tabxqinfo set 小区名称=xqname,小区说明=xqinfo,负责人=fzr,; 楼栋数=lds,总户数=zhs,建筑面积=jzmj,居住面积=juzmj,占地面积=zdmj,地址=area,; 备注=cmemo,照片=cpicture,竣工日期=jungdate,交工日期=jiaogdate,绿化面积=lhmj ; where 小区编号==xqno &&更新数据表 messagebox(‘数据保存完毕!‘,48,‘操作成功!‘) endcase endif select tabxqinfo l=.f. thisform.init &&执行表单的Init事件 thisform.activate &&执行表单的Activate事件endif在form1中的“修改”click事件中添加代码为:if alltrim(thisform.commandgroup1.command2.caption)=‘修 改‘ thisform.commandgroup1.command1.caption=‘保 存‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘取 消‘ thisform.commandgroup1.command3.enabled=.f. thisform.commandgroup1.command4.enabled=.f. l=.t. thisform.init &&执行表单的Init事件 thisform.text1.enabled=.f. thisform.text1.setfocuselse thisform.commandgroup1.command1.caption=‘添 加‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘修 改‘ thisform.commandgroup1.command3.enabled=.t. thisform.commandgroup1.command4.enabled=.t. thisform.activate &&执行表单的Activate事件 l=.f. thisform.init &&执行表单的Init事件endif在form1中的“删除”click事件中添加代码为:xqnumber=alltrim(thisform.text1.value)cmessagetitle=‘小区信息登记‘cmessagetext=‘确定要删除吗?‘ndialogtype=4+32nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)if nAnswer=6 select tabxqinfo use use database/tabxqinfo exclusive &&以独占方式打开数据表 dele from tabxqinfo where 小区编号=xqnumber &&逻辑删除记录 dele from tabxqinfo where empty(小区编号) pack &&物理删除 thisform.activate &&执行表单的Activate事件 messagebox(‘删除完毕‘,48,‘操作成功!‘) use database abxqinfo thisform.refreshendif在form1中的“浏览”click事件中添加代码为:thisform.parent.form2.grid1.recordsource=‘tabxqinfo‘ &&赋数据源thisform.parent.form2.visible=.t. &&显示表单在form1中的“退出”click事件中添加代码为:thisform.release &&释放表单thisform.parent.form2.release在form1中的“追加图片”click事件中添加代码为:thisform.imagedc.filter="图片|*.bmp;*.jpg" &&设置过滤器 thisform.imagedc.showopen &&显示打开对话框thisform.Container1.image1.picture=thisform.imagedc.filename在form1中的“清除图片”click事件中添加代码为:thisform.Container1.image1.picture=sys(5)+sys(2003)+‘imagesemptyimage.bmp‘在form1中的“第一个”click事件中添加代码为:go top &&记录指针定位到第一条记录this.parent.command1.enabled=.f.this.parent.command2.enabled=.f.this.parent.command3.enabled=.t.this.parent.command4.enabled=.t.thisform.Activate &&执行表单的Activatethisform.refresh在form1中的“上一个”click事件中添加代码为: skip-1 &&把记录指针向上移一条记录 thisform.Activate &&执行表单的Activate if bof() messagebox(‘已是第一个记录‘,48,‘信息窗口‘) this.parent.command1.enabled=.f. this.parent.command2.enabled=.f. thisform.Activate &&执行表单的Activate else this.parent.command1.enabled=.t. this.parent.command2.enabled=.t. endif this.parent.command3.enabled=.t. this.parent.command4.enabled=.t.thisform.refresh在form1中的“下一个”click事件中添加代码为:if eof() messagebox(‘已经是最后一条记录‘,48,‘管理窗口‘) skip-1 &&记录指针向上移动一条记录 thisform.Activate &&执行表单的Activate this.parent.command1.enabled=.f. this.parent.command2.enabled=.f. this.parent.command3.enabled=.f. this.parent.command4.enabled=.f.else skip &&记录指针向下移一条记录 thisform.Activate &&执行表单的Activate if eof() messagebox(‘已经是最后一条记录‘,48,‘管理窗口‘) skip-1 thisform.Activate &&执行表单的Activate this.parent.command3.enabled=.f. this.parent.command4.enabled=.f. else this.parent.command3.enabled=.t. this.parent.command4.enabled=.t. endif this.parent.command1.enabled=.t. this.parent.command2.enabled=.t.endifthisform.refresh在form1中的“最后一个”click事件中添加代码为:go bottom &&记录指针移动到最后一条记录this.parent.command3.enabled=.f.this.parent.command4.enabled=.f.this.parent.command1.enabled=.t.this.parent.command2.enabled=.t.thisform.Activate &&执行表单的Activatethisform.refresh在form1中的控件edit1的keypress事件中添加代码为:LPARAMETERS nKeyCode, nShiftAltCtrlif nKeycode=3thisform.text8.setfocusendif在form1中的控件edit1的lostfocus事件中添加代码为:thisform.text8.setfocus在form2中的“退出小区信息浏览”的click事件中添加代码为:thisform.visible=.f. &&隐藏表单(5)在项目管理器中添加一个表单集包括form1,form2,form3,名称为“大楼信息登记”。在表单form1中添加2个list控件,2个label控件,1个commandgroup控件,在表单form2中添加17个label控件,12个text控件,2个combo控件,1个edit控件,1个common dialog控件,1个image控件,2个command控件,2个commandgroup控件,在表单form3中添加1个grid控件, 1个command控件。说明:其编法如以上(4)所示(6)在项目管理器中新建表单集包含form1,form2,form3,名称为“房屋信息登记”。在表单form1中添加1个commbo控件,2个list控件,2个label控件,1个commandgroup控件,在表单form2中添加19个label控件,9个text控件,8个combo控件,1个edit控件,1个commandgroup控件,在表单form3中添加1个grid控件, 1个command控件。说明:其编法如以上(4)所示(7)在项目管理器中添加一个新的表单名称为“系统数据设定”,在表单中添加一个label控件,2个commandgroup控件。在表单的“退出系统数据设定”按钮的click事件中添加代码为:thisform.release在表单的“房屋朝向设定”按钮的click事件中添加代码为:thisform.release &&释放表单do form form房屋朝向设定 &&调入表单在表单的“权限类型设定”按钮的click事件中添加代码为:thisform.release &&释放表单do form form权属类型设定 &&调入表单在表单的“小区部门设定”按钮的click事件中添加代码为:thisform.release &&释放表单do form form小区部门设定 &&调入表单在表单的“员工种类设定”按钮的click事件中添加代码为:thisform.release &&释放表单do form form员工种类设定 &&调入表单元在表单的“费用科目及费用标准设定”按钮的click事件中添加代码为:thisform.release &&释放表单do form form费用科目及费用标准设定 &&调入表单(8)在项目管理器中添加一个新的表单名称为“房屋朝向设计”,表单中添加3个label控件,1个text控件,1个grid控件,1个commandgroup控件。在表单的init事件中添加以下代码:thisform.text1.controlsource=‘tabfrontage.房屋朝向‘ &&赋数据源thisform.grid1.recordsource=‘tabfrontage‘ &&赋数据源在“添加”按钮的click事件中添加代码为:if thisform.commandgroup1.command1.caption=‘添 加‘ thisform.commandgroup1.command1.caption=‘保 存‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘取 消‘ &&赋值给Command2的标题文本 append blank &&追加新记录 thisform.text1.value=‘‘ thisform.text1.setfocuselse thisform.commandgroup1.command1.caption=‘添 加‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘删 除‘ &&赋值给Command2的标题文本endifthisform.refresh &&刷新表单在“删除”按钮的click事件中添加代码为:if thisform.commandgroup1.command2.caption=‘取 消‘ thisform.commandgroup1.command1.caption=‘添 加‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘删 除‘ &&赋值给Command2的标题文本 cx=alltrim(thisform.text1.value) select tabfrontage &&选择Tabfrontage工作区为当前工作区 use &&关闭数据表 use database/tabfrontage exclusive &&以独占方式打开数据表 dele from tabfrontage where 房屋朝向==cx &&逻辑删除记录 dele from tabfrontage where empty(房屋朝向) &&逻辑删除记录 pack &&物理删除 thisform.text1.value=tabfrontage.房屋朝向 use database abfrontage &&打开数据表 else cx=alltrim(thisform.text1.value) select tabfrontage use use database/tabfrontage exclusive &&以独占方式打开数据表 dele from tabfrontage where 房屋朝向==cx &&逻辑删除记录 dele from tabfrontage where empty(房屋朝向) &&逻辑删除记录 pack &&物理删除 thisform.text1.value=tabfrontage.房屋朝向 messagebox(‘删除完毕‘,48,‘操作成功!‘) use database abfrontage &&打开数据表 endif thisform.init &&执行表单的Init事件在text1的click事件中添加代码为:thisform.text1.controlsource=‘tabfrontage.房屋朝向‘thisform.text1.value=alltrim(thisform.grid1.column1.text1.value)(9)在项目管理器中添加一个新的表单名称为“费用科目及费用标准设定设计”,表单中添加4个label控件,2个text控件,1个grid控件,1个commandgroup控件。说明:其编法如以上(8)所示5.管理部设计(1)在项目管理器中添加一个表单集,含有form1,form2.,form3,form4,名称为“业主信息登记”在表单form1中添加1个combo控件,1个list控件,5个label控件,1个commandgroup控件,3个text控件,2个grid控件,1个command控件,1个optioguoup控件。在表单form2中添加1个grid控件, 1个command控件。在表单form3中添加24个label控件,15个text控件,3个combo控件,4个date and time picker控件,1个commandgroup控件,1个grid控件,在表单form4中添加23个label控件,13个text控件,8个combo控件,1个edit控件,1个commandgroup控件。在form1的init事件中添加以下代码:public date1,date2,date3,date4 &&定义全局变量store ctod(‘03/22/2003‘) to date1,date2,date3,date4store .f. to thisform.parent.form3.visible,thisform.parent.form4.visible &&隐藏表单thisform.grid1.columncount=1 &&指定表格的列对象的数目thisform.grid1.column1.header1.caption=‘大楼名称‘store ‘‘ to thisform.grid1.recordsource,thisform.grid1.column1.controlsource,; thisform.list1.controlsource,thisform.list1.rowsource,thisform.grid3.recordsource在form1表单的“小区名称”组合框的interactivechange事件中添加以下代码:thisform.init &&执行表单的Init事件xqname=alltrim(thisform.combo1.displayvalue)select *;from databasewuyemanage!tabdlinfo;where 所属区域==xqname;into cursor lindepingthisform.grid1.columncount=1 &&指定表格的列对象的数目thisform.grid1.column1.header1.caption=‘大楼名称‘thisform.grid1.column1.width=154thisform.grid1.recordsource=‘lindeping‘ &&赋数据源thisform.grid1.column1.controlsource=‘lindeping.大楼名称‘&&赋数据源thisform.refresh 在form1表单的“添加新业主”按钮的click事件中添加代码为:yxq=alltrim(thisform.combo1.displayvalue)ydl=alltrim(thisform.text1.value)yfw=alltrim(thisform.text2.value)if empty(yxq) or empty(ydl) or empty(yfw) messagebox(‘请选择小区名称、大楼名称和房屋编号!‘,48,‘操作失败‘)else select tabyzinfo locate for 购入房编号=yfw &&顺序查询 if found() messagebox(‘此房屋已住人!‘,48,‘业主信息登记‘) else thisform.parent.form3.visible=.t. &&显示表单 lfjno=len(yxq)+len(ydl)+1 fjno=substr(yfw,lfjno) thisform.parent.form3.text1.value=yxq thisform.parent.form3.text2.value=ydl thisform.parent.form3.text3.value=fjno thisform.parent.form3.text4.value=yfw thisform.parent.form3.text5.value=yfw store ‘‘ to thisform.parent.form3.text6.value,thisform.parent.form3.text7.value,; thisform.parent.form3.text8.value,thisform.parent.form3.text9.value,; thisform.parent.form3.text10.value,thisform.parent.form3.text11.value,; thisform.parent.form3.text12.value,thisform.parent.form3.text13.value,; thisform.parent.form3.text14.value,thisform.parent.form3.combo1.value,; thisform.parent.form3.combo2.value,thisform.parent.form3.combo3.value thisform.parent.form3.grid1.recordsource=‘‘ thisform.parent.form3.text5.setfocus &&Text5获得焦点 endifendif在form1表单的“修改业主信息”按钮的click事件中添加代码为:cvalue=alltrim(thisform.text3.value)if !empty(cvalue)thisform.parent.form3.visible=.t.public yzdh &&定义全局变量yzdh=alltrim(thisform.text3.value)select *;from wuyemanage!tabyzinfo;where 业主代号==yzdh;into cursor lxgyzinfo*赋值给Text1等thisform.parent.form3.text1.value=lxgyzinfo.小区名称thisform.parent.form3.text2.value=lxgyzinfo.大楼名称thisform.parent.form3.text3.value=lxgyzinfo.房间号码thisform.parent.form3.text4.value=lxgyzinfo.购入房编号thisform.parent.form3.text5.value=lxgyzinfo.业主代号thisform.parent.form3.text6.value=lxgyzinfo.业主姓名thisform.parent.form3.text7.value=lxgyzinfo.手机thisform.parent.form3.text8.value=lxgyzinfo.管理协议书编号thisform.parent.form3.text9.value=lxgyzinfo.电话thisform.parent.form3.text10.value=lxgyzinfo.购房合同书编号thisform.parent.form3.text11.value=lxgyzinfo.联系地址thisform.parent.form3.text12.value=lxgyzinfo.证件号thisform.parent.form3.text13.value=lxgyzinfo.单位电话thisform.parent.form3.text14.value=lxgyzinfo.工作单位thisform.parent.form3.combo1.value=lxgyzinfo.性别thisform.parent.form3.combo2.value=lxgyzinfo.是否进住thisform.parent.form3.combo3.value=lxgyzinfo.证件名*赋值给date and time picker 控件thisform.parent.form3.date1.year=year(lxgyzinfo.签约日期)thisform.parent.form3.date1.month=month(lxgyzinfo.签约日期)thisform.parent.form3.date1.day=day(lxgyzinfo.签约日期)thisform.parent.form3.date2.year=year(lxgyzinfo.进住起始日期)thisform.parent.form3.date2.month=month(lxgyzinfo.进住起始日期)thisform.parent.form3.date2.day=day(lxgyzinfo.进住起始日期)thisform.parent.form3.date3.year=year(lxgyzinfo.进住日期)thisform.parent.form3.date3.month=month(lxgyzinfo.进住日期)thisform.parent.form3.date3.day=day(lxgyzinfo.进住日期)thisform.parent.form3.date4.year=year(lxgyzinfo.进住截止日期)thisform.parent.form3.date4.month=month(lxgyzinfo.进住截止日期)thisform.parent.form3.date4.day=day(lxgyzinfo.进住截止日期)select *;from wuyemanage!tabrkinfo;where 房间编号==alltrim(thisform.parent.form3.text4.value);order by 人口编号;into cursor lincythisform.parent.form3.grid1.recordsource=‘lincy‘ &&赋数据源thisform.parent.form3.text5.setfocus &&Text5获得焦点else messagebox(‘请选择业主代号!‘,48,‘业主信息登记‘)endif在form1表单的“删除业主信息”按钮的click事件中添加代码为:yzno=alltrim(thisform.text3.value)cmessagetitle=‘业主信息登记‘cmessagetext=‘确定要删除吗?‘ndialogtype=4+32nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)if nAnswer=6 select tabyzinfo use use database/tabyzinfo exclusive &&以独占的方式打开数据表 dele from tabyzinfo where 业主代号==yzno &&逻辑删除 dele from tabyzinfo where empty(业主代号) pack &&物理删除 update wuyemanage!tabfwinfo set 房主代号=‘‘,房主姓名=‘‘,是否空闲=.t.,房屋状态=‘空闲‘ ; where 房主代号==yzno &&更新数据表 messagebox(‘删除完毕‘,48,‘操作成功!‘) use database abyzinfo thisform.optiongroup1.interactivechange &&执行Optiongroup1的Interactionchange事件 thisform.text3.value=‘‘ thisform.refreshendif在form1表单的“退出业主登记管理”按钮的click事件中添加代码为:thisform.release &&释放表单thisform.parent.form2.releasethisform.parent.form3.releasethisform.parent.form4.release在form1表单的optiongroup1选项按钮组的interactivechange事件中添加代码为:do case case thisform.optiongroup1.option1.value=1 select *; from wuyemanage!tabyzinfo; where 大楼名称==alltrim(thisform.text1.value); into cursor linall thisform.grid3.recordsource=‘linall‘ &&赋数据源 case thisform.optiongroup1.option2.value=1 select *; from wuyemanage!tabyzinfo; where 是否进住==‘已进住‘ and 大楼名称==alltrim(thisform.text1.value); into cursor liny thisform.grid3.recordsource=‘liny‘ &&赋数据源 case thisform.optiongroup1.option3.value=1 select *; from wuyemanage!tabyzinfo; where 是否进住==‘未进住‘and 大楼名称==alltrim(thisform.text1.value); into cursor linw thisform.grid3.recordsource=‘linw‘endcase在form1的“查看房屋详细信息”按钮的click事件中添加以下代码:dlname=alltrim(thisform.text1.value)if !empty(dlname) select *; from database abfwinfo; where 大楼名称==dlname; into cursor lin if reccount()=0 messagebox(‘请先生成大楼[‘+dlname+‘]的房屋信息!‘,48,‘操作失败‘) else thisform.parent.form2.grid1.recordsource=‘lin‘ &&赋数据源 endifelse thisform.parent.form2.grid1.recordsource=‘tabfwinfo‘endifthisform.parent.form2.visible=.t. &&显示表单在form1的list1控件的click事件中添加以下代码:thisform.text2.value=alltrim(thisform.list1.displayvalue)在form1的text1控件的click事件中添加以下代码:thisform.text3.value=alltrim(thisform.grid3.column1.text1.value)在form2表单的init事件中添加代码:thisform.grid1.recordsource=‘tabfwinfo‘在form2的“退出房屋信息列表”按钮的click事件中添加以下代码:thisform.visible=.f. &&隐藏表单在form3表单的init事件中添加代码:thisform.grid1.recordsource=‘‘在form3表单的load事件中添加代码:public bzcy在form3的“确定保存业主信息”按钮的click事件中添加以下代码:*获得输入信息yzdh=alltrim(thisform.text5.value)yzname=alltrim(thisform.text6.value)sex=alltrim(thisform.combo1.displayvalue)lxdz=alltrim(thisform.text11.value)sj=alltrim(thisform.text7.value)tel=alltrim(thisform.text9.value)workdw=alltrim(thisform.text14.value)dwtel=alltrim(thisform.text13.value)zjname=alltrim(thisform.combo3.displayvalue)zjnumber=alltrim(thisform.text12.value)sfjz=alltrim(thisform.combo2.displayvalue)gfhtno=alltrim(thisform.text10.value)glxysno=alltrim(thisform.text8.value)fwno=alltrim(thisform.text4.value)xqname=alltrim(thisform.text1.value)dlname=alltrim(thisform.text2.value)fjno=alltrim(thisform.text3.value)if sfjz=‘已进住‘ fwzt=‘入住‘else fwzt=‘签约‘endif*自动编号select tabrkinfoif empty(人口编号) rknumber=alltrim(‘RK00001‘)else select max(人口编号) from tabrkinfo into array a &&查找表tabrkinfo中最大的人口编号存入数组a中 cend=val(substr(a(1),3))+1 rknumber=alltrim(‘RK‘+padl(alltrim(str(cend,5)),5,‘0‘))endifif empty(yzname) or empty(gfhtno) or empty(glxysno) or empty(zjnumber) or empty(zjname) or empty(tel) messagebox(‘请将信息添全!‘,48,‘操作失败‘)else select tabyzinfo locate for 业主代号=yzdh &&顺序查询 if !found() insert into tabyzinfo values(yzdh,yzname,sex,lxdz,sj,tel,workdw,dwtel,zjname,zjnumber,; date1,date3,date2,date4,sfjz,gfhtno,glxysno,fwno,xqname,dlname,fjno) &&追加新记录 update wuyemanage!tabfwinfo set 房主代号=yzdh,房主姓名=yzname,是否空闲=.f.,; 房屋状态=fwzt where 房间编号==fwno &&更新数据表 insert into tabrkinfo values(rknumber,yzname,sex,ctod(‘‘),‘1‘,‘‘,‘户主‘,‘‘,‘‘,‘‘,workdw,‘‘,; ‘‘,‘‘,‘‘,dwtel,sj,tel,lxdz,xqname,dlname,fjno,zjnumber,‘‘,‘‘,fwno,‘‘) messagebox(‘数据保存完毕!‘,48,‘业主信息登记‘) thisform.parent.form1.grid1.column1.text1.click &&执行Text1的Click事件 thisform.visible=.f. &&隐藏表单 else update wuyemanage!tabyzinfo set 业主姓名=yzname,性别=sex,联系地址=lxdz,手机=sj,电话=tel,; 工作单位=workdw,单位电话=dwtel,证件号=zjnumber,签约日期=date1,进住日期=date3,; 进住起始日期=date2,进住截止日期=date4,是否进住=sfjz,购房合同书编号=gfhtno,; 管理协议书编号=glxysno,购入房编号=fwno,小区名称=xqname,大楼名称=dlname,; 房间号码=fjno where 业主代号==yzdh &&更新数据表 update wuyemanage!tabfwinfo set 房主代号=yzdh,房主姓名=yzname,是否空闲=.f.,; 房屋状态=fwzt where 房间编号==fwno update wuyemanage!tabrkinfo set 姓名=yzname,性别=sex,工作单位=workdw,单位电话=dwtel,; 手机=sj,传呼=tel,家庭住址=lxdz,身份证号=zjnumber where 房间编号==fwno thisform.parent.form1.grid1.column1.text1.click endifendif在form3表单的“添加成员信息”按钮的click事件中添加代码为:pfjno=alltrim(thisform.text3.value)pfjnumber=alltrim(thisform.text4.value)select *;from wuyemanage!tabrkinfo;where 房间编号==pfjnumber;order by 房间编号;into cursor lincyif reccount()=0 messagebox(‘请添加业主信息!‘,48,‘业主信息登记‘)else thisform.parent.form4.text3.value=alltrim(str(reccount()+1)) thisform.parent.form4.visible=.t. store ‘‘ to thisform.parent.form4.text1.value,thisform.parent.form4.text2.value,; thisform.parent.form4.text4.value,thisform.parent.form4.text5.value,; thisform.parent.form4.text6.value,thisform.parent.form4.text7.value,; thisform.parent.form4.text8.value,thisform.parent.form4.text9.value,; thisform.parent.form4.text10.value,thisform.parent.form4.text11.value,; thisform.parent.form4.text12.value,thisform.parent.form4.combo1.value,; thisform.parent.form4.combo2.value,thisform.parent.form4.combo3.value,; thisform.parent.form4.combo4.value,thisform.parent.form4.combo5.value,; thisform.parent.form4.combo6.value,thisform.parent.form4.combo7.value,; thisform.parent.form4.combo8.value,thisform.parent.form4.edit1.value thisform.parent.form4.text13.value={//} bzcy=.t.endifthisform.parent.form1.commandgroup1.command2.click &&执行Command2的Click事件在form3表单的“编辑成员信息”按钮的click事件中添加代码为:public pxq,pdl,pfjno,pfjnumberpxq=alltrim(thisform.text1.value)pdl=alltrim(thisform.text2.value)pfjno=alltrim(thisform.text3.value) &&定义全局变量pfjnumber=alltrim(thisform.text4.value)cvalue=alltrim(thisform.textg.value)if !empty(cvalue) thisform.parent.form4.visible=.t. cynumber=alltrim(thisform.textg.value) select *; from wuyemanage!tabrkinfo; where 人口编号==cynumber; into cursor lcyinfo thisform.parent.form4.text1.value=lcyinfo.姓名 thisform.parent.form4.text2.value=lcyinfo.职务 thisform.parent.form4.text3.value=lcyinfo.成员代号 thisform.parent.form4.text4.value=lcyinfo.身份证号 thisform.parent.form4.text5.value=lcyinfo.传呼 thisform.parent.form4.text6.value=lcyinfo.单位电话 thisform.parent.form4.text7.value=lcyinfo.家庭电话 thisform.parent.form4.text8.value=lcyinfo.暂住证号 thisform.parent.form4.text9.value=lcyinfo.手机 thisform.parent.form4.text10.value=lcyinfo.家庭住址 thisform.parent.form4.text11.value=lcyinfo.户口所在地 thisform.parent.form4.text12.value=lcyinfo.工作单位 thisform.parent.form4.text13.value=lcyinfo.出生日期 thisform.parent.form4.combo1.value=lcyinfo.性别 thisform.parent.form4.combo2.value=lcyinfo.籍贯 thisform.parent.form4.combo3.value=lcyinfo.婚姻状况 thisform.parent.form4.combo4.value=lcyinfo.职业 thisform.parent.form4.combo5.value=lcyinfo.文化程度 thisform.parent.form4.combo6.value=lcyinfo.职称 thisform.parent.form4.combo7.value=lcyinfo.与户主关系 thisform.parent.form4.combo8.value=lcyinfo.国籍 thisform.parent.form4.edit1.value=lcyinfo.备注 thisform.parent.form4.text1.setfocus &&Text1获得焦点 bzcy=.f.else messagebox(‘请选择成员名称!‘,48,‘家庭成员信息‘)endif在form3表单的“删除成员信息”按钮的click事件中添加代码为:rknumber=alltrim(thisform.textg.value)cmessagetitle=‘成员信息‘cmessagetext=‘确定要删除吗?‘ndialogtype=4+32nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)if nAnswer=6 select tabrkinfo use use database/tabrkinfo exclusive &&以独占方式打开数据表 dele from tabrkinfo where 人口编号==rknumber &&逻辑删除记录 dele from tabyzinfo where empty(人口编号) pack &&物理删除 messagebox(‘删除完毕‘,48,‘操作成功!‘) use database abrkinfo thisform.parent.form1.commandgroup1.command2.click &&执行Command2的单击事件 thisform.textg.value=‘‘ thisform.refreshendif在form3表单的“退出业主登记”按钮的click事件中添加代码为:thisform.visible=.f. &&隐藏表单在表单form3的 date1控件的init事件中添加代码为:public date1y=alltrim(str(this.year))m=alltrim(str(this.month))d=alltrim(str(this.day))date1=ctod(m+‘/‘+d+‘/‘+y)在表单form3的 date1控件的change事件中添加代码为:*** ActiveX 控件事件 ***y=alltrim(str(this.year))m=alltrim(str(this.month))d=alltrim(str(this.day))date1=ctod(m+‘/‘+d+‘/‘+y)在表单form3的 date2控件的change事件中添加代码为:*** ActiveX 控件事件 ***y=alltrim(str(this.year))m=alltrim(str(this.month))d=alltrim(str(this.day))date2=ctod(m+‘/‘+d+‘/‘+y)在表单form3的 date2控件的init事件中添加代码为:public date2y=alltrim(str(this.year))m=alltrim(str(this.month))d=alltrim(str(this.day))date2=ctod(m+‘/‘+d+‘/‘+y)在表单form3的 date3控件的change事件中添加代码为:y=alltrim(str(this.year))m=alltrim(str(this.month))d=alltrim(str(this.day))date3=ctod(m+‘/‘+d+‘/‘+y)在表单form3的 date3控件的init事件中添加代码为:public date3y=alltrim(str(this.year))m=alltrim(str(this.month))d=alltrim(str(this.day))date3=ctod(m+‘/‘+d+‘/‘+y)在表单form3的 date4控件的change事件中添加代码为:y=alltrim(str(this.year))m=alltrim(str(this.month))d=alltrim(str(this.day))date4=ctod(m+‘/‘+d+‘/‘+y)在表单form3的 date4控件的init事件中添加代码为:y=alltrim(str(thisform.date4.year))m=alltrim(str(thisform.date4.month))d=alltrim(str(thisform.date4.day))date4=ctod(m+‘/‘+d+‘/‘+y)在form4表单的“保存并退出”按钮的click事件中添加代码为:set exact on &&设置字符精确比较*自动编号select tabrkinfoif empty(人口编号) rknumber=alltrim(‘RK00001‘)else select max(人口编号) from tabrkinfo into array a &&查找表中最大的人口编号存入数组 cend=val(substr(a(1),3))+1 rknumber=alltrim(‘RK‘+padl(alltrim(str(cend,5)),5,‘0‘))endif*获得输入信息cname=alltrim(thisform.text1.value)zw=alltrim(thisform.text2.value)cyno=alltrim(thisform.text3.value)sfzno=alltrim(thisform.text4.value)ch=alltrim(thisform.text5.value)dwtel=alltrim(thisform.text6.value)jttel=alltrim(thisform.text7.value)cmemo=alltrim(thisform.edit1.value)zzzno=alltrim(thisform.text8.value)sj=alltrim(thisform.text9.value)area=alltrim(thisform.text10.value)hkszd=alltrim(thisform.text11.value)workdw=alltrim(thisform.text12.value)birthday=thisform.text13.valuesex=alltrim(thisform.combo1.displayvalue)jg=alltrim(thisform.combo2.displayvalue)hyzk=alltrim(thisform.combo3.displayvalue)zy=alltrim(thisform.combo4.displayvalue)whcd=alltrim(thisform.combo5.displayvalue)zc=alltrim(thisform.combo6.displayvalue)yhzgx=alltrim(thisform.combo7.displayvalue)gj=alltrim(thisform.combo8.displayvalue)if empty(cname) or empty(sex) or empty(yhzgx) or empty(area) or empty(hkszd) messagebox(‘请将信息填完整!‘,48,‘操作失败‘)else if bzcy=.t. insert into tabrkinfo values(rknumber,cname,sex,birthday,cyno,whcd,yhzgx,jg,gj,; hyzk,workdw,zy,zw,zc,jttel,dwtel,sj,ch,area,pxq,pdl,pfjno,sfzno,hkszd,zzzno,; pfjnumber,cmemo) &&追加新记录 thisform.parent.form1.commandgroup1.command2.click else cmessagetitle=‘家庭成员信息‘ cmessagetext=‘信息已修改,确定要保存吗?‘ ndialogtype=4+32 nAnswer=messagebox(cmessagetext,ndialogtype,cmessagetitle) do case case nAnswer=6 update wuyemanage!tabrkinfo set 姓名=cname,性别=sex,出生日期=birthday,成员代号=cyno,; 文化程度=whcd,与户主关系=yhzgx,籍贯=jg,国籍=gj,婚姻状况=hyzk,工作单位=workdw,职业=zy,; 职务=zw,职称=zc,家庭电话=jttel,单位电话=dwtel,手机=sj,传呼=ch,家庭住址=area,小区名称=pxq,; 大楼名称=pdl,房间号=pfjno,身份证号=sfzno,户口所在地=hkszd,暂住证号=zzzno,房间编号=pfjnumber,; 备注=cmemo where 人口编号==alltrim(thisform.parent.form3.textg.value) &&更新数据表 messagebox(‘数据保存完毕!‘,48,‘操作成功!‘) endcase endif endif thisform.visible=.f. &&隐藏表单在form4表单的“放弃并退出”按钮的click事件中添加代码为:thisform.visible=.f. &&隐藏表单(2) 在项目管理器中新建表单集包含form1,form2,名称为“小区投诉登记”。在表单form1中添加15个label控件,9个text控件,1个edit控件,4个combo控件,2个commandgroup控件,1个command控件。在表单form2中添加1个command控件,1个grid控件。说明:其编法如以上(1)所示6.工程部设计(1)在项目管理器中新建表单集包含form1,form2,名称为“装修信息登记”。在表单form1中添加15个label控件,12个text控件, 2个commandgroup控件。在表单form2中添加1个command控件,1个grid控件。在表单form1的 load事件中添加代码为:public ll=.f.在表单form1的 init事件中添加代码为:thisform.text1.enabled=l &&设置控件是否有效thisform.text2.enabled=lthisform.text3.enabled=lthisform.text4.enabled=lthisform.text5.enabled=lthisform.text6.enabled=lthisform.text7.enabled=lthisform.text8.enabled=lthisform.text9.enabled=lthisform.text10.enabled=lthisform.text11.enabled=lthisform.text12.enabled=lthisform.combo1.enabled=lthisform.edit1.enabled=l在表单form1的 activate事件中添加代码为:thisform.text1.value=tabzxinfo.编号thisform.text2.value=tabzxinfo.申请人thisform.text3.value=tabzxinfo.客户thisform.text4.value=tabzxinfo.预算thisform.text5.value=tabzxinfo.装修押金thisform.text6.value=tabzxinfo.装修管理费thisform.text7.value=tabzxinfo.罚金thisform.text8.value=tabzxinfo.验收thisform.text9.value=tabzxinfo.申请日期thisform.text10.value=tabzxinfo.退押金时间thisform.text11.value=tabzxinfo.完工日期thisform.text12.value=tabzxinfo.经办人thisform.combo1.displayvalue=tabzxinfo.装修队thisform.edit1.value=tabzxinfo.装修内容thisform.refresh &&刷新表单在form1的“添加”按钮的click事件中添加以下代码:if alltrim(thisform.commandgroup1.command1.caption)=‘添加‘ thisform.commandgroup1.command1.caption=‘保存‘ &&赋值给Command1的标题文本 thisform.commandgroup1.command2.caption=‘取消‘ thisform.commandgroup1.command3.enabled=.f. thisform.commandgroup1.command4.enabled=.f. l=.t. thisform.init &&执行表单的Init事件 thisform.text1.enabled=.f.*自动编号 select tabzxinfo if empty(编号) zxno=alltrim(‘ZX00001‘) else select max(编号) from tabzxinfo into array a &&查找表中最大的编号存入数组 cend=val(substr(a(1),3))+1 zxno=alltrim(‘ZX‘+padl(alltrim(str(cend,5)),5,‘0‘)) endif thisform.text1.value=zxno store 0 to thisform.text4.value,thisform.text5.value,; thisform.text7.value,thisform.text6.value store ‘‘ to thisform.text3.value,thisform.text2.value,thisform.text12.value,; thisform.text8.value,thisform.combo1.value,thisform.edit1.value store {//} to thisform.text9.value,thisform.text10.value,thisform.text11.value thisform.combo1.setfocuselse thisform.commandgroup1.command1.caption=‘添加‘ thisform.commandgroup1.command2.capti
包括Android布局,弹窗,配色,单击事件,UI,精美炫酷的activity切换动画和空间动画,是新手必备的源码,内含相关的Dome 25件。 - - 文件夹 PATH 列表 卷序列号为 4E8D-6931 C:. │ .txt │ Android-UI-新手必备源码master.zip │ └─Android-UI │ README.md │ ├─ArcLayout(弧形(或者圆形)布局菜单) │ │ .gitignore │ │ ArcLayout.iml │ │ build.gradle │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ README.md │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─bob │ │ │ └─arclayout │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─bob │ │ │ └─arclayout │ │ │ │ AnimatorUtils.java │ │ │ │ Demo.java │ │ │ │ DemoActivity.java │ │ │ │ DemoFreeAngleActivity.java │ │ │ │ DemoLikePathActivity.java │ │ │ │ DemoLikeTumblrActivity.java │ │ │ │ MainActivity.java │ │ │ │ TestActivity.java │ │ │ │ │ │ │ └─widget │ │ │ ClipRevealFrame.java │ │ │ │ │ └─res │ │ ├─drawable │ │ │ cyan_oval.xml │ │ │ cyan_oval_pressed.xml │ │ │ cyan_oval_selector.xml │ │ │ green_oval.xml │ │ │ green_oval_pressed.xml │ │ │ green_oval_selector.xml │ │ │ light_blue_oval.xml │ │ │ light_blue_oval_pressed.xml │ │ │ light_blue_oval_selector.xml │ │ │ light_green_oval.xml │ │ │ light_green_oval_pressed.xml │ │ │ light_green_oval_selector.xml │ │ │ path_fab.xml │ │ │ path_white_oval.xml │ │ │ teal_oval.xml │ │ │ teal_oval_pressed.xml │ │ │ teal_oval_selector.xml │ │ │ tumblr_blue_oval.xml │ │ │ tumblr_green_oval.xml │ │ │ tumblr_grey_oval.xml │ │ │ tumblr_menu_oval.xml │ │ │ tumblr_orange_oval.xml │ │ │ tumblr_red_oval.xml │ │ │ tumblr_white_oval.xml │ │ │ │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ activity_main.xml │ │ │ arc_free_angle.xml │ │ │ arc_large.xml │ │ │ arc_medium.xml │ │ │ arc_small.xml │ │ │ like_a_path.xml │ │ │ like_a_tumblr.xml │ │ │ text.xml │ │ │ │ │ ├─menu │ │ │ menu_demo.xml │ │ │ menu_main.xml │ │ │ │ │ └─values │ │ colors.xml │ │ dimens.xml │ │ ids.xml │ │ strings.xml │ │ styles.xml │ │ │ ├─art │ │ attrs.png │ │ demo1.gif │ │ demo2.gif │ │ icon.png │ │ Thumbs.db │ │ │ ├─gradle │ │ └─wrapper │ │ gradle-wrapper.jar │ │ gradle-wrapper.properties │ │ │ └─library │ │ .gitignore │ │ build.gradle │ │ library.iml │ │ proguard-rules.pro │ │ │ └─src │ ├─androidTest │ │ └─java │ │ └─com │ │ └─bob │ │ └─library │ │ ApplicationTest.java │ │ │ └─main │ │ AndroidManifest.xml │ │ │ ├─java │ │ └─com │ │ └─bob │ │ └─library │ │ Arc.java │ │ ArcDrawable.java │ │ ArcLayout.java │ │ ArcOrigin.java │ │ Utils.java │ │ │ └─res │ └─values │ attrs.xml │ ├─BeautifulDialog(一些比较漂亮的对话框) │ │ .gitignore │ │ BeautifulDialog.iml │ │ build.gradle │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ 样列1.png │ │ │ 样列2.png │ │ │ 样列3.png │ │ │ 样列4.png │ │ │ 样列5.png │ │ │ 样列6.png │ │ │ 样列7.png │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─my │ │ │ └─beautifuldialog │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─my │ │ │ └─beautifuldialog │ │ │ OptAnimationLoader.java │ │ │ Rotate3dAnimation.java │ │ │ SampleActivity.java │ │ │ SuccessTickView.java │ │ │ SweetAlertDialog.java │ │ │ │ │ └─res │ │ ├─anim │ │ │ error_frame_in.xml │ │ │ error_x_in.xml │ │ │ modal_in.xml │ │ │ modal_out.xml │ │ │ success_bow_roate.xml │ │ │ success_mask_layout.xml │ │ │ │ │ ├─drawable │ │ │ blue_button_background.xml │ │ │ dialog_background.xml │ │ │ error_center_x.xml │ │ │ error_circle.xml │ │ │ gray_button_background.xml │ │ │ red_button_background.xml │ │ │ success_bow.xml │ │ │ success_circle.xml │ │ │ warning_circle.xml │ │ │ warning_sigh.xml │ │ │ │ │ ├─drawable-hdpi │ │ │ custom_img.jpg │ │ │ ic_launcher.png │ │ │ logo_big.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ alert_dialog.xml │ │ │ sample_activity.xml │ │ │ │ │ └─values │ │ attrs.xml │ │ colors.xml │ │ strings.xml │ │ styles.xml │ │ │ └─gradle │ └─wrapper │ gradle-wrapper.jar │ gradle-wrapper.properties │ ├─beautifulLoading(小树叶行的Loading对话框) │ │ .gitignore │ │ beautifulLoading.iml │ │ build.gradle │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ 样列1.png │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─my │ │ │ └─beautifulloading │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─my │ │ │ └─beautifulloading │ │ │ AnimationUtils.java │ │ │ LeafLoadingActivity.java │ │ │ LeafLoadingView.java │ │ │ UiUtils.java │ │ │ │ │ └─res │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ fengshan.png │ │ │ ic_launcher.png │ │ │ leaf.png │ │ │ leaf_kuang.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ fragment_main.xml │ │ │ leaf_loading_layout.xml │ │ │ │ │ └─values │ │ dimens.xml │ │ strings.xml │ │ styles.xml │ │ │ └─gradle │ └─wrapper │ gradle-wrapper.jar │ gradle-wrapper.properties │ ├─BezierView(实现仿QQ未读消息效果) │ │ .gitignore │ │ bezier.gif │ │ BezierView.iml │ │ build.gradle │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ README.md │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ ├─inspectionProfiles │ │ │ profiles_settings.xml │ │ │ Project_Default.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─bob │ │ │ └─bezierview │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─bob │ │ │ └─bezierview │ │ │ BezierView.java │ │ │ MainActivity.java │ │ │ │ │ └─res │ │ ├─drawable │ │ │ tip_anim.xml │ │ │ │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ idp.png │ │ │ idq.png │ │ │ idr.png │ │ │ ids.png │ │ │ idt.png │ │ │ skin_tips_new.png │ │ │ skin_tips_newmessage.9.png │ │ │ skin_tips_newmessage_ninetynine.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ activity_main.xml │ │ │ │ │ └─values │ │ strings.xml │ │ styles.xml │ │ │ └─gradle │ └─wrapper │ gradle-wrapper.jar │ gradle-wrapper.properties │ ├─CrossView(加号变叉号) │ │ .gitignore │ │ build.gradle │ │ cross.gif │ │ CrossView.iml │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ README.md │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─bob │ │ │ └─crossview │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─bob │ │ │ └─crossview │ │ │ SampleActivity.java │ │ │ │ │ └─res │ │ ├─drawable │ │ │ cross_view_selector.xml │ │ │ │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-v21 │ │ │ cross_view_selector.xml │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ activity_sample.xml │ │ │ │ │ ├─menu │ │ │ menu_sample.xml │ │ │ │ │ └─values │ │ colors.xml │ │ dimens.xml │ │ strings.xml │ │ styles.xml │ │ │ ├─gradle │ │ └─wrapper │ │ gradle-wrapper.jar │ │ gradle-wrapper.properties │ │ │ └─library │ │ .gitignore │ │ build.gradle │ │ library.iml │ │ proguard-rules.pro │ │ │ └─src │ ├─androidTest │ │ └─java │ │ └─com │ │ └─bob │ │ └─library │ │ ApplicationTest.java │ │ │ └─main │ │ AndroidManifest.xml │ │ │ ├─java │ │ └─com │ │ └─bob │ │ └─library │ │ CrossView.java │ │ │ └─res │ └─values │ attrs.xml │ ├─DateTimeDialog(时间控件UI) │ │ .gitignore │ │ build.gradle │ │ DateTimeDialog.iml │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ 样列1.png │ │ │ 样列2.png │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─my │ │ │ └─datetimedialog │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─my │ │ │ └─datetimedialog │ │ │ MainActivity.java │ │ │ │ │ └─res │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ activity_main.xml │ │ │ │ │ ├─values │ │ │ dimens.xml │ │ │ strings.xml │ │ │ styles.xml │ │ │ │ │ ├─values-v11 │ │ │ styles.xml │ │ │ │ │ └─values-v14 │ │ styles.xml │ │ │ ├─datetimelibrary │ │ │ .gitignore │ │ │ build.gradle │ │ │ datetimelibrary.iml │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─my │ │ │ └─datetimelibrary │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ └─java │ │ └─com │ │ └─my │ │ └─datetimelibrary │ │ ├─animation │ │ │ Animator.java │ │ │ AnimatorInflater.java │ │ │ AnimatorListenerAdapter.java │ │ │ AnimatorSet.java │ │ │ ArgbEvaluator.java │ │ │ FloatEvaluator.java │ │ │ FloatKeyframeSet.java │ │ │ IntEvaluator.java │ │ │ IntKeyframeSet.java │ │ │ Keyframe.java │ │ │ KeyframeSet.java │ │ │ ObjectAnimator.java │ │ │ PreHoneycombCompat.java │ │ │ PropertyValuesHolder.java │ │ │ TimeAnimator.java │ │ │ TypeEvaluator.java │ │ │ ValueAnimator.java │ │ │ │ │ ├─util │ │ │ FloatProperty.java │ │ │ IntProperty.java │ │ │ NoSuchPropertyException.java │ │ │ Property.java │ │ │ ReflectiveProperty.java │ │ │ │ │ └─view │ │ │ ViewHelper.java │ │ │ ViewPropertyAnimator.java │ │ │ ViewPropertyAnimatorHC.java │ │ │ ViewPropertyAnimatorICS.java │ │ │ ViewPropertyAnimatorPreHC.java │ │ │ │ │ └─animation │ │ AnimatorProxy.java │ │ │ ├─datetimepicker │ │ │ .gitignore │ │ │ build.gradle │ │ │ datetimepicker.iml │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─my │ │ │ └─datetimepicker │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─my │ │ │ └─datetimepicker │ │ │ │ AccessibleTextView.java │ │ │ │ Utils.java │ │ │ │ │ │ │ ├─date │ │ │ │ DatePickerController.java │ │ │ │ DatePickerDialog.java │ │ │ │ DayPickerView.java │ │ │ │ SimpleMonthAdapter.java │ │ │ │ SimpleMonthView.java │ │ │ │ TextViewWithCircularIndicator.java │ │ │ │ YearPickerView.java │ │ │ │ │ │ │ └─time │ │ │ AmPmCirclesView.java │ │ │ CircleView.java │ │ │ RadialPickerLayout.java │ │ │ RadialSelectorView.java │ │ │ RadialTextsView.java │ │ │ TimePickerDialog.java │ │ │ │ │ └─res │ │ ├─color │ │ │ date_picker_selector.xml │ │ │ date_picker_year_selector.xml │ │ │ done_text_color.xml │ │ │ │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ date_picker_dialog.xml │ │ │ date_picker_done_button.xml │ │ │ date_picker_header_view.xml │ │ │ date_picker_selected_date.xml │ │ │ date_picker_view_animator.xml │ │ │ time_header_label.xml │ │ │ time_picker_dialog.xml │ │ │ year_label_text_view.xml │ │ │ │ │ ├─layout-land │ │ │ date_picker_dialog.xml │ │ │ time_picker_dialog.xml │ │ │ │ │ ├─layout-sw600dp │ │ │ date_picker_dialog.xml │ │ │ │ │ ├─layout-sw600dp-land │ │ │ date_picker_dialog.xml │ │ │ │ │ ├─layout-w270dp-h560dp │ │ │ date_picker_dialog.xml │ │ │ │ │ ├─values │ │ │ colors.xml │ │ │ dimens.xml │ │ │ ids.xml │ │ │ strings.xml │ │ │ styles.xml │ │ │ │ │ ├─values-af │ │ │ strings.xml │ │ │ │ │ ├─values-am │ │ │ strings.xml │ │ │ │ │ ├─values-ar │ │ │ strings.xml │ │ │ │ │ ├─values-be │ │ │ strings.xml │ │ │ │ │ ├─values-bg │ │ │ strings.xml │ │ │ │ │ ├─values-ca │ │ │ strings.xml │ │ │ │ │ ├─values-cs │ │ │ strings.xml │ │ │ │ │ ├─values-da │ │ │ strings.xml │ │ │ │ │ ├─values-de │ │ │ strings.xml │ │ │ │ │ ├─values-el │ │ │ strings.xml │ │ │ │ │ ├─values-en-rGB │ │ │ strings.xml │ │ │ │ │ ├─values-en-rGB-v16 │ │ │ strings.xml │ │ │ │ │ ├─values-es │ │ │ strings.xml │ │ │ │ │ ├─values-es-rUS │ │ │ strings.xml │ │ │ │ │ ├─values-et │ │ │ strings.xml │ │ │ │ │ ├─values-fa │ │ │ strings.xml │ │ │ │ │ ├─values-fi │ │ │ strings.xml │ │ │ │ │ ├─values-fr │ │ │ strings.xml │ │ │ │ │ ├─values-hi │ │ │ strings.xml │ │ │ │ │ ├─values-hr │ │ │ strings.xml │ │ │ │ │ ├─values-hu │ │ │ strings.xml │ │ │ │ │ ├─values-in │ │ │ strings.xml │ │ │ │ │ ├─values-it │ │ │ strings.xml │ │ │ │ │ ├─values-iw │ │ │ strings.xml │ │ │ │ │ ├─values-ja │ │ │ strings.xml │ │ │ │ │ ├─values-ko │ │ │ strings.xml │ │ │ │ │ ├─values-land │ │ │ dimens.xml │ │ │ │ │ ├─values-lt │ │ │ strings.xml │ │ │ │ │ ├─values-lv │ │ │ strings.xml │ │ │ │ │ ├─values-mcc262 │ │ │ strings.xml │ │ │ │ │ ├─values-ms │ │ │ strings.xml │ │ │ │ │ ├─values-nb │ │ │ strings.xml │ │ │ │ │ ├─values-nl │ │ │ strings.xml │ │ │ │ │ ├─values-pl │ │ │ strings.xml │ │ │ │ │ ├─values-pt │ │ │ strings.xml │ │ │ │ │ ├─values-pt-rBR │ │ │ strings.xml │ │ │ │ │ ├─values-pt-rPT │ │ │ strings.xml │ │ │ │ │ ├─values-ro │ │ │ strings.xml │ │ │ │ │ ├─values-ru │ │ │ strings.xml │ │ │ │ │ ├─values-sk │ │ │ strings.xml │ │ │ │ │ ├─values-sl │ │ │ strings.xml │ │ │ │ │ ├─values-small │ │ │ dimens.xml │ │ │ │ │ ├─values-sr │ │ │ strings.xml │ │ │ │ │ ├─values-sv │ │ │ strings.xml │ │ │ │ │ ├─values-sw │ │ │ strings.xml │ │ │ │ │ ├─values-sw600dp │ │ │ dimens.xml │ │ │ │ │ ├─values-sw600dp-land │ │ │ dimens.xml │ │ │ │ │ ├─values-th │ │ │ strings.xml │ │ │ │ │ ├─values-tl │ │ │ strings.xml │ │ │ │ │ ├─values-tr │ │ │ strings.xml │ │ │ │ │ ├─values-uk │ │ │ strings.xml │ │ │ │ │ ├─values-v11 │ │ │ styles.xml │ │ │ │ │ ├─values-v14 │ │ │ styles.xml │ │ │ │ │ ├─values-v16 │ │ │ strings.xml │ │ │ styles.xml │ │ │ │ │ ├─values-vi │ │ │ strings.xml │ │ │ │ │ ├─values-w270dp-h560dp │ │ │ dimens.xml │ │ │ │ │ ├─values-zh-rCN │ │ │ strings.xml │ │ │ │ │ ├─values-zh-rTW │ │ │ strings.xml │ │ │ │ │ └─values-zu │ │ strings.xml │ │ │ └─gradle │ └─wrapper │ gradle-wrapper.jar │ gradle-wrapper.properties │ ├─Dialog(特效对话框) │ │ .gitignore │ │ build.gradle │ │ Dialog.iml │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ dilog.gif │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─my │ │ │ └─dialog │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─my │ │ │ └─dialog │ │ │ MainActivity.java │ │ │ │ │ └─res │ │ ├─drawable-hdpi │ │ │ icon.png │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ activity_main.xml │ │ │ │ │ ├─values │ │ │ strings.xml │ │ │ styles.xml │ │ │ │ │ ├─values-v11 │ │ │ styles.xml │ │ │ │ │ ├─values-v14 │ │ │ styles.xml │ │ │ │ │ ├─values-w360dp │ │ │ dimens.xml │ │ │ │ │ ├─values-w480dp │ │ │ dimens.xml │ │ │ │ │ ├─values-w500dp │ │ │ dimens.xml │ │ │ │ │ ├─values-w600dp │ │ │ dimens.xml │ │ │ │ │ └─values-w720dp │ │ dimens.xml │ │ │ ├─gradle │ │ └─wrapper │ │ gradle-wrapper.jar │ │ gradle-wrapper.properties │ │ │ └─lib │ │ .gitignore │ │ build.gradle │ │ lib.iml │ │ library.iml │ │ proguard-rules.pro │ │ │ └─src │ ├─androidTest │ │ └─java │ │ └─com │ │ └─my │ │ └─lib │ │ ApplicationTest.java │ │ │ └─main │ │ AndroidManifest.xml │ │ │ ├─java │ │ └─com │ │ └─my │ │ └─lib │ │ │ Effectstype.java │ │ │ NiftyDialogBuilder.java │ │ │ │ │ └─core │ │ BaseEffects.java │ │ FadeIn.java │ │ Fall.java │ │ FlipH.java │ │ FlipV.java │ │ NewsPaper.java │ │ RotateBottom.java │ │ RotateLeft.java │ │ Shake.java │ │ SideFall.java │ │ SlideBottom.java │ │ SlideLeft.java │ │ SlideRight.java │ │ SlideTop.java │ │ Slit.java │ │ │ └─res │ ├─drawable │ │ btn_press.xml │ │ btn_selector.xml │ │ btn_unpress.xml │ │ dialog_bg.xml │ │ │ ├─drawable-hdpi │ │ ic_launcher.png │ │ │ ├─drawable-mdpi │ │ ic_launcher.png │ │ │ ├─drawable-xhdpi │ │ ic_launcher.png │ │ │ ├─drawable-xxhdpi │ │ ic_launcher.png │ │ │ ├─layout │ │ custom_view.xml │ │ dialog_layout.xml │ │ │ └─values │ colors.xml │ dimens.xml │ strings.xml │ styles.xml │ ├─DialogPlusDemo(对话框组件,可做上下弹出布局) │ │ .gitignore │ │ build.gradle │ │ dialogplus.gif │ │ dialogplusanim.gif │ │ DialogPlusDemo.iml │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ README.md │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─bob │ │ │ └─dialogplusdemo │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─bob │ │ │ └─dialogplusdemo │ │ │ MainActivity.java │ │ │ SimpleAdapter.java │ │ │ │ │ └─res │ │ ├─drawable │ │ │ selector_bg_button.xml │ │ │ │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_google_maps_icon.png │ │ │ ic_google_messenger_icon.png │ │ │ ic_google_plus_icon.png │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ activity_main.xml │ │ │ content.xml │ │ │ content2.xml │ │ │ footer.xml │ │ │ header.xml │ │ │ simple_grid_item.xml │ │ │ simple_list_item.xml │ │ │ │ │ └─values │ │ colors.xml │ │ dimens.xml │ │ strings.xml │ │ styles.xml │ │ │ └─gradle │ └─wrapper │ gradle-wrapper.jar │ gradle-wrapper.properties │ ├─DragTopLayout(360软件详情页特效) │ │ .gitignore │ │ build.gradle │ │ DragTopLayout.iml │ │ dragtop_1.1.0.gif │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ README.md │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─bob │ │ │ └─dragtoplayout │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─github │ │ │ └─chenupt │ │ │ └─dragtoplayout │ │ │ └─demo │ │ │ │ AboutActivity.java │ │ │ │ CustomView.java │ │ │ │ DataService.java │ │ │ │ MainActivity.java │ │ │ │ │ │ │ ├─fragments │ │ │ │ GridViewFragment.java │ │ │ │ ListViewFragment.java │ │ │ │ RecyclerFragment.java │ │ │ │ ScrollViewFragment.java │ │ │ │ WebViewFragment.java │ │ │ │ │ │ │ ├─pulltorefresh │ │ │ │ PullToRefreshActivity.java │ │ │ │ PullToRefreshTopLayout.java │ │ │ │ │ │ │ └─utils │ │ │ DebugLog.java │ │ │ │ │ └─res │ │ ├─drawable-hdpi │ │ │ icon.png │ │ │ ic_fab_star.png │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_fab_star.png │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ avatar.png │ │ │ ic_fab_star.png │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_fab_star.png │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ activity_about.xml │ │ │ activity_main.xml │ │ │ activity_pulltorefresh.xml │ │ │ fragment_gridview.xml │ │ │ fragment_list.xml │ │ │ fragment_recycler.xml │ │ │ fragment_scrollview.xml │ │ │ fragment_webview.xml │ │ │ view_item_custom.xml │ │ │ │ │ ├─menu │ │ │ menu_main.xml │ │ │ │ │ ├─values │ │ │ colors.xml │ │ │ dimens.xml │ │ │ strings.xml │ │ │ styles.xml │ │ │ │ │ └─values-w820dp │ │ dimens.xml │ │ │ ├─gradle │ │ └─wrapper │ │ gradle-wrapper.jar │ │ gradle-wrapper.properties │ │ │ ├─library │ │ │ .gitignore │ │ │ build.gradle │ │ │ library.iml │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─bob │ │ │ └─library │ │ │ AttachUtil.java │ │ │ DragTopLayout.java │ │ │ │ │ └─res │ │ └─values │ │ attrs.xml │ │ │ └─sample │ │ .gitignore │ │ build.gradle │ │ proguard-rules.pro │ │ sample.iml │ │ │ └─src │ └─main │ │ AndroidManifest.xml │ │ │ ├─java │ │ └─com │ │ └─bob │ │ └─sample │ │ │ DragTopLayoutEvent.java │ │ │ │ │ ├─activity │ │ │ MainAcitivity.java │ │ │ │ │ ├─fragment │ │ │ GridViewFragment.java │ │ │ ListViewFragment.java │ │ │ RecyclerViewFragment.java │ │ │ ScrollViewFragment.java │ │ │ WebViewFragment.java │ │ │ │ │ └─widget │ │ PagerSlidingTabStrip.java │ │ │ └─res │ ├─drawable │ │ avatar.png │ │ │ ├─drawable-hdpi │ │ image_sliding_block.9.png │ │ sliding_tab_strip_background.9.png │ │ tubiao.jpg │ │ │ ├─drawable-xhdpi │ │ ic_launcher.png │ │ │ ├─layout │ │ fragment_scrollview.xml │ │ fragment_webview.xml │ │ grid_view_fragment.xml │ │ list_view_fragment.xml │ │ main.xml │ │ recycler_view_fragment.xml │ │ sliding_tab_item.xml │ │ │ └─values │ attrs.xml │ strings.xml │ styles.xml │ ├─ExpandableSelector(可扩展的选择器(底部绝对定位菜单)) │ │ .gitignore │ │ build.gradle │ │ ExpandableSelector.iml │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ README.md │ │ settings.gradle │ │ shili.png │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ scope_settings.xml │ │ │ ├─app │ │ │ .gitignore │ │ │ app.iml │ │ │ build.gradle │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─bob │ │ │ └─expandableselector │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─bob │ │ │ └─expandableselector │ │ │ MainActivity.java │ │ │ │ │ └─res │ │ ├─drawable │ │ │ bg_expandable_selector.xml │ │ │ bg_expandable_selector_dark.xml │ │ │ bg_item_with_title.xml │ │ │ item_brown.xml │ │ │ item_green.xml │ │ │ item_orange.xml │ │ │ item_pink.xml │ │ │ │ │ ├─drawable-hdpi │ │ │ ic_device_hub_black.png │ │ │ ic_gamepad_black.png │ │ │ ic_keyboard_arrow_down_black.png │ │ │ ic_keyboard_arrow_up_black.png │ │ │ ic_launcher.png │ │ │ ic_logo_karumi.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-v21 │ │ │ bg_item_with_title.xml │ │ │ item_brown.xml │ │ │ item_green.xml │ │ │ item_orange.xml │ │ │ item_pink.xml │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_device_hub_black.png │ │ │ ic_gamepad_black.png │ │ │ ic_keyboard_arrow_down_black.png │ │ │ ic_keyboard_arrow_up_black.png │ │ │ ic_launcher.png │ │ │ ic_logo_karumi.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ main_activity.xml │ │ │ │ │ └─values │ │ colors.xml │ │ dimens.xml │ │ integers.xml │ │ strings.xml │ │ styles.xml │ │ themes.xml │ │ │ ├─component │ │ │ .gitignore │ │ │ build.gradle │ │ │ component.iml │ │ │ proguard-rules.pro │ │ │ │ │ └─src │ │ ├─androidTest │ │ │ └─java │ │ │ └─com │ │ │ └─bob │ │ │ └─component │ │ │ ApplicationTest.java │ │ │ │ │ └─main │ │ │ AndroidManifest.xml │ │ │ │ │ ├─java │ │ │ └─com │ │ │ └─bob │ │ │ └─component │ │ │ │ ExpandableItem.java │ │ │ │ ExpandableSelector.java │ │ │ │ ExpandableSelectorListener.java │ │ │ │ OnExpandableItemClickListener.java │ │ │ │ │ │ │ └─animation │ │ │ AbstractAnimationListener.java │ │ │ ExpandableSelectorAnimator.java │ │ │ ResizeAnimation.java │ │ │ │ │ └─res │ │ ├─drawable-hdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-mdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─drawable-xxhdpi │ │ │ ic_launcher.png │ │ │ │ │ ├─layout │ │ │ expandable_item_button.xml │ │ │ expandable_item_image_button.xml │ │ │ │ │ └─values │ │ attrs.xml │ │ │ └─gradle │ └─wrapper │ gradle-wrapper.jar │ gradle-wrapper.properties │ ├─FragmentBasicsDemo(多视图布局) │ │ .gitignore │ │ build.gradle │ │ FragmentBasicsDemo.iml │ │ gradle.properties │ │ gradlew │ │ gradlew.bat │ │ settings.gradle │ │ │ ├─.idea │ │ │ .name │ │ │ compiler.xml │ │ │ encodings.xml │ │ │ gradle.xml │ │ │ misc.xml │ │ │ modules.xml │ │ │ vcs.xml │ │ │ │ │ ├─copyright │ │ │ profiles_settings.xml │ │ │ │ │ └─scopes │ │ sco

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧