读书人

Delphi Component Palette 多行展示

发布时间: 2012-08-14 10:39:57 作者: rapoo

Delphi Component Palette 多行显示

1: 新建一个单元文件,复制如下代码,并保存名称为:MultiLinePaletteExpert.pas

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 + 29;
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.

?

2:打开Delphi 7,新建一个Package,Add刚刚保存的MultiLinePaletteExpert.pas文件,编译、安装。想卸载该Package,在Delphi菜单项选择Component/Install Pacgage,找到我们的bpl,remove它就可以了,简单吧!

3:最后打开你的Delphi7 ,Component Palette 是不是变多行了?

读书人网 >.NET

热点推荐