两个问题,1是IDE方面的问题;另是VCL重新编译(100分)

  • 主题发起人 主题发起人 jobsxy
  • 开始时间 开始时间
J

jobsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
1、我修改了DELPHI自带的某个VCL,其实很简单,就是把其中的英文提示汉化了一番,可我重新编译后,每次我的程序BUILD ALL时,就会等很长时间,好象是把DLEPHI的VCL重新编译一遍,很是烦人,我该怎么办呢?或者说,我修改了某个VCL,应该如何重新编译呢?

2、可能这个问题好多人都会遇到。我装了N个外部控件(组),导致显示控件的PageControl拖得很长,十分的不方便,我能不能通过设置,将DELPHI控件组的PageControl设置为Multiline?

以上问题各50分,谢谢!
 
1.VCL的源码在Source路径下,你把编译后产生的dcu文件都拷到Lib文件夹中试试
2.我给你个组件,安装就行了,我就是使用的这个,你还能分析他的源码,看看人家是怎样写的
 
unit multi;
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.
保存为multi.pas,不要告诉我你不知道怎样安装!一安装上去,效果马上出来!
 
2、要安装个东西的,呵呵,我安装过,后来忘掉了,不能通过简单设置实现的
好像是个控件
代码:
 
谢谢takashiki,不过那个东东有个问题,就是如果我再装了别的控件,又得把这个组件再重装一遍。
 
多人接受答案了。
 
后退
顶部