碰到一个问题:
比如VEP、VC或者delphi的窗体设计器,我设计一个自定义的按钮,按钮的形状比较复杂,然后放到控件板上。
在设计期间通过拖拉的方式把该控件加到控件版的某个位置,它就能显示运行时期的外观。我不清楚的是:窗体设计器怎么得到你这个控件在运行时期的形状。
分析源代码吗?不可能,因为一般只有编译过的文件
难道在设计期间也可以运行?
比如VEP、VC或者delphi的窗体设计器,我设计一个自定义的按钮,按钮的形状比较复杂,然后放到控件板上。
在设计期间通过拖拉的方式把该控件加到控件版的某个位置,它就能显示运行时期的外观。我不清楚的是:窗体设计器怎么得到你这个控件在运行时期的形状。
分析源代码吗?不可能,因为一般只有编译过的文件
难道在设计期间也可以运行?
所以,我认为不是运行产生的图形界面。而是根据组件的相互关系,内部计算出来的。也可以理解成伪运行。
http://blog.csdn.net/mych/archive/2008/05/23/2474004.aspx
我仔细看过android的layout设计器的源代码,把原本应该在android窗体上显示的窗体显示在了swt窗体上。canvas等UI类都被重新包装过了。
不过android组件不能直接在SWT上显示,需要对组件进行进一步包装,在具体绘制的时候运用适配器模式,把调用转发给AWT的graphics2D对象,整个机制还是很复杂的。
你用vc难道不是点击exe运行的吗?