在運行中要象在設計時那樣﹐用鼠標選中﹐拉動四周八個點改變尺寸﹐拖動控件改變位置(100分)

  • 主题发起人 主题发起人 zhuchen
  • 开始时间 开始时间
Z

zhuchen

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手﹕
當動態生成控件后﹐如果使其成為在運行中可以設計﹐也就是能改變尺寸﹑位置﹐為什么在使用SetDesigning方法將ComponentState屬性設置為csDesigning后﹐仍不在運行中可以改變尺寸﹑位置﹒請問該如何處理(我所說的改變位置和尺寸要象在設計時那樣﹐用鼠標選中﹐拉動四周八個點改變尺寸﹐拖動控件改變位置)﹒
謝謝
 
这个部分最好自己写啦。
 
试试这个回答中的网友liuly的示例(我没试过,你自己试吧):
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=202274
 
呵呵,《Delphi高级开发指南》一书上有详细说明及程序!
 
to liuly
您知道哪儿有《Delphi高级开发指南》书或电子版?
 
ftp: tracy.bupt.edu.cn
mirror/programming/delphi/
 
有一个未公开消息
定义消息=F012
用SendMessage发出
以后就看你的了
 
http://red.east.net.cn/~develop/booksr/delphi/DDHCODE.exe
 
$F012只能改变位置吧
const SC_DRAGMOVE = $FO12;
// XXX为要移动位置的控件
XXX.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0);
实际上你所要求的控件我的一个同事已经写出来了好久了,我待会儿找找看
 
我看过我同事的控件了,它是一个容器,设置它的一个属性后,可使放在它里面的所有
控件都可以拖放,改变大小.
 
to xwolf
请您再说详细些
 
这个OPUBF知道
他作了一个控件叫DesignButton ,可以实现你要求的功能
如需要的话
mail to wrench@263.net
找我要
 
Delphi高级开发指南
 
我以前做报表程序时,也有此需求。当时我参考了著名的ReportBuilder。他是这样做的:定义一个Panel类容器,定义在该容器上的控件基类。移动,Sizing,Select
等操作都写在这些类里了。
有一个韩国人用Delphi写了一个Delphi,你也可以看看他的实现。
ComponentState的属性csDesign是用来区分状态的,不是进入某中状态。
 
WM_NCTESTHIT 好象是这个消息,可以在运行时控制鼠标的动作,
干什么都可以,估计也不是特别容易。
 
还是自己对基本的控件进行派生
重构绘图的部分
如前述
自定义一个容器
是所有控件的父类
 
To Jinghui:
韩国人用Delphi写的Delphi在那里可以下载?
多谢!
 
To fei_l:
我的Mail有问题了,所以一直没回答。Delphi by delphi
可以在<a href="http://www.csdn.net/Delphi/tools/other/handle.zip">程序员大本营</a>下载。
to zhucheng:
大富翁控件库有一个控件(好象是第5页)Ctrldsgn正好满足你的要求。
http://www.gislab.ecnu.edu.cn/componentlib
 
在深度历险有好几个这样的控件。
 
时间太久,强制结束。 wjiachun
 
后退
顶部