Delphi의 TstatusBar 컨트롤 향상
unit StatusBarEx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, ComCtrls, DsgnIntf;
type
// About
TAbout = class(TPropertyEditor)
public
procedure Edit; override;
function GetAttributes: TPropertyAttributes; override;
function GetValue: string; override;
end;
// TStatusBarEx
TStatusBarEx = class(TStatusBar)
private
{ Private declarations }
FAbout:TAbout;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
published
{ Published declarations }
property About: TAbout read FAbout;
end;
procedure Register;
implementation
constructor TStatusBarEx.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
{ TStatusBarEx ,
ControlStyle ( ) csAcceptsControls }
ControlStyle:= ControlStyle + [csAcceptsControls];
end;
// TAbout
procedure TAbout.Edit;
begin
Application.MessageBox('TStatusBarEx for Delphi 5'#13#10
+'Written by Simon Liu'#13#10
+'Email:[email protected]',
'About TStatusBarEx',MB_ICONINFORMATION);
end;
function TAbout.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog, paReadOnly];
end;
function TAbout.GetValue: string;
begin
Result := '(Simon)';
end;
procedure Register;
begin
// TStatusBarEx Delphi 5 Win32
RegisterComponents('Win32', [TStatusBarEx]);
// About
RegisterPropertyEditor(typeInfo(TAbout), TStatusBar,
'About', TAbout);
end;
end.
TstatusBarEx 컨트롤을 사용하면 StatusBar에 다른 내용을 쉽게 추가할 수 있습니다.예를 들어 상태 표시줄에 그림을 표시하려면 TstatusBarEx 컨트롤에 Image 컨트롤을 놓으십시오.진도표를 추가하려면 ProgressBar를 추가하면 됩니다!
dsgnintf.pas 유닛이 D6 및 D7에서 찾을 수 없는 해결 방법
1. 검색 경로 추가
C:\Program Files\Borland\Delphi7\Source\ToolsAPI
2. 열기
C:\Program Files\Borland\Delphi7\Source\ToolsAPI\DesignEditors.pas
3. 찾아서
uses
Types, SysUtils, Classes, TypInfo, Variants, DesignIntf, DesignMenus,Proxies;
uses
Types, SysUtils, Classes, TypInfo, Variants, DesignIntf, DesignMenus{,Proxies};
4. 찾아서
if (FAncestor = nil) and (Component <> Designer.Root)
and IsProxyClass(Component.ClassType) then
if (FAncestor = nil) and (Component <> Designer.Root)
{and IsProxyClass(Component.ClassType)} then
5. 찾아서
while IsProxyClass(ComponentClass) do
//while IsProxyClass(ComponentClass) do
6. 저장, 컴파일 실행, OK
위 3, 4, 5.바로 Proxies 단원을 Design Editors 단원에서 제거하는 것이다. Design Editors 단원 중 두 군데만 Proxies 단원의 함수를 인용하고 같은 함수인 IsProxy Class를 주석하면 된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.