﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-只有有耐心圆满完成简单工作的人，才能够轻而易举地完成困难的事。-随笔分类-UI美学</title><link>http://www.cppblog.com/leetaolion/category/5323.html</link><description>Only those who have the patience to do simple things perfectly ever acquire the skill to do difficult things easily. </description><language>zh-cn</language><lastBuildDate>Wed, 16 Jul 2008 17:01:59 GMT</lastBuildDate><pubDate>Wed, 16 Jul 2008 17:01:59 GMT</pubDate><ttl>60</ttl><item><title>C++ Builder实现可配置界面中遇到的问题【2、问题解决】 </title><link>http://www.cppblog.com/leetaolion/archive/2008/07/16/56303.html</link><dc:creator>创建更好的解决方案</dc:creator><author>创建更好的解决方案</author><pubDate>Wed, 16 Jul 2008 07:19:00 GMT</pubDate><guid>http://www.cppblog.com/leetaolion/archive/2008/07/16/56303.html</guid><wfw:comment>http://www.cppblog.com/leetaolion/comments/56303.html</wfw:comment><comments>http://www.cppblog.com/leetaolion/archive/2008/07/16/56303.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/leetaolion/comments/commentRss/56303.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/leetaolion/services/trackbacks/56303.html</trackback:ping><description><![CDATA[<br>设计变更：类数量不变，因为经过分析，是因为在exe和dll之间传递VCL特有数据类型所致。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原先的二进制部署亦不变。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义数据类型，模仿TMenuItem的形式，里面封装了id, name, caption, hint, shortcut和一个void(*pFun)()的函数指针，该指针指向DLL内部的一个非成员函数，该函数内部调用类成员函数（前提是exe中的DLLManager的LoadDLL方法创建了该类的实例）。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXE的AddMenu接口接受该数据类型的参数，根据其中的资源创建TAction，TAction和pFun一并压入自身容器中，所有Action的OnExecute均指向Main中的一个可以赋值给TNotifyEvent指针的函数。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 添加完毕，EXE执行激活操作（初始化的时候已经根据UI配置文件创建了状态为Idel的菜单）将添加的Action对号入座，激活菜单。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OnClick事件触发TNotifyEvent操作，遍历Exe容器，找到pFun()触发之。<br><br>问题解决！<br><br>下一步：美化界面。
<img src ="http://www.cppblog.com/leetaolion/aggbug/56303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/leetaolion/" target="_blank">创建更好的解决方案</a> 2008-07-16 15:19 <a href="http://www.cppblog.com/leetaolion/archive/2008/07/16/56303.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++ Builder实现可配置界面中遇到的问题【1、问题出现】</title><link>http://www.cppblog.com/leetaolion/archive/2008/07/15/56172.html</link><dc:creator>创建更好的解决方案</dc:creator><author>创建更好的解决方案</author><pubDate>Tue, 15 Jul 2008 04:11:00 GMT</pubDate><guid>http://www.cppblog.com/leetaolion/archive/2008/07/15/56172.html</guid><wfw:comment>http://www.cppblog.com/leetaolion/comments/56172.html</wfw:comment><comments>http://www.cppblog.com/leetaolion/archive/2008/07/15/56172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/leetaolion/comments/commentRss/56172.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/leetaolion/services/trackbacks/56172.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 提供一个可配置的界面，供DLL们来注册菜单、按钮这些界面元素，界面元素所需的资源由DLL提供。DLL们需要外显的方法，绑定到自己注册的界面元素上。&nbsp;&nbsp;<a href='http://www.cppblog.com/leetaolion/archive/2008/07/15/56172.html'>阅读全文</a><img src ="http://www.cppblog.com/leetaolion/aggbug/56172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/leetaolion/" target="_blank">创建更好的解决方案</a> 2008-07-15 12:11 <a href="http://www.cppblog.com/leetaolion/archive/2008/07/15/56172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>始终响应的界面</title><link>http://www.cppblog.com/leetaolion/archive/2007/12/22/39288.html</link><dc:creator>创建更好的解决方案</dc:creator><author>创建更好的解决方案</author><pubDate>Sat, 22 Dec 2007 09:32:00 GMT</pubDate><guid>http://www.cppblog.com/leetaolion/archive/2007/12/22/39288.html</guid><wfw:comment>http://www.cppblog.com/leetaolion/comments/39288.html</wfw:comment><comments>http://www.cppblog.com/leetaolion/archive/2007/12/22/39288.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/leetaolion/comments/commentRss/39288.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/leetaolion/services/trackbacks/39288.html</trackback:ping><description><![CDATA[Application-&gt;ProcessMessages();
<img src ="http://www.cppblog.com/leetaolion/aggbug/39288.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/leetaolion/" target="_blank">创建更好的解决方案</a> 2007-12-22 17:32 <a href="http://www.cppblog.com/leetaolion/archive/2007/12/22/39288.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UI美学</title><link>http://www.cppblog.com/leetaolion/archive/2007/10/09/33850.html</link><dc:creator>创建更好的解决方案</dc:creator><author>创建更好的解决方案</author><pubDate>Tue, 09 Oct 2007 13:29:00 GMT</pubDate><guid>http://www.cppblog.com/leetaolion/archive/2007/10/09/33850.html</guid><wfw:comment>http://www.cppblog.com/leetaolion/comments/33850.html</wfw:comment><comments>http://www.cppblog.com/leetaolion/archive/2007/10/09/33850.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cppblog.com/leetaolion/comments/commentRss/33850.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/leetaolion/services/trackbacks/33850.html</trackback:ping><description><![CDATA[做了几个GUI界面，发现丑死了。<br><br>google一下，还没有这个名词组合。<br><br>那好，就从这里开始吧。
<img src ="http://www.cppblog.com/leetaolion/aggbug/33850.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/leetaolion/" target="_blank">创建更好的解决方案</a> 2007-10-09 21:29 <a href="http://www.cppblog.com/leetaolion/archive/2007/10/09/33850.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>