如何做一个VCL使之看起来象在设计状态(周围有8个小黑框)?

Jim3 2002-12-20 11:46:55
我想做一个vcl,使它在运行态时看起来象在ide中一样,得到焦点时,周围有8个小黑框,可以改变大小。
我想直接修改c++builder自带的source,比如修改TSpeedButton,我把
(csDesigning in ComponentState)这个判断条件去掉,但没有什么用

各位,有什么建议?

谢谢!
...全文
75 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
penu 2003-02-17
  • 打赏
  • 举报
回复
Libran(梦回吹角连营) :

可以把你在这个贴子里提到的Demo和控件包mail给我吗?谢谢!
我的mail地址:penu@sina.com
Jim3 2002-12-23
  • 打赏
  • 举报
回复
to :bluebird97073(天道酬勤)

你说的八个热点很有道理,我用spy++看了一下设计态的Button,那八个小黑框类名是TGrabHandle,Caption是一个小方框,大小是5*5,可惜我却找不到它的头文件

libran的那个组件做法应该与此类似(猜测)

你能把你的代码发给我,或者贴出来么?

谢谢
bluebird97073 2002-12-23
  • 打赏
  • 举报
回复
to Libran()
代码贴出来哈
Jim3 2002-12-23
  • 打赏
  • 举报
回复
email: jsc3@sohu.com

另外,怎么给分啊?

结帖时出现
 “贴子回复次数大于跟给分次数 ”

怎么办?
Libran 2002-12-23
  • 打赏
  • 举报
回复
to楼主:
ftp给人关了:(
给个邮箱,发给你吧
突击做的,太仓促了,难免有错,帮忙给指正
Jim3 2002-12-23
  • 打赏
  • 举报
回复
谢谢各位,我现在有libran的组件了

本来想多给点分,可加分时总是提示什么100分的上限!
Jim3 2002-12-23
  • 打赏
  • 举报
回复
看了一下头文件,
TPanel *DragBar[8];
TPanel *DragFrame[4];
TPanel *ClientPanel;
不知道八个Panel是不是对应八个点
四个Panel对应四个边?
猜测而已!
请指点,谢谢
Jim3 2002-12-23
  • 打赏
  • 举报
回复
to Libran():
试过了你的那个控件TDesignControl,挺不错的
能讲一下这个控件是怎么做的?大致的原理是什么?

如果有源码那就最好了

bluebird97073 2002-12-23
  • 打赏
  • 举报
回复
我的那个组件独立性很差,和我的其它组件关系密切,对别的不能使用
所以就不贴了

libran的值得学习~
Libran 2002-12-22
  • 打赏
  • 举报
回复
可以试试这个包:
http://61.132.74.87/libran/design.rar
解压后在Packages中加入TDesignControl.bpl,会在组件面板上加一个TDesignControl类
linwancai 2002-12-22
  • 打赏
  • 举报
回复
放8个黑色(或其他颜色,长宽4 X 4 )的Shape,设好鼠标形状,运行时放在最前面,进入那个控件,就跑到那个控件的边上,至于黑边框,哈哈,想想就知道了。
yuanque 2002-12-22
  • 打赏
  • 举报
回复
我恰好做过这个,
还是写个控件比较好,我在网上下载了一个挺好的,现在不知道网址了,
要不给你发过来?
yuanque 2002-12-22
  • 打赏
  • 举报
回复
发现不太长,粘过来算了
yuanque 2002-12-22
  • 打赏
  • 举报
回复
因为你提供的包因为只能用在CB6:)
yuanque 2002-12-22
  • 打赏
  • 举报
回复
Libran() 的东东不错,能不能提供源码???
勉励前行 2002-12-21
  • 打赏
  • 举报
回复
to libran:
寫得真的好,我測試了一下,右鍵拖動時有問題,好象是程序MouseDown和MouseUP中沒有處理右鍵(處理一下就行了)。不過真的寫得很好。
Jim3 2002-12-20
  • 打赏
  • 举报
回复
我是这样想的,VCL本身就有这个功能,只是区分csDesigning和非csDesigning,是否可以设置一个参数,或者稍作修改就可以得到设计态时的效果呢?

还有VCL是如何画边框的,在C++Builder带的Source下有没有这样的代码?


Lewolf 2002-12-20
  • 打赏
  • 举报
回复
自己绘制控件内容,重载paint方法
RomanticProgrammer 2002-12-20
  • 打赏
  • 举报
回复
to libran:
大哥可否把源代码贴出来让我们学习一下..呵呵.
Jim3 2002-12-20
  • 打赏
  • 举报
回复
Libran
你的那个很漂亮,佩服佩服

能把代码给我么?
加载更多回复(16)

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧