记得有个朋友给我说,你写的PHP框架是不是过于少了.我感觉仅仅有一个thinkphp确实不好,于是就又写了下yii和ci的教程,事实上我之前是研究过这两个框架的,因此写起来也还算得心应手吧.估计接下来就要出项目实战的了,期待您的关注吧. 首先就是这两个框架的下载地址了,第一个是yii的:yii教程   ,然后就是ci的:ci教程  .可能还是有些朋友们想看看它的大致内容.这里我给个截图吧: 上面是文件夹的截图,对于当中的内容,也来个截图吧: 假设您喜欢的话.那么就最好还是去下载看看吧.…
using (FileStream fileReader = File.OpenRead(@"C:\Users\Administrator\Desktop\112.xls"))        {            //创建工作簿对象接收文件流(Excel信息)            IWorkbook workbook = new HSSFWorkbook(fileReader);            //工作簿共有几个表            //int count = wor…
git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我们有必要搭建自己的 git 服务器. 虽然我们能搭建基本的 git 服务器,但是想要做到 github 网站那种规模还不是目前能够探讨的,本节的主要目标是使用我们私有服务器对我提供类似于github的远程仓库托管服务,以下示例以centos 服务器为例说明: 安装 git 服务 运行以下命令安装 g…
一.超链接按钮     代码很简单,参见360Demo:     <Button text="{u}{a}求助{/a}{/u}" showhtml="true"/>      这里只需要加上showhtml="true",然后在text属性里写类html代码就可以了,不过duilib只支持小部分html代码,具体的格式请参见Demo以及源码~ 二.支持html    由于html非常方便,所以duilib也提供了部分支持,上面的超链接…
界面的显示方面就都讲完啦,下面来介绍下控件的响应.    前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEGIN_MESSAGE_MAP,可以将DUI_MSGTYPE_CLICK消息映射到指定的函数(比如OnClick),这和在Notify判断msg.sType是一样的效果,具体请参见duilib的RichListDemo.    先看看下面几段代码: DUI_BEGIN_MESSAGE_MAP(CPage1, C…
虽然duilib自带在MFC中使用duilib的Demo,但只是MFC窗口和duilib窗口不重叠的情况.如果要在MFC窗口中嵌入duilib控件,或者在duilib控件中嵌入MFC的控件的话,就没有Demo可以看了,其实Alberl开始也不知道怎么办,看了下ActiveXUI控件,这个就是结合HWND的,但是由于接触duilib不久,所以一时无法看懂ActiveXUI到底是怎么将win32的HWND画上去的,只好在群里问啦,多谢铅笔群的Troy大神指导:      当时解决完之后上传了代码,不…
上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃      如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口都用new生成,_tWinMain改为下面这样: int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { CPaintManagerUI::SetInstance(hIn…
在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如菜单控件).虽然duilib没有提供这些控件,但是自己绘制起来也是非常方便的,不过duilib的自绘可比MFC方便得不止一点点了,其实duilib的自绘大都不用自己绘制,就是一些控件和图片的组合而已,相当简单方便~~~    一.菜单控件    其实菜单控件的外观和ListBox非常像,所以我们可以用教程1…
首先将本节要介绍的控件全部拖到界面上,并调整好位置,如图:  然后将Name属性改成其他名字,         不能是[控件名+UI+数字]这种,因为这是DuiDesigner默认的名字,它不会实际写入到XML,所以如果控件的名字被取成ActiveXUI1.ActiveXUI2.ButtonUI1这种格式的话,Name属性会被忽略,可以看到XML是没有Name属性的:     所以我们必须给它们指定其他的名字,这里格式统一为[控件名+Demo+数字],如图:     XML如下(删除了暂时没用到…
一.WindowImplBase的bug    在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,    1.最大化按钮的样式还是没变  ,正确的样式应该是这样的      2.再次点击最大化按钮,不能还原到正常大小.    这个是WindowImplBase的bug,已经提交给官方有一段时间了,但是貌似没有被合并到SVN上去,所以这里说明一下,我们需要在WindowImplBase的OnSysCommand函数里,在if( :…