怎么让DELPHI6的控件分页板重叠一下。。。老问题了。。?(100分)

  • 主题发起人 主题发起人 蓝叶菱
  • 开始时间 开始时间

蓝叶菱

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用DELPHI6找控件比较费劲,,希望控件面板能够上下重叠。。。
都能看见所有的分页板。。
 
下载安装CNPack专家包,就有这个功能了
 
CNPack专家包可不行,D2006可以!
 
A.Delphi自代了大量的常用控件,如Delphi5就有一百多了,而今年出的Delphi6更是Delphi5的1.5倍。这么多控件,就是在1024*768的分辨率下也无法全部显示他们的组件面板,而每次要按那两颗小按钮来显示更多的面板,真是非常不方便!但通过添加下面那一个注册表键值就能实现组件面板自动展开:
[HKEY_CURRENT_USER/Software/Borland/Delphi/X.0/Extras]
"AutoPaletteSelect"="1"
(注:X.0表示你的Delphi的版本号;如果没有Extras主键则新建即可,下同)
 
上下重叠不是自动展开,
weiliu找找。。。我记得不改什么值了。。。
 
Delphi6 的多行Component Palette实现  

  不久前,Borland公司出品的最新的Delphi 6,我也下载了一个Delphi 6练练手,虽然有很多令人兴奋的改进(比如XML和网络Indy控件就是经典),但最为让人恼火的是Delphi的VCL控件体系不是很兼容,我以前在Delphi 5里面用的习惯的一些插件(Experts)和控件大部分无法正确安装,这是一个让人恼火的事情,尤其对于一个喜欢在Delphi里面安装一些第三方产品的人,比如大名鼎鼎的GExperts (http://www.gexperts.org/)。
  GExperts是一个免费的Delphi增强工具,有相当多的功能,其中之一就是Component Palette - 控件面板的多行显示,好像下图显示的那样。我是一个爱玩新鲜的人,或者说我不是很安分,我的Delphi会安装相当多的第三方控件,有时候找起来就很费时间,像下图这样显示多行控件面板,找起来就比较方便。有很多插件提供了如下的多行显示控件面板功能,比如BUPack、CodeRush等等。这些著名的产品都包含有这样的功能,可惜的是现在都没有Delphi 6的版本,我们怎么自己实现该功能呢?
..............................
唉,不知道行不行。。。。
 
打电话到宝兰问问[:D][:D]
 
把这个控件装上就可以了

unit MultiLinePaletteExpert;

interface

uses
Forms, Controls, ComCtrls;

implementation

type
TMultiLinePalette = class
public
procedure ResizeComponentPalette(Sender : TObject);
end;

var
MultiLinePalette : TMultiLinePalette;

procedure TMultiLinePalette.ResizeComponentPalette(Sender : TObject);
var
AHeight : integer;
begin
with (Sender as TTabControl) do
begin
AHeight := Height + DisplayRect.Top - DisplayRect.Bottom + 30;
Constraints.MinHeight := AHeight;
Parent.Constraints.MaxHeight := AHeight;
end;
end; {ResizeMultiLineComponentPalette}

procedure SetMultiLineComponentPalette(MultiLine : boolean);
var
AppBuilder : TForm;
TabControl : TTabControl;
begin
AppBuilder := TForm(Application.FindComponent('AppBuilder'));
if (AppBuilder <> nil) then
begin
TabControl := TTabControl(AppBuilder.FindComponent('TabControl'));
if (TabControl <> nil) then
begin
TabControl.MultiLine := MultiLine;
if MultiLine then
TabControl.OnResize := MultiLinePalette.ResizeComponentPalette
else
TabControl.OnResize := nil;
end;
end;
end; {SetMultiLineComponentPalette}

initialization
MultiLinePalette := TMultiLinePalette.Create;
SetMultiLineComponentPalette(True);
finalization
SetMultiLineComponentPalette(False);
MultiLinePalette.Free;

end.
 
京酱肉丝,这个我也有,,
但是没有试过..
 
同意楼上,我用cnpack,控件面板右键可选择 多行方式 即是楼主要的功能了。
 
支持国货,就用cnpack的cnWizards,挺好用的。还有其它很多辅助功能。
 
找个coderush,真的很爽,没有它我都不想写程序了!
 
好象要改 一下注册表,我记不清 了,抛砖引玉吧
 
搬个板凳 听课,
 
这段代码可以,我都用了好多年了,也很稳定,不错的。
 
多人接受答案了。
 
后退
顶部