??xml version="1.0" encoding="utf-8" standalone="yes"?>久久久久久无码Av成人影院,久久久无码精品午夜,狠狠色婷婷综合天天久久丁香http://www.shnenglu.com/wlwlxj/archive/2012/09/08/189951.html万连?/dc:creator>万连?/author>Sat, 08 Sep 2012 10:10:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2012/09/08/189951.htmlhttp://www.shnenglu.com/wlwlxj/comments/189951.htmlhttp://www.shnenglu.com/wlwlxj/archive/2012/09/08/189951.html#Feedback4http://www.shnenglu.com/wlwlxj/comments/commentRss/189951.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/189951.html最q工作上比较忙,加之~码d较多Q没来得及l之前的讲解。抽出时间把q最重要的一部分东西做个阐述。行文以基本的编E思维及个人思考过EؓU烦?/p>

 

众所周知QRichEdir强大在于其图文؜排(在这里不跟Word、HTML比)Q其中的图替换ؓ动态图的核心问题就归结于如何高效刷新。我们知道GDI操作是最消耗CPU的,所以刷新整个RichEditH口是不可取的,其副作用会导致更严重的闪烁问题。解决问题的思\很简单:cM于拖拽时候在屏幕l制异或U,我们的动画重l时不请求RichEditQ而直接在其窗口的DC上绘制当前动dQ此时缺是如何定该OLE的位|,q个是所有问题的关键。先看下面这q图Q?/p>

 

假定1-5全部都是GIF囄Q非GIF可以暂时无视Q这个后面大家会非常清楚如何处理。在q个q程中,2不见了,?是新出现的。对?新出现时QRichEdit自n肯定会触发其Q?/p>

Draw(
    DWORD dwDrawAspect, LONG lindex, void* pvAspect,
    DVTARGETDEVICE* ptd, HDC hicTargetDev, HDC hdcDraw,
    LPCRECTL prcBounds, LPCRECTL prcWBounds,
    BOOL (__stdcall *pfnContinue)(DWORD_PTR dwContinue),
    DWORD_PTR dwContinue)

 

q个时候,我们知道新的GIF囄q入可视区,可以把它d到集合中。对?的动画触发时间到来时Q我们可以确定其位置且与可视区比对,发现其不再可视区Q则从集合中U除。这样就可以得到一个接q于Q略大于Q当前视口中的动L仉合,当有新的动画触发旉到来Ӟ我们可以先检查其是否在可视区Q如果不在则不用GDI操作Q仅仅更新其当前帧。当然这些工作你也可以不做,但是在动L件数量大的时候效率可能略有下降,主要是查扄q程Q烦引、位|)比较耗时?/p>

 

如何定一个OLE的位|呢Q由于我们插入OLE都用了REO_BELOWBASELINE标志Q也是跟当前行的底部对齐,所以OLE左下角位|的_度对我们来说很重要。看下图Q?/p>

假设图中黑框是一个OLE对象Q其字符索引为CPNQ假定第N+1行的W一个字W烦引ؓCPN1Q那么OLE左下角坐?{PosFromChar(CPN).x, PosFromChar(CPN1).y }QPosFromCharq个是RichEdit提供的。问题的关键是最后一行怎么计算Q此时没有第N+1行。对于这U特D情况,主要是Y坐标的计,可以q样考虑QY=RichEdit内容高度-滚动条位|。猜? 计算内容高度可能比较耗时Q故QQ的聊天消息显C部分强制在底部加了一行,以避免这U情况出现?/p>

 

得到左下角位|以后,可能你会觉得׃事大吉了。错Q还有一个关键点Q我们可以通过OLE的接口GetExtent得到其大,然而这个大没有考虑~放比例Q所以你需要根据当前羃放比例进行计,而这个计牵扯到点数运,q程中的来回不仅ȝ而且不精,所以OLE的可视大要想非常精是不能通过计算来的。我们前面知道OLEl制的时候会传入可视范围Q假如我们保存下来是不是可以解决问题了呢?当然Q显Ӟ你可以试试!

q些问题主要原因是RichEdit的很多接口方法没有暴Ԍ而Win8的SDK会做重大升Q很多之前的问题都会变成不是问题Q或许还会引h多的新特性,但是动画本n的逻辑q是需要自己实玎ͼ或者会单许多,至于多少我还不清楚Q但是目前来看这U方案效率够! 

 

Cq里Q核心技术应该大白天下,整个q程Q我q求了位|的_և度,q据此获得最可视集合进行刷C化?/p>

 

最新SDK&DemoQ参见:http://code.google.com/p/im-solution/。希望你会喜Ƣ!



]]>
richedit研究 ?正式?.0.0发布http://www.shnenglu.com/wlwlxj/archive/2012/09/06/189750.html万连?/dc:creator>万连?/author>Thu, 06 Sep 2012 14:25:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2012/09/06/189750.htmlhttp://www.shnenglu.com/wlwlxj/comments/189750.htmlhttp://www.shnenglu.com/wlwlxj/archive/2012/09/06/189750.html#Feedback9http://www.shnenglu.com/wlwlxj/comments/commentRss/189750.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/189750.html
先谈下richedit我做的工作,主要是参照QQ的功能进行设计,分ؓ2个部分:texthost和richoleQ前者实现无H口的richeditQ后者实现动L件。这些东西可以说|上可见的鲜有正的Ҏ论,很多都是饮鸩止之手D,我确信自q手法是非常科学的?br />
目前的实玎ͼ
1.动画控g
2.拯_脓Q支持QQ互? 支持HTML格式(|页 word{?互? Shell拖放互? dE序的互?br /> 3.H口、无H口控gl一操作接口
4.增强的扩展能?br />
现有的不_完善Q?br /> 1._脓|页中图像的下蝲q程是堵塞式下蝲
2.炫彩字体完善
3.新闻摘要Q仿QQQOLE实现

效果图:


SDK&Demo下蝲


无论如何Q对现在的设计(架构&E_性)到达了一个满意效果,最的依赖和最通用的编码,觉得可以拿出来show一下。如果您有Q何徏议都可以在下面提出或者给我emailQ烦要源码除外,技术讲解我会尽快展开Q按照之前的大纲Q。M一切都是围lQQ效果实现Qؓ实现IMc聊天展C提供解x案,武装到牙ѝ?img src ="http://www.shnenglu.com/wlwlxj/aggbug/189750.html" width = "1" height = "1" />

]]>
richedit研究 ?拯&_脓初步实现效果http://www.shnenglu.com/wlwlxj/archive/2012/08/26/188342.html万连?/dc:creator>万连?/author>Sun, 26 Aug 2012 09:15:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2012/08/26/188342.htmlhttp://www.shnenglu.com/wlwlxj/comments/188342.htmlhttp://www.shnenglu.com/wlwlxj/archive/2012/08/26/188342.html#Feedback5http://www.shnenglu.com/wlwlxj/comments/commentRss/188342.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/188342.html׃四天旉Q再ơ对QQ的剪切板格式做了深入研究Q对im_richedit做了一ơ重构得richframe作ؓ抽象的支持动d能占位块Q派生出richpicture。从基本功能上来Ԍ可以实现qq消息框的功能?/span>

我支持的剪脓板格式如下:
enum FETCINDEX {
  kFETCINDEXUnicode,     // Unicode 文本
  kFETCINDEXAnsi,        // ANSI 文本
  kFETCINDEXDIB,         // DIB
  kFETCINDEXHDROP,       // HDROP
  kFETCINDEXHTML,        // HTML
  kFETCINDEXIMRichEdit,  // 自定义格?/span>
};

未来打算扩展的OLEcd如下Q?/span>
enum IMRichElementType {
  kIMRichElementText,           // 字符?/span>
  kIMRichElementCustomPicture,  // 自定义图?/span>
  kIMRichElementSystemPicture,  // pȝ囄
  kIMRichElementFancyCharacter  // 炫彩字符
};

旉紧张Q很多细节处理不完善Q上周还初步实现了chromium的windowless版的embedҎQ新的一周要努力完善?/span>

效果囑֦下(支持HTML拯咯!Q!Q:



执行文g下蝲

技术讲解会在现在特性细节完成后l箋。扯点别的,lchrome os的shell攑ּweb实现后,fb也們֐native app而暂~html5Q似乎给html5g一点h。新技术的E_需要一个过E,而商业公司往往看重的是当前的运营、盈利。当然html5本n仅仅是加入了一些语义、植入了一些sdkQ而作为Windows开发者擅长的也是对sdk装而非语言层面的封装,相比之下Qweb斚w我比较热Lhtml5新特?canvas)来实现UIQ而对于原生的html元素拼凑界面有点怸着门道?/span>

]]>
ZChrome开源提取的界面开发框??.3)http://www.shnenglu.com/wlwlxj/archive/2011/09/14/155792.html万连?/dc:creator>万连?/author>Wed, 14 Sep 2011 15:45:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/09/14/155792.htmlhttp://www.shnenglu.com/wlwlxj/comments/155792.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/09/14/155792.html#Feedback24http://www.shnenglu.com/wlwlxj/comments/commentRss/155792.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/155792.html
新的代码已经上传Q请?https://x-framework.googlecode.com/svn/trunk 更新

q一ơ的更新有些仓促Q主要是有一些网友希望能早些看到chrome的tab|果的具体实现Q目前来讲还有一些没实现的地方,会导致一些bugQ下载代码调试的时候,请忽视异常,勇敢的按下f5Q不能正帔Rl止调试或者杀掉进E,M崩溃不能退出的地方都有可能Q仅故学习参考?/div>
一些截图:






我认为chrome的架构在三个斚w做的非常好:通知pȝQ线E模?观察者模式)、preferencepȝ和extension扩展pȝQ非常具有互联网客户端特征,大部分功能都可以重用。适合搭徏互联|客Lq_Q然而在中国能驾驭如此全面架构的互联|企业应该也不多Q小步跑多P代需要依赖可靠的q_。其多进E的架构模型Q好处自然不用多_然而需要的架构水^之高恐怕很隑֜实际开发中真正全部跑v来?/div>

下面是所在团队用chrome遇到问题时候,我做的一些研I分析,在分析前我对chrome内部的线E对象关pM很模p,希望对他人有用?br />
chrome在线E和对象之间q作的一些基技巧,M来讲使用了三U设施,而不是一刀切,一个不规范的报告如下:

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
同一U程同一对象的方法异步调?    ScopedRunnableMethodFactory能保证对象自w异步方法调用的安全?/div>
同一U程不同对象之间的通知       调用者派生NotificationObserverQ通过NotificationRegistrar把自己注册到通知pȝQ通知源触发NotificationService          订阅模式Q线E内同步调用Q不存在对象生命周期的问?/div>
MessageLoopProxy是线E安全的引用计数对象Q内部封装了U程消息循环QMessageLoop销毁的时候会|空其MessageLoopProxy中的消息循环Q支持线E安全的异步调用Q适合在不同线E之间回调,回调q程是异步的Q所以牵扯到的参数必考虑对象生命周期以及对象Ҏ调用的线E问题。我的想法就是回调的对象最好是生命周期跟application的一致的大对象,充当managerQ这也正是一个管理者该做的事情Q,q样pl持回调对象的合法性?/div>
chrome推荐多用非U程安全对象Q也是对象Ҏ的执行都在对象创建的U程

Application<----------------------------------------------------------
   |--------|...                                                                        |
   V         V                                                                          |
UIU程    文gdU程     数据库读写线E?            |络U程 ...     |
UIMgr     FileIOMgr        DatabaseIOMgr           NetIOMgr       |
Obj...     Obj...                ...                             ...                |
Obj...     Obj...                ...                             ...                ---
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
在chrome中运用最多的是第二种技法,因ؓ本n没有那么多对象需要跨U程Q其ơ是W三U,因ؓ互联|客L实存在不少的多U程数据理Q最后是W一U技法,q种情况较ؓ见?/div>
至于全面详尽的剖析,我没有精力或者暂时没有勇气去整理。后面代码的更新可能也会减缓Q自׃考虑在如何用这套框架做一些东ѝ?/div>


]]>ZChrome开源提取的界面开发框??.2.5)http://www.shnenglu.com/wlwlxj/archive/2011/09/02/154975.html万连?/dc:creator>万连?/author>Fri, 02 Sep 2011 14:32:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/09/02/154975.htmlhttp://www.shnenglu.com/wlwlxj/comments/154975.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/09/02/154975.html#Feedback18http://www.shnenglu.com/wlwlxj/comments/commentRss/154975.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/154975.html
随着对chrome的基库的熟悉以及qx的维护,M上来讲view框架以下的部分基本上E_。目前变动的主要是硬件加速部分,两个分支Qdirect2d和openglQ还有就是对touch的支持,最q又引入了aura的一套界面,应该是谷歌收买摩托之后的一些计划,但是具体是什么还不清楚?br />
作ؓ基础库学习的最后一个作业,我想实现一个windowq_下的chrome界面Q可能不是全部特性,但希望能做到量d。所有的实现会在?.3)的时候完成,预计期望带上一个webbrowser能勉强浏览网c其实在最初抽取这套东西的时候,几乎所有h都期望的是chrome的那个能随意拖拉的tabQ这ơ我也希望能实做一个出来?br />
本nbrowser的代码极其大Q我也无心恋战,一猛砍之后,居然奇般的能跑h一个空壻I真的是很ƣ慰Q算是一个中间阶D吧Q下面的工作是整理代码Q慢慢恢复一个最的外壳。目前状况见下图Q?br />

之后的下一步打是弄一套metroui风格的控Ӟ因ؓchrome的view框架本n对windows控g的封装也不多Q实C不多Q但是引擎确实极好,正好适合q一目的。可能会装出接口api甚至是集成脚本引擎,因ؓq些上层的东西对于大多数人来讲是喜欢的,他们懒得知道那么多细节,当然可能限制׃多一些?br />
======================================================================================
l箋Q?br />

前进一步:


W一个TabQ?br />        



开始支持拖?br />

开始支持拖拽TAB分离


当前release的exe大小?.98MQ静态链接crtQ不包含资源dll

]]>
ZChrome开源提取的界面开发框??.2)http://www.shnenglu.com/wlwlxj/archive/2011/08/24/154239.html万连?/dc:creator>万连?/author>Wed, 24 Aug 2011 11:49:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/08/24/154239.htmlhttp://www.shnenglu.com/wlwlxj/comments/154239.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/08/24/154239.html#Feedback19http://www.shnenglu.com/wlwlxj/comments/commentRss/154239.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/154239.html

svn: https://x-framework.googlecode.com/svn/trunk    重新下蝲代码

很久没有在svn上更新这套库里,但自己有旉的时候都在开发增加功能。这ơ的更新主要是在对activex的支持,一个界面库若想成ؓ框架Q必d备这U包Ҏ,臛_flash /webbrowser{主的控gq是会经常用到的。这一ơ主要是实现了无H口的flash、mediaplay和sl插gQ实Cmshtml和webbrowser的容UI参考有vc的sdk和国外对无窗口activex的研IӞ目前操纵接口仅仅供runQ没有深度的wrapper?/div>

q有一件事情就是纠正了之前的错误思想Q对chrome的基库私自做了大量修改导致维护更新很ȝQ目前基本上保持了对应,臛_我自pt代码的变更q是比较方便。这个过E中自己学到了很多非技术的东西Q技术上也看Cgoogle工程师对设计的精益求_。Chrome寚w层窗口的攚w部分,我一直有一些说不出的感觉,代码中说了一堆理由阐qCؓ何在下面预留1px的nc区,但是我在之前没有预留的时候反而更好?/div>

整个工程的结构如下:
x-framework
|
--binQ可执行E序Q?/div>
|
--examplesQ示例源码)
  |
  --demosQ基控g展示Q?/div>
  |
  --desktopQchrome桌面Q不知道有何意图Q?/div>
  |
  --iganttQ一个计划的囑Ş产品Q?/div>
  |
  --net_base_testQ暂时无用)
  |
  --status_trayQ应用层托盘库,很小Q?/div>
  |
  --wanui_resQ库依赖的资源)
|
--libQ框架库Q?/div>
|
--libraryQ库源码Q?/div>
  |
  --baseQ基库,标准法、字W串、内存工兗统计工兗多U程~程工具、窗口API装、消息܇{)
  |
  --net_baseQ暂时无用)
  |
  --skiaQskia在windowsq_使用的基本封装,主要是设备和位图的{换,支持32位位图)
  |
  --third_partyQ第三方库)
  |
  --ui_baseQ作为view库的基础Q对windows的消息事件等做了一层封装和扩展Q?/div>
  |
  --ui_gfxQؓview库提供更好地囑Ş装Q点UK路径囑փ支持、坐标{换支持)
  |
  --viewQ基于windows的顶层窗口对H口世界的chrome化,兼容无窗口和有窗口的界面引擎Q我增加了一些扩展)

一些demo截图Q?/div>









q些CZ管一眼看上去q不是那么震|局限因素不是技术,目前的问题就是控件数量不够丰富,chrome里面无窗口的控gl制采用了native主题Q当然这或许不是我目前非常看重的Q它能给开发者提供的便利性才是我q求的。早期版本我也在正式的项目中采用Q用的q程中,掌握了很多技巧,也走了弯路。对于一个强大的库,如果使用的不好可能反而觉得别扭?/div>


]]>ZChrome开源提取的界面开发框??.1.5)http://www.shnenglu.com/wlwlxj/archive/2011/06/04/148046.html万连?/dc:creator>万连?/author>Sat, 04 Jun 2011 05:47:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/06/04/148046.htmlhttp://www.shnenglu.com/wlwlxj/comments/148046.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/06/04/148046.html#Feedback25http://www.shnenglu.com/wlwlxj/comments/commentRss/148046.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/148046.html 无窗口richedit的机制基本实玎ͼ剩下的是接口调用装和事件的设计?br />
一周的旉d了无H口richviewQ机制上没有采取Mhack方式Q完全靠实现ITextHost接口以及作用ITextService接口Q?br /> 1、支持输入法~辑
2、支持滚?暂时没有滚动条,待添?)
3、支持拖?br />
主要参考的CZ为微软的例子windowlessreQ由于chrome的view自n装的限制导致实现的时候有许多框架Q封装)引入的障,Z可能少的改动引擎自w,我只做了很少的^C赖调_很多旉都消耗在框架机制上?br /> 至于一些颜艌Ӏ字体、文本操作、ole囄的接口、事件和mvc的抽象在接下来会实现Q应该没有太大难度了Q确保控件的_控制和完解x案。代码已l上传svn: http://code.google.com/p/x-framework/?br />
截图Q?br />


实现无窗口的activex控g支持(flash mediaplayer) .net控g  wpf控g







׃怹才把activexq块处理完整Q实C无窗口的flash mediaplayerQ支持容Uwebbrowser以及html文档Q至于sl插g的支持也会考虑Q下一步会转向无窗口的richedit重构和功能完善:






sl插g支持Q?br />

]]>
UL?000泄漏代码中的ie部分代码http://www.shnenglu.com/wlwlxj/archive/2011/06/01/147904.html万连?/dc:creator>万连?/author>Wed, 01 Jun 2011 15:58:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/06/01/147904.htmlhttp://www.shnenglu.com/wlwlxj/comments/147904.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/06/01/147904.html#Feedback11http://www.shnenglu.com/wlwlxj/comments/commentRss/147904.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/147904.htmlq䆾代码在我的硬盘里面静静呆了一q_最起初的研I是惛_习改造利用,C后来发现代码l构q不是很优雅Q自q掌控能力有限Q且是商业泄漏代码,所以放弃了l箋攚w,但是整个UL的过E让我直C日都受益匪浅?br />
q䆾代码可以q行跑v来,但不是ieQ当时是5.xQ的全部。后来有一些h出去好奇想看Q我没有l出。微软的代码设计模式用的q不淋漓致Q但是d以直击要実뀂我看到w边的hZ设计模式而用设计模式的时候,写了很多代码控制力ƈ不是很强或者ƈ不是真正的解耦合Q我x必要把这个东西拿出去Q希望他们能思考或者反思一些问题。当Ӟ希望你只是出于学习目的,毕竟是泄露的商业代码Q我也无暇也不敢d具体分析Q希望不会引出祸端?br />
分卷一
分卷?/a>


]]>ZChrome开源提取的界面开发框??.1)http://www.shnenglu.com/wlwlxj/archive/2011/05/27/147373.html万连?/dc:creator>万连?/author>Fri, 27 May 2011 08:17:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/05/27/147373.htmlhttp://www.shnenglu.com/wlwlxj/comments/147373.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/05/27/147373.html#Feedback8http://www.shnenglu.com/wlwlxj/comments/commentRss/147373.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/147373.html

q期开发计?
1.无窗口的richedit支持,包括ole囄以及D落支持,q些是IMcd需的组?已经开?   --预计6月初完成
2.览器类lg支持,预计包括webbrowser和webkit,后者近来的需求越来越?管有挑战也要试一?到时候参考qt   --预计6月底完成
3.flashH口的支?q个可能有些地方会用?比较Ҏ   --预计7月初完成
希望大家有好的这斚w源码参考或者徏议的能给我留a.

问题Q?/p>

1.Chrome中的光标讄依赖于mousemove消息Q快速移动鼠标的时候会D光标状态闪烁,试修复为wm_setcursor

2.Chrome中的NativeTextfieldView输入框非常复杂且处理的不完整Q考虑U除用richedit相关接口替换

随记Q?/p>

widget是一个窗体的抽象   widget_win是winH体的实?/p>

window引入了非客户区的概念Q允许最化最大化模态等H体概念  window_win则是其winq_的实?带有标题栏的)


2011.5.29:实现了无H口richedit的拖?br />

2011.5.30:实现了无H口richedit的输入编?br />



]]>ZChrome开源提取的界面开发框??.x)http://www.shnenglu.com/wlwlxj/archive/2011/04/20/144665.html万连?/dc:creator>万连?/author>Wed, 20 Apr 2011 07:27:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/04/20/144665.htmlhttp://www.shnenglu.com/wlwlxj/comments/144665.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/04/20/144665.html#Feedback3http://www.shnenglu.com/wlwlxj/comments/commentRss/144665.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/144665.html 

最q比较忙Q各U原因,对界面框架做的工作如下:

1、维护更新至chromium.r80414
2、开始着眼Chrome览器架构,框架、插件机制、主题、多q程/U程斚w
3、工作的目标做了适当延Q暂时命名x-frameworkQƈ试模拟实现一个类Chrome的UI作品?br>4、界面方面进度不大,主要是不断研I、尝试、走弯\和改q过E,临时性的截图Q?br>      

]]>
ZChrome开源提取的界面开发框??/title><link>http://www.shnenglu.com/wlwlxj/archive/2011/04/05/143478.html</link><dc:creator>万连?/dc:creator><author>万连?/author><pubDate>Tue, 05 Apr 2011 13:25:00 GMT</pubDate><guid>http://www.shnenglu.com/wlwlxj/archive/2011/04/05/143478.html</guid><wfw:comment>http://www.shnenglu.com/wlwlxj/comments/143478.html</wfw:comment><comments>http://www.shnenglu.com/wlwlxj/archive/2011/04/05/143478.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.shnenglu.com/wlwlxj/comments/commentRss/143478.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wlwlxj/services/trackbacks/143478.html</trackback:ping><description><![CDATA[  <div> <div>前段旉的工?/div> <div>1.2dl图引擎q移回skiaq_</div> <div>2.跟进到Chrome源码的chromium.r78515版本</div> <div>3.ScrollView、Menu{UI元素UL</div> <div>4.修改Chrome的一些Bugs或不?/div> <div>5.目录的整理、调?/div> <div>6.开始以教程的Ş式深入理解整个UI框架, 发现其中的问? Z一步扩展打好基</div> <div><br></div> <div>UI库项目的依赖在library\depends.txt</div> <div>UI库的Bugs在library\bugs.txt</div> <div>所有不定的地方在代码中均有WLW TODO标记</div> <div>之前的test_base test_view目卛_废弃, 不要再尝试编? 会以教程的Ş式体?/div> <div><br></div> <div>q期工作</div> <div>跟踪chromium最新源? 修改Bugs</div> <div>q一步开发教E? 学习整个框架</div> <div><br></div> <div>位图滚动条由于没有合适格式的囄, 暂时无法在教E中体现. 代码E_之后会考虑攑֜开源项目网站上或用于公司商业化开发维? 暂时不确?</div> <div><br></div> <div>教程位于tutorial目录, 其中wanui_res是纯资源DLL, hello_window是基本窗口展C? hello_view是基本View展示.后箋会逐步开发所有控件的教程, 在完全理解整个框架之后会q行扩展.<br><br><br>截图Q?br><img border=0 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/730/o_test_view.PNG" width=700 height=500><br><br>  <img border=0 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/730/o_hello_window.PNG" width=300 height=300><br><br>  <img border=0 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/730/o_hello_view.PNG" width=386 height=416><br></div> <br><br><a href="http://www.shnenglu.com/Files/wlwlxj/WanUI.rar">代码下蝲</a></div> <img src ="http://www.shnenglu.com/wlwlxj/aggbug/143478.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wlwlxj/" target="_blank">万连?/a> 2011-04-05 21:25 <a href="http://www.shnenglu.com/wlwlxj/archive/2011/04/05/143478.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ZChrome开源提取的界面开发框?一http://www.shnenglu.com/wlwlxj/archive/2011/03/23/142612.html万连?/dc:creator>万连?/author>Wed, 23 Mar 2011 14:22:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2011/03/23/142612.htmlhttp://www.shnenglu.com/wlwlxj/comments/142612.htmlhttp://www.shnenglu.com/wlwlxj/archive/2011/03/23/142612.html#Feedback0http://www.shnenglu.com/wlwlxj/comments/commentRss/142612.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/142612.html1、gdiplus->skia: 之前UL的就是skiaQ后来觉得开源的skia代码量大且需要额外包含头文gQ怕他得麻烦就自己替换了gdiplus.因有人提及,自己也觉得有点画蛇添I故改回?/div>
2、更新至最新的的Chrome代码Q包括结构的合理性和bug的修攏V?/div>
3、ScrollView以及Richedit的ITextHost处理实现无窗口的~辑视图?/div>

]]>ZChrome开源提取的界面开发框架开?/title><link>http://www.shnenglu.com/wlwlxj/archive/2011/03/20/142246.html</link><dc:creator>万连?/dc:creator><author>万连?/author><pubDate>Sat, 19 Mar 2011 16:24:00 GMT</pubDate><guid>http://www.shnenglu.com/wlwlxj/archive/2011/03/20/142246.html</guid><wfw:comment>http://www.shnenglu.com/wlwlxj/comments/142246.html</wfw:comment><comments>http://www.shnenglu.com/wlwlxj/archive/2011/03/20/142246.html#Feedback</comments><slash:comments>23</slash:comments><wfw:commentRss>http://www.shnenglu.com/wlwlxj/comments/commentRss/142246.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wlwlxj/services/trackbacks/142246.html</trackback:ping><description><![CDATA[  <h1><span>初衷<br></span></h1> <p><span>一直希?/span><span>VC</span><span>开发者能够方便的开发出l腻高品质的用户界面。我喜欢</span><span>C++</span><span>Q选择的^台是</span><span>Windows</span><span>Q所以大部分旉?/span><span>VC</span><span>。我自n不排斥其他技术或者开发语a或者开发工P都去了解Q了解的目的是想吸取好的思想补充</span><span>VC</span><span>开发方面的不。从事界面开发方面的研究?/span><span>5</span><span>q了Q学q很多,试q很多,p|q很多,但是没有气馁。感谢开源,其是谷歌的</span><span>Chrome</span><span>开源,使我再次提高。在论坛和代码网站,都能看到一些界面方面作品,有源码的也有U欣赏的Q大多数一看上去还不错Q本地执行就会发现粗p的地方Q不l腻Q难以商业化使用。M来讲Q国内很隄到好的界面方面的开源框Ӟ优秀公司也以此ؓԌ不断引导界面潮流Q得其他一些公司模仿v来都累得喘气?br></span></p> <p> <br><span>界面开发跟所有其他开发一P都是有技术含量的Q对于真正研I的人来说应该清楚。我在初期也遇到有h问我Q?/span><span>xp</span><span>换肤不是挺好嘛?</span><span>vista</span><span>都出来了Q还需要换肤嘛Q?/span><span>win7</span><span>很漂亮,完全不需要额外的界面开发呀Q我想一直界面代表了一个企业的标识文化Q比?/span><span>qq</span><span>的蓝色以及企鹅,q雷的动态效果窗口和蜂鸟。有兴趣研究没错Q能做好更难得?/span></p> <p><span>互联|客L的特Ҏy灵,界面本n比较l丽Q背后依赖的界面引擎很重要。谷歌們ְ所有的开源姿态,是对微Y的一U挑衅,在互联网斚w我打败了你,在传l桌面上无法打|Q把自己优秀的桌面代码开源出去联合所有h来不断孤立你?/span></p> <p><span>Chrome</span><span>开源牵扯的其他开源达</span><span>30</span><span>多个Q几百个工程Q一般的开发者想要利用其中的部分功能需要花费一些学习时_要有UL大项目的l验。这里我做的是抽取其中?/span><span>view</span><span>部分Q做Z个基本的开发框Ӟ斩断q多的牵q,量利用</span><span>Windows</span><span>q_?/span><span>sdk</span><span>Q希望对渴望学习开发者的或者有能力扩展的公司有用?br><br><br></span></p> <h1><span>背景<br></span></h1> <p><span>界面斚w的研IӞl过了三个阶D:传统</span><span>Win32</span><span>H口?/span><span>Win32</span><span>H口的子cd自绘、无H口界面开?/span><span>(directui)</span><span>。这三个阶段有交集,大致q是按照旉推移不断提高的?/span></p> <p><span>W一阶段Q?/span><span>04-05</span><span>q当时处于研I生实习时期Q在导师公司?/span><span>gis</span><span>q_开发,对于界面要求不高Q但也有一些定制性开发,那个时期基本上就是上</span><span>codeproject</span><span>Q学习常规窗口编E技巧,那些</span><span>api</span><span>能做那些事,会引起什么效果,有那些附带作用,久而久之就知道做一个效果最直接的办法是l合那些</span><span>api</span><span>。当时自l的工作不多Q但是长旉的反复调用控件会让h厌烦Q当时看?/span><span>arcgis</span><span>的^台里面开始用网做一些界面,限于当时的知识,无法获取研究的途径。后来我知道了一个叫</span><span>BCG</span><span>的界面开发库Q从它开始进入了自绘阶段?/span></p> <p><span>W二阶段Q?/span><span>06-07</span><span>q一开始是?/span><span>BCG</span><span>界面库的研究Q说赯件事Q觉得泄露的代码Ҏ国Y件开发水q的提高有很大帮助?/span><span>BCG</span><span>界面库在当时模拟的是</span><span>office2003</span><span>界面风格Q模拟的很像但它的代码自wƈ不是非常清晰Q模块的划分不一目了然。他在当时是把开源的</span><span>CJLib</span><span>打垮了,不过随后又被</span><span>CJLib</span><span>的商业公?/span><span>Codejoke</span><span>q翻Q直x后跟</span><span>VC8</span><span>?/span><span>mfc</span><span>弱弱联合Q仓促间形成一?/span><span>mfcx</span><span>Q就现在来看使用的公司很?/span><span>Codejoke</span><span>?/span><span>xtp</span><span>也是以泄漏的方式才能有机会学刎ͼ他的界面lg划分比较合理Q代码很清晰Q尤其是其中?/span><span>skinframework</span><span>框架Q单独拿出来~译一?/span><span>dll</span><span>卛_实现常规H口的换肤,皮肤格式可以?/span><span>xp</span><span>的兼宏V也是他Q让我彻底放弃常规窗口的子类化自l的工作Q{而是研究他的实现Q因Z已经做到极致。后来我</span><span>08</span><span>q的毕业设计也是以他为基Q题目是软g构造方面的Q各UŞ式的界面插g构造Y件框架。在q个时?/span><span>qq</span><span>已经向无H口发展了,q时候我得到?/span><span>directui</span><span>的概念,开始了无窗口界面方面的研究?/span></p> <p><span>W三阶段Q?/span><span>07-</span><span>现在。最开始是研究</span><span><a >http://www.viksoe.dk/code/windowless1.htm</a></span><span>q个开源,怿很多人都知道也研I过。他抽象了一些无H口的界面元素,译常规H口消息解释q新派发给无窗口元素,引入了一?/span><span>ddraw</span><span>ҎQ当时能接触到这L代码很兴奋,界面初看h很震|其是主界面的动L果。他也有很明昄~点Q不支持</span><span>unicode</span><span>Q?/span><span>pretytext</span><span>的计有问题Q本地窗口跟无窗口的布局混合会遮盖。基于他Q我做出了自qW一个界面框Ӟq应用在公司商业化品中Q可以从q里ƣ赏Q?/span><span><a href="http://www.shnenglu.com/wlwlxj/archive/2007/08/28/31014.html">http://www.shnenglu.com/wlwlxj/archive/2007/08/28/31014.html</a></span><span>。由于他?/span><span>Windows</span><span>的封装和无窗口元素的抽象q不是很强大Q所以想要真正的用它做很强大的界面框架有困难Q后来看</span><span>qq</span><span>、迅L界面Q感觉到之前的界面元素ƈ不通用Q且~少动态的能力Q有一些想法在q个帖中提及Q?/span><span><a >http://hi.baidu.com/wlwel/blog/item/ad08bfc8108ff78dc9176808.html</a></span><span>。我后来惌己可能需要的是网那U动态能力的界面Q对囑Ş囑փ的处理,以及界面的动态布局拖拽Q我惌v手里?/span><span>Win2000</span><span>泄漏代码Q于是乎开始了一件疯狂的事情Q移植其中的</span><span>ie</span><span>部分代码Q只要其中的界面引擎Q带?/span><span>css</span><span>和o镜,支持各种交互事gQ这是我当时的x。历?/span><span>8</span><span>个月Q出来的成果Q?/span><span><a href="http://www.shnenglu.com/wlwlxj/archive/2009/06/28/88695.html">http://www.shnenglu.com/wlwlxj/archive/2009/06/28/88695.html</a></span><span>。这一ơ失败了Q没法商业化应用Q有很多问题Q按钮的焦点?/span><span>1</span><span>像素偏差Q?/span><span>css</span><span>׃那个</span><span>ie</span><span>版本比较低,非常有限且不规范Qo镜由于一个组件创Z成功且无代码没法使用。整理的代码?/span><span>30</span><span>多兆Q代码本w结构不清晰Q砍掉的地方也非常多且很乱,最l我也没有能力去l箋修改。中间有很多ơ的攑ּQ又不服气l,最l走了下来。这一ơ研I对我最大的帮助是在一个巨大的软g代码中,如何扑ֈ自己惌的东西,如何大刀阔斧的砍代码。里面就像大观园Q技术很全,学到的东西太多太多。后来我意识到网||页布局的特点,桌面软g有桌面Y件的特点Q需要的地方互操作即可。接下来Q我又研I了几个?/span><span>comctl32</span><span>部分Q最后发现研I?/span><span>edit button</span><span>需要走?/span><span>ntuser</span><span>部分Q甚x要朝昑֍驱动调用斚w赎ͼ打住了Q当然也有一些成果:</span><span>http://www.cnblogs.com/wlwel/archive/2010/05/10/1732160.html</span><span>Q是一个失败的研究Q但是学C很多东西。有D|间我甚至L的躲避界面开发,直到后来接触?/span><span>Chrome</span><span>览器,看了他的开源?br></span></p> <h1><span><br><br>针对</span><span>Chrome</span><span>开源所做的工作<br></span></h1> <p><span>Chrome</span><span>开源,主要是抽取其中的</span><span>view</span><span>部分代码Q依赖的有他?/span><span>base</span><span>?/span><span>gfx</span><span>?/span><span>skia</span><span>?/span><span>app</span><span>部分Q我?/span><span>base</span><span>分成?/span><span>base</span><span>?/span><span>message_framework</span><span>?/span><span>rfc_algorithm</span><span>Q?/span><span>skia</span><span>?/span><span>gdiplus</span><span>替换合ƈ?/span><span>gfx</span><span>Q?/span><span>app</span><span>划分?/span><span>animation</span><span>?/span><span>view_framework</span><span>Q去?/span><span>linux</span><span>以及</span><span>mac</span><span>q_的支持部分,L了一些不需要的功能比如|页拖拽相关QŞ成了一个最的开发框Ӟq修改了标题栏自l的一?/span><span>bug</span><span>。Base部分起初想用boost替换Q后来发现工作量很大Q还是没敢做。截囑֦下:<br></span></p> <p><img border=0 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_snapshoot.PNG" width=516 height=519></p> <p><span>所有整理代?a href="http://www.shnenglu.com/Files/wlwlxj/library.rar">下蝲</a>?br><br><br></span></p> <h1><span>后箋工作<br></span></h1> <p><span>l箋增加控g、功能、修改现有代码中的一些注释的问题。接受所有的批评和徏议,但不要hw攻凅R希望能看到更多其他人的作品Q现在的开源世界太丰富Q很多东西不是接触不刎ͼ而是肯不肯静下心来研I?/span></p> <p><span>注:工程?/span><span>2005</span><span>的,额外需要的头文?/span><span><vsstyle.h> <vssym32.h></span><span>可以?/span><span>vc2008</span><span>?/span><span>sdk</span><span>中拷贝或者Q意其他地方下载?/span><span>2008</span><span>直接转换卛_~译?/span></p> <img src ="http://www.shnenglu.com/wlwlxj/aggbug/142246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wlwlxj/" target="_blank">万连?/a> 2011-03-20 00:24 <a href="http://www.shnenglu.com/wlwlxj/archive/2011/03/20/142246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>层H口的Skinhttp://www.shnenglu.com/wlwlxj/archive/2009/07/09/89606.html万连?/dc:creator>万连?/author>Thu, 09 Jul 2009 02:54:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2009/07/09/89606.htmlhttp://www.shnenglu.com/wlwlxj/comments/89606.htmlhttp://www.shnenglu.com/wlwlxj/archive/2009/07/09/89606.html#Feedback14http://www.shnenglu.com/wlwlxj/comments/commentRss/89606.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/89606.html
很久没有摆弄H口的skin了,上一ơ做好像q是1?q前Q当时有一些地方处理的不是很好Q但是勉用。由于升U的需要,界面的技术也得动一下略作表C。根据自ql验加上同事的前期技术调研加上后面自q整理Q一个比较满意的Ҏ是出来了,在实现的基础上尽量保证了Windows的基本特性,比如左上角的pȝ菜单、标题栏的系l菜单,模仿了QQ2008的一个特性:H口的按钮不在Q务栏昄Q但可以通过ALT+TABq行H口的访问。Skin的通用型上也做了最大化的兼容,active和unactive状态,12个方位脓图,且ؓȝ口添加的菜单扩展按钮q提供tooltip的支持。当然存在的问题q有待于慢慢发现Q暂时是一个满意的ҎQ当然只包括层H口的SkinQ子H口的将通过其他技术进行解冟뀂题外话Q有些h说xp不是有皮肤吗Q在Vista、Win7上这U技术还有存在的必要嘛?我自q认ؓ是一U界面风g表的可能是一个企业的理念Q可能成Z业的标识之一?br>
界面预览Q?br>



代码

注:VS2008开发,左键双击dH口客户区显CZ界面。代码部分修改后可用,但请不要使用囄资源?

]]>
XindowsW一版本快整理完?/title><link>http://www.shnenglu.com/wlwlxj/archive/2009/06/28/88695.html</link><dc:creator>万连?/dc:creator><author>万连?/author><pubDate>Sun, 28 Jun 2009 07:26:00 GMT</pubDate><guid>http://www.shnenglu.com/wlwlxj/archive/2009/06/28/88695.html</guid><wfw:comment>http://www.shnenglu.com/wlwlxj/comments/88695.html</wfw:comment><comments>http://www.shnenglu.com/wlwlxj/archive/2009/06/28/88695.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/wlwlxj/comments/commentRss/88695.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wlwlxj/services/trackbacks/88695.html</trackback:ping><description><![CDATA[<br><img height=670 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_Xindows_V1.PNG" width=902 border=0><br><br><img height=499 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_activex.PNG" width=640 border=0><br>    实现了很多东西,q有很多东西未实玎ͼM来说应该成功了一步了?支持cM|页的大部分cssQ界面布局QDOM模型、事件?x持o镜、以及activexQ之后还需要做一些扩展?对象接口以及事g现在q没有暴露出去,不知道还需要多久,自己一个h搞得很慢。不q我x慢改善慢慢丰富,q是可以做的不错Q当然慢慢就成了自己的东西了?br><br>    可以<a href="http://www.shnenglu.com/files/wlwlxj/Xindows2.rar">下蝲</a>ƣ赏一下,׃demo写死了一些东西,所以需要放在E盘根目录下面执行?E:\Xindows2 q样子? <img src ="http://www.shnenglu.com/wlwlxj/aggbug/88695.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wlwlxj/" target="_blank">万连?/a> 2009-06-28 15:26 <a href="http://www.shnenglu.com/wlwlxj/archive/2009/06/28/88695.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PerfectPM 版本1.2.2内容http://www.shnenglu.com/wlwlxj/archive/2008/12/19/69785.html万连?/dc:creator>万连?/author>Thu, 18 Dec 2008 17:18:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/12/19/69785.htmlhttp://www.shnenglu.com/wlwlxj/comments/69785.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/12/19/69785.html#Feedback3http://www.shnenglu.com/wlwlxj/comments/commentRss/69785.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/69785.html1、修攚w辑关系昄在顶部时候出现绘刉误bug
2、ؓGantt视图增加了一个自定义l制的好友视图,旉轴与Gantt视图保持一致且视图同步Q用来完成额外的资源视图自绘?br>3、PMGrid增加了excel导出功能
4、PMGrid、PMGantt增加囑Ş导出功能Qbmp jpeg gif tiff pngQ?br>












]]>
PerfectPM 1.2.0卛_发布http://www.shnenglu.com/wlwlxj/archive/2008/10/19/64406.html万连?/dc:creator>万连?/author>Sun, 19 Oct 2008 05:11:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/10/19/64406.htmlhttp://www.shnenglu.com/wlwlxj/comments/64406.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/10/19/64406.html#Feedback4http://www.shnenglu.com/wlwlxj/comments/commentRss/64406.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/64406.html新的版本卛_发布?

新版本功能:
CPMGantt
1、背景自定义l制
2、逻辑关系U的自定义绘?br>3、甘特图的托?br>4、界面的假绘Ӟ实现临时效果Q?br>
CPMGraphicsPathQ?br>1、\径中开始一个新的图形对?br>
CPMDisplay
1、修改FillRectLinearGradientBrush和FillPathLinearGradientBrush中渐变色方向内部错误处理
2、添加了VertFillRectExLinearGradientBrush实现A-B-A色垂直填充效?br>
CPMGrid
1、表头点M件ؓ排序做支?br>
CPMGridColInfo
1、ؓ每个列对象添加了一l属性值ColProperty

CPMDocument
1、修改VB .NET开发环境启动情况下加蝲授权文gp|的问?br>2、实C排序功能

目前开发文档初步完成,做v来很ȝQ慢慢完善改q?br>1.1.0开发文档下?/a>

|站托朋友正在做Q打自׃弄一个技术网站推qѝ?br>
下面是一个自l制实现的XGantt效果图:


生排程应用Q?br>


]]>
甘特囄一版本发布http://www.shnenglu.com/wlwlxj/archive/2008/09/26/62823.html万连?/dc:creator>万连?/author>Fri, 26 Sep 2008 08:25:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/09/26/62823.htmlhttp://www.shnenglu.com/wlwlxj/comments/62823.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/09/26/62823.html#Feedback6http://www.shnenglu.com/wlwlxj/comments/commentRss/62823.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/62823.html
一Ƅ特图中间件?br>
PerfectPM是一套甘特图控g开发包Q控仉用ATL+API开发,支持Windowsq_所有编E语a(包括脚本语言)Q运行在Win2000(包括)以上操作pȝ上。基于该控gQ程序员可以很容易的开发出cMMSProject、P3EC的管理Y件。适合于项目管理、生产管理、大修项目?/p>

开发包目前包括Q?br>1、PMDocument:文档控gQ运行时不可见,主要负责存储数据Q是所有控件的基础?br>2、PMGrid:表格控gQ通过表格方式展示文本信息?br>3、PMGantt:甘特图控Ӟ通过各种囑Ş丰富的展现时间信息?br>4、PMADOAdapter:ADO数据库适配器,通过ADO方式桥接数据库和PMDocumentQ缓存关键信息,加速数据加载和信息查询?/p>

目前版本:1.1.0

CZ分ؓVB6,Delphi7,VS2005 C#,VBS版本,׃旉原因,JS以及C++版本没有?考虑到开发言语的{h?VB.netCZ不开?

q行CZ前请执行bin目录的reg.bat注册控g(其中SplitterATLControl.dll不属于本产品QVB6 demo中用?Q执行unreg.bat可以注销控g?/p>

如果׃找不到数据库发生错误Q请其他目录下的数据库文g拯到本目录?/p>


history:

2008-9-15, 1.0.1β
1.PMGTLT_CUSTOMcd的时间u更改为用戯l制
2.PMDisplay接口增加l制字符丌Ӏ矩形、\径等功能
3.颜色、字体等对象的暴露实现高U绘?br>4.Gantt增加OnPostDrawNodeSprite,提供_l制完毕后的附加囑Ş信息l制事g
5.C#CZ


2008-9-21, 1.1.0 release
1.增加控g授权机制
2.VBS Delphi7CZ完成
3.W一版本正式发布


目前正在~写帮助手册
|站会?0月徏讑֮?br>

// 授权:
//     企业?l定exe,不限制分发数?(免费技术支?q?
//     h:
//   基础控g(PMDocument,PMGrid,PMGantt) 2w RMB
//   扩展控gPMADOAdapter    1w RMB

//     个h?l定exe,控g底部会显C授权信?(无技术支?
//     h:
//   1k


下蝲CZ以及截图



]]>
WebCZ开?/title><link>http://www.shnenglu.com/wlwlxj/archive/2008/09/16/61991.html</link><dc:creator>万连?/dc:creator><author>万连?/author><pubDate>Tue, 16 Sep 2008 09:25:00 GMT</pubDate><guid>http://www.shnenglu.com/wlwlxj/archive/2008/09/16/61991.html</guid><wfw:comment>http://www.shnenglu.com/wlwlxj/comments/61991.html</wfw:comment><comments>http://www.shnenglu.com/wlwlxj/archive/2008/09/16/61991.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wlwlxj/comments/commentRss/61991.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wlwlxj/services/trackbacks/61991.html</trackback:ping><description><![CDATA[<br>VBSW一例,因ؓvb6到vbs的例子{换最单?br><img height=708 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_WebVBS-001.PNG" width=1075 border=0><br> <br><br>l箋转换一些典型示例:<br><img height=708 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_WebVBS-002.PNG" width=1070 border=0><br><br><img height=685 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_WebVBS-003.PNG" width=562 border=0><br><br><img height=486 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_WebVBS-004.PNG" width=549 border=0> <img src ="http://www.shnenglu.com/wlwlxj/aggbug/61991.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wlwlxj/" target="_blank">万连?/a> 2008-09-16 17:25 <a href="http://www.shnenglu.com/wlwlxj/archive/2008/09/16/61991.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>甘特?.0.1β发布 http://www.shnenglu.com/wlwlxj/archive/2008/09/15/61834.html万连?/dc:creator>万连?/author>Sun, 14 Sep 2008 19:52:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/09/15/61834.htmlhttp://www.shnenglu.com/wlwlxj/comments/61834.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/09/15/61834.html#Feedback5http://www.shnenglu.com/wlwlxj/comments/commentRss/61834.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/61834.html很久没有搞到q么晚了Q终于把C#CZ做完Q后面的工作是不熟悉的DelphiCZ以及javascriptCZ?br>
history:
2008-9-15, 1.0.1β
1.PMGTLT_CUSTOMcd的时间u更改为用戯l制
2.PMDisplay接口增加l制字符丌Ӏ矩形、\径等功能
3.颜色、字体等对象的暴露实现高U绘?br>4.Gantt增加OnPostDrawNodeSprite,提供_l制完毕后的附加囑Ş信息l制事g
5.C#CZ

下蝲



 







]]>
C#CZ开?/title><link>http://www.shnenglu.com/wlwlxj/archive/2008/09/13/61737.html</link><dc:creator>万连?/dc:creator><author>万连?/author><pubDate>Sat, 13 Sep 2008 03:22:00 GMT</pubDate><guid>http://www.shnenglu.com/wlwlxj/archive/2008/09/13/61737.html</guid><wfw:comment>http://www.shnenglu.com/wlwlxj/comments/61737.html</wfw:comment><comments>http://www.shnenglu.com/wlwlxj/archive/2008/09/13/61737.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wlwlxj/comments/commentRss/61737.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wlwlxj/services/trackbacks/61737.html</trackback:ping><description><![CDATA[<br>开始制作C#CZQ一切都q顺利,只是接口转换的地方不太熟悉,老是到问题?br><br><img height=504 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_CSharp001.PNG" width=729 border=0> <img src ="http://www.shnenglu.com/wlwlxj/aggbug/61737.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wlwlxj/" target="_blank">万连?/a> 2008-09-13 11:22 <a href="http://www.shnenglu.com/wlwlxj/archive/2008/09/13/61737.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>gantt效果囄?/title><link>http://www.shnenglu.com/wlwlxj/archive/2008/09/11/61637.html</link><dc:creator>万连?/dc:creator><author>万连?/author><pubDate>Thu, 11 Sep 2008 15:54:00 GMT</pubDate><guid>http://www.shnenglu.com/wlwlxj/archive/2008/09/11/61637.html</guid><wfw:comment>http://www.shnenglu.com/wlwlxj/comments/61637.html</wfw:comment><comments>http://www.shnenglu.com/wlwlxj/archive/2008/09/11/61637.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/wlwlxj/comments/commentRss/61637.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wlwlxj/services/trackbacks/61637.html</trackback:ping><description><![CDATA[<br>׃昄lg的暴Ԍ使得控g的图形扩展能力大大加强,用户可以在控件的事g里面很容易的l制自己的业务逻辑。下面是3副简单的效果图:<br><br><img height=565 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_011.PNG" width=703 border=0><br><br><img alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_012.PNG" border=0><br><br><img alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_013.PNG" border=0> <img src ="http://www.shnenglu.com/wlwlxj/aggbug/61637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wlwlxj/" target="_blank">万连?/a> 2008-09-11 23:54 <a href="http://www.shnenglu.com/wlwlxj/archive/2008/09/11/61637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>新功?/title><link>http://www.shnenglu.com/wlwlxj/archive/2008/09/08/61345.html</link><dc:creator>万连?/dc:creator><author>万连?/author><pubDate>Mon, 08 Sep 2008 15:21:00 GMT</pubDate><guid>http://www.shnenglu.com/wlwlxj/archive/2008/09/08/61345.html</guid><wfw:comment>http://www.shnenglu.com/wlwlxj/comments/61345.html</wfw:comment><comments>http://www.shnenglu.com/wlwlxj/archive/2008/09/08/61345.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/wlwlxj/comments/commentRss/61345.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wlwlxj/services/trackbacks/61345.html</trackback:ping><description><![CDATA[<br>d了一些新功能Q主要依靠绘制接口方法的提供Q对Gdiplus装Q?br><br>1、甘特图旉轴完全自l制Q刻度线{)<br><img height=565 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_006.PNG" width=703 border=0><br><br>2、甘特图视图自定义层l制Q数据线{)<br><img height=602 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_007.PNG" width=867 border=0><br><br>3、视图控件垂直滚动条的隐藏(与常用Y仉格差异的一UI补)<br><img height=602 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_008.PNG" width=867 border=0><br><br>4、多BarCZ以及Bar完全自绘Ӟ生排程Q?nbsp;<br><img height=565 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_009.PNG" width=703 border=0> <br><br>5、精늻制完毕事Ӟ可以实现一些辅助信息绘Ӟ<br><img height=565 alt="" src="http://www.shnenglu.com/images/cppblog_com/wlwlxj/8028/o_010.PNG" width=703 border=0> <img src ="http://www.shnenglu.com/wlwlxj/aggbug/61345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wlwlxj/" target="_blank">万连?/a> 2008-09-08 23:21 <a href="http://www.shnenglu.com/wlwlxj/archive/2008/09/08/61345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>甘特?.0.0β发布http://www.shnenglu.com/wlwlxj/archive/2008/09/07/61230.html万连?/dc:creator>万连?/author>Sun, 07 Sep 2008 09:15:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/09/07/61230.htmlhttp://www.shnenglu.com/wlwlxj/comments/61230.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/09/07/61230.html#Feedback16http://www.shnenglu.com/wlwlxj/comments/commentRss/61230.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/61230.htmlPerfect是一套甘特图控g开发包Q控仉用ATL+API开发,支持Windowsq_所有编E语a(包括脚本语言)Q运行在Win2000(包括)以上操作pȝ上。基于该控gQ程序员可以很容易的开发出cMMSProject、P3EC的管理Y件。适合于项目管理、生产管理、大修项目?/p>

开发包目前包括Q?br>1、PMDocument:文档控gQ运行时不可见,主要负责存储数据Q是所有控件的基础?br>2、PMGrid:表格控gQ通过表格方式展示文本信息?br>3、PMGantt:甘特图控Ӟ通过各种囑Ş丰富的展现时间信息?br>4、PMADOAdapter:ADO数据库适配器,通过ADO方式桥接数据库和PMDocumentQ缓存关键信息,加速数据加载和信息查询?/p>

目前版本:1.0.0-βQ有一部分高l制接口暂时没有暴露?/p>

CZ采用VB6开发,更多语言的demo会陆箋开发出来?/p>

q行CZ前请执行bin目录的reg.bat注册控g(其中SplitterATLControl.dll不属于本产品Qdemo中用?Q执行unreg.bat可以注销控g?br>
下蝲











自定义甘特图表头l制(全部自定?Q?br>



]]>
win32常规H口Bridgehttp://www.shnenglu.com/wlwlxj/archive/2008/01/20/41544.html万连?/dc:creator>万连?/author>Sun, 20 Jan 2008 15:09:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/01/20/41544.htmlhttp://www.shnenglu.com/wlwlxj/comments/41544.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/01/20/41544.html#Feedback7http://www.shnenglu.com/wlwlxj/comments/commentRss/41544.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/41544.html通过H口q程替换Q把win32H口U_到布局理当中Q对于ListviewQTreeview、edit之类的界面元素用系l的是非常经实惠也是有效的Ҏ。对于按钮,fade效果已经实现。效果:




计划Q?br>引入MDI
MFC文档l构支持
activex控g的hostq一步完?br>.net控g的host以及通信机制q一步完?br>web控gQ由于用较多)的定制行处理
flash控g的通讯机制
控g的丰?br>windowsq_H口skin的彻底解?br>cMJsonl构的Databind
脚本引擎的支?br>H口Ҏ支持
U程支持
soap支持
设计器(Q?Q?Q?br>
先想到这么多Q有旉做做,不知道何q何月,唉,忙,最q研Ilibjingle头都大,U程Q信Pl来l去?

]]>
Hook模块加入http://www.shnenglu.com/wlwlxj/archive/2008/01/05/40433.html万连?/dc:creator>万连?/author>Fri, 04 Jan 2008 16:43:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/01/05/40433.htmlhttp://www.shnenglu.com/wlwlxj/comments/40433.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/01/05/40433.html#Feedback2http://www.shnenglu.com/wlwlxj/comments/commentRss/40433.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/40433.html化了一天时_把Hook功能集成q来。但是标准对话框其是新版本的OpenFileQ还有一炚w题,有时间再慢慢解决?NETCZ没做ZQ一调试IDE死Q郁h了?br>
囄Q?br>

 



Hook VB


Hook OpenDialog


Hook .NET
 


通过集成Win32H口Q得控件可以大大的丰富Q下面是TreeQ描qC要如下:
<Win32CtlBridge class="SysTreeView32"  name="nettree"/>



]]>
界面库纳入新的窗口风?Vista)http://www.shnenglu.com/wlwlxj/archive/2008/01/04/40376.html万连?/dc:creator>万连?/author>Thu, 03 Jan 2008 16:43:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2008/01/04/40376.htmlhttp://www.shnenglu.com/wlwlxj/comments/40376.htmlhttp://www.shnenglu.com/wlwlxj/archive/2008/01/04/40376.html#Feedback10http://www.shnenglu.com/wlwlxj/comments/commentRss/40376.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/40376.html阅读全文

]]>
GUI作品 ƣ赏http://www.shnenglu.com/wlwlxj/archive/2007/08/28/31014.html万连?/dc:creator>万连?/author>Tue, 28 Aug 2007 05:13:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2007/08/28/31014.htmlhttp://www.shnenglu.com/wlwlxj/comments/31014.htmlhttp://www.shnenglu.com/wlwlxj/archive/2007/08/28/31014.html#Feedback13http://www.shnenglu.com/wlwlxj/comments/commentRss/31014.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/31014.html阅读全文

]]>
Go Onhttp://www.shnenglu.com/wlwlxj/archive/2007/08/10/29690.html万连?/dc:creator>万连?/author>Fri, 10 Aug 2007 06:35:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2007/08/10/29690.htmlhttp://www.shnenglu.com/wlwlxj/comments/29690.htmlhttp://www.shnenglu.com/wlwlxj/archive/2007/08/10/29690.html#Feedback5http://www.shnenglu.com/wlwlxj/comments/commentRss/29690.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/29690.html阅读全文

]]>
可以供把玩的demohttp://www.shnenglu.com/wlwlxj/archive/2007/08/03/29306.html万连?/dc:creator>万连?/author>Fri, 03 Aug 2007 08:52:00 GMThttp://www.shnenglu.com/wlwlxj/archive/2007/08/03/29306.htmlhttp://www.shnenglu.com/wlwlxj/comments/29306.htmlhttp://www.shnenglu.com/wlwlxj/archive/2007/08/03/29306.html#Feedback0http://www.shnenglu.com/wlwlxj/comments/commentRss/29306.htmlhttp://www.shnenglu.com/wlwlxj/services/trackbacks/29306.html提供一个可以供初步把玩的小例子Qskin目录是皮肤文件以及描q、res是程序需要的各种资源、gui是界面描q文?有兴可以尝试一下,属性列表是比较E_的部分ui元素Q控件类׃不完善没有列出)。程序启动main.xmlQ你可以修改此文件?

下蝲

截图Q?br>





 
只要有控件资源,一个丰富得pȝ可以很快搭徏hQ?br>


 






 

工具栏:
 

HeaderPanelQ?br>
 
Host DotNet控gQ?br>





]]>
þùƷHDAV| ũ帾ŮëƬƷþ| þþþþþƷþþþ| þþþƷSmվ| ޾ƷۺϾþ| ɫۺϾþþþۺһ| þþŮһ| Ʒþþþû| ھƷۺϾþþ40p| þ99Ʒþþþþhb| þþþƷSmվ| þþƷһԡ | þþžȫ| 97Ƶþþ| þþþþƷĻ| þˬˬƬAV| þþþƷһ| һɫþ88Ʒۺ| þù| þþþӰԺ| ˾þü91| 97Ʒ˾þþô߽97 | ŮһaëƬþw| 㽶þҹɫƷ| þþ޾Ʒ| ˾þô߽Ʒ| þۺŷ| þþƷ91þ鶹| ŷ츾XXXXԾþþ | 97Ʒ˾þô߽| Ʒþùһ㽶 | AAAþþþƷ| 99þerֻоƷ18| ޾Ʒtvþþþþþþ | 99ƷȾþ | þþƷ| ˾þü91| þֻоƷþ| 99þþƷۺһ| 26uuuþ| þۺϸۺϾþ|