ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°
ΠΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΡΠΎΡΠΌΠΎΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΡΠΈΠΌΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ-ΠΊΠ»Π°ΡΡΠ°, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
unit ClipboardViewer;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type TForm1 = class(tform)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FNextViewerHandle : THandle;
procedure WMDrawClipboard(var message: TMessage); message WM_DRAWCLIPBOARD;
procedure WMChangeCBCHain(var message: TMessage); message WM_CHANGECBCHAIN;
public
end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
// ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
// ΠΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°
// ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Nil.
FNextViewerHandle:= SetClipboardViewer(Handle);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
// ΠΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΠΏΠΎΡΠΊΠΈ.
ChangeClipboardChain(Handle, FNextViewerHandle);
end;
procedure TForm1.WMDrawClipboard(var message: TMessage);
begin
// ΠΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°
message.Result := SendMessage(WM_DRAWCLIPBOARD, FNextViewerHandle, 0, 0);
end;
procedure TForm1.WMChangeCBCHain(var message: TMessage);
begin
// ΠΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ Π±ΡΡΠ΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π°.
if message.wParam = FNextViewerHandle then begin
// Π£Π΄Π°Π»ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°. ΠΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.
FNextViewerHandle:= message.lParam;
// ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ 0 ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ
message.Result:= 0;
end else begin
// ΠΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΎΠΊΠ½Ρ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅.
message.Result:= SendMessage(FNextViewerHandle, WM_CHANGECBCHAIN, message.wParam, message.lParam);
end;
end;
end.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°
ΠΠ²Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ:
procedure CopyButtonClick(Sender: TObject);
begin
If ActiveControl is TMemo then TMemo(ActiveControl).CopyToClipboard;
If ActiveControl is TDBMemo then TDBMemo(ActiveControl).CopyToClipboard;
If ActiveControl is TEdit then TEdit(ActiveControl).CopyToClipboard;
If ActiveControl is TDBedit then TDBedit(ActiveControl).CopyToClipboard;
end;
procedure PasteButtonClick(Sender: TObject);
begin
If ActiveControl is TMemo then TMemo(ActiveControl).PasteFromClipboard;
If ActiveControl is TDBMemo then TDBMemo(ActiveControl).PasteFromClipboard;
If ActiveControl is TEdit then TEdit(ActiveControl).PasteFromClipboard;
If ActiveControl is TDBedit then TDBedit(ActiveControl).PasteFromClipboard;
end;
Π€ΠΎΡΠΌΠ° ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ
ΠΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡ Π² Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π² Π²ΠΈΠ΄Π΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ?
uses clipbrd;
procedure TShowVRML.Kopieren1Click(Sender: TObject);
var bitmap:tbitmap;
begin
bitmap:=tbitmap.create;
bitmap.width:=clientwidth;
bitmap.height:=clientheight;
try
with bitmap.Canvas do CopyRect (clientrect,canvas,clientrect);
clipboard.assign(bitmap);
finally
bitmap.free;
end;
end;
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
BitBtn
Π‘ΠΌΠ΅Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ BitBtn Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΊΠΎΠ½ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΡΠ΅Π±ΡΡΡΠΈΠΌ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΈ Π·Π°ΠΌΠ΅Π½Π΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΏΠ°ΠΌΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ, Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡΡΡ Π² ΠΊΡΡΡ, Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ Delphi, ΡΡΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ "Assign". ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄ Π²ΡΠ΅ΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π·Π°ΠΌΠ΅Π½Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ.
implementation
{$R *.DFM}
var n: integer; // ΠΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΡΠΌ Π½ΡΠ»Ρ
procedure TForm1.Button1Click(Sender: TObject);
var Image: TBitmap;
begin // ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² bitbtn1
Image:= TBitmap.Create;
if n < ImageList1.Count then ImageList1.GetBitmap(n, Image); {end if}
BitBtn1.Glyph.Assign(Image) // ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Assign
inc(n,2); // Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ!
if n > ImageList1.Count then n:= 0; {end if}
Image.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin // Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ imagelist1
if OpenDialog1.Execute then ImageList1.FileLoad(rtBitMap,OpenDialog1.FileName,clBtnFace);
label1.Caption:= 'ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠΊΠΎΠ½ΠΎΠΊ = ' + IntToStr(ImageList1.Count);
end;
DBGrid
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ MultiSelect Π² DBGRID
ΠΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ Π² Delphi Technical Informationβ¦ ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://loki.borland.com/winbin/bds.exe?getdoc+2976+Delphi
{*
ΠΠ°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ
Π² ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠ΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»Π΅
Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠ΅ΡΠΎΠ΄ DisableControls ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ
DBGrid Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ
TBookmark.
ΠΠ΅ΡΠΎΠ΄ IndexOf Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ IndexOf, Π° Π½Π΅ ΠΌΠ΅ΡΠΎΠ΄
Refresh Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ
ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
*}
procedure TForm1.SelectClick(Sender: TObject);
var
x: word;
TempBookmark: TBookMark;
begin
DBGrid1.Datasource.Dataset.DisableControls;
with DBgrid1.SelectedRows do if Count <> 0 then begin
TempBookmark:= DBGrid1.Datasource.Dataset.GetBookmark;
for x:= 0 to Count - 1 do begin
if IndexOf(Items[x]) > β1 then begin
DBGrid1.Datasource.Dataset.Bookmark:= Items[x];
showmessage(DBGrid1.Datasource.Dataset.Fields[1].AsString);
end;
end;
end;
DBGrid1.Datasource.Dataset.GotoBookmark(TempBookmark);
DBGrid1.Datasource.Dataset.FreeBookmark(TempBookmark);
DBGrid1.Datasource.Dataset.EnableControls;
end;
Edit
ΠΠ°ΡΡΠΈΠ² Edit-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
Procedure DoSomethingWithEditControls;
Var K: Integer;
EditArray: Array[0..99] of Tedit;
begin
Try
For K:= 0 to 99 do begin
EditArray[K]:= TEdit.Create(Self);
EditArray[K].Parent:= Self;
SetSomeOtherPropertiesOfTEdit; {Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° TEdit}
Left:= 100; Top:= K*10;
OnMouseMove:= WhatToDoWhenMouseIsMoved; {Π§ΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΌΡΡΠΈ}
end;
DoWhateverYouWantToDoWithTheseEdits; {ΠΠ΅Π»Π°Π΅ΠΌ Π²ΡΠ΅ ΡΡΠΎ Ρ ΠΎΡΠΈΠΌ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Edit-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²}
Finally
For K:= 0to 99do EditArray[K].Free;
end;
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΡΠ·Π½Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ (ΠΈΠ»ΠΈ) Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Π°ΡΠ΅ΠΉ ΡΠΎΡΠΌΡ (ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ View as Text)
Label
3D-ΡΠ°ΠΌΠΊΠ° Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Ρ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΉ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΎΠΉ (Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΠ°. ΠΠ½ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΊΠΈ. Π― Π½Π΅ ΡΡΠ°Π» ΠΊΠΎΠ»Π΄ΠΎΠ²Π°ΡΡ Π½Π°Π΄ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΡΠΈΠΏΠ° ParentFontβ¦, Ρ.ΠΊ. ΡΡΠΎ Π·Π°Π½ΡΠ»ΠΎ Π±Ρ Π΅ΡΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠ΅ΡΡΠ°).
unit IDSLabel;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TIDSLabel = class(TBevel)
private
{ Private declarations }
FAlignment: TAlignment;
FCaption: String;
FFont: TFont;
FOffset: Byte;
FOnChange: TNotifyEvent;
procedure SetAlignment(taIn : TAlignment);
procedure SetCaption(const strIn: String);
procedure SetFont(fntNew: TFont);
procedure SetOffset(bOffNew: Byte);
protected
{ Protected declarations }
constructor Create(compOwn: TComponent); override;
destructor Destroy; override;
procedure Paint; override;
public
{ Public declarations }
published
{ Published declarations }
property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
property Caption: String read FCaption write SetCaption;
property Font: TFont read FFont write SetFont;
property Offset: Byte read FOffset write SetOffset;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
end;
implementation
constructor TIDSLabel.Create;
begin
inherited Create(compOwn);
FFont:= TFont.Create;
with compOwn as TForm do FFont.Assign(Font);
Offset:= 4;
Height:= 15;
end;
destructor TIDSLabel.Destroy;
begin
FFont.Free;
inherited Destroy;