Овальная кнопка с пиктограммой. Штатный светодиод для примера отрисовки без антиальясинга
скачать
EllipseButton
Сообщений 1 страница 9 из 9
Поделиться12021-02-27 04:23:34
Поделиться22021-11-07 21:56:48
Полезный компонент, спасибо, но не хватает ему чего-то: Fatal: File not found: 'VCLType.dcu'
Погуглил этот файл безуспешно..
Отредактировано Aziz (2021-11-07 21:57:30)
Поделиться32021-11-08 05:48:08
Aziz
Упс, простите, это мой модуль который я использую в начальной стадии для облегчения портирования с VCL.
Почему только ты первый заметил его отсутствие
unit VCLType;
interface
uses
Kol, Windows;
type
TBitmap = Kol.PBitmap;
TCanvas = Kol.PCanvas;
TFont = Kol.PGraphicTool;
TPen = Kol.PGraphicTool;
TBrush = Kol.PGraphicTool;
TStringList = Kol.PStrListEx;
TStrings = Kol.PStrListEx;
TList = Kol.PListEx;
TImageList = Kol.PImageList;
TTimer = Kol.PTimer;
TStream = Kol.PStream;
TIcon = Kol.TIcon;
TNotifyEvent = Kol.TOnEvent;
const
IntToStr: function (Value: Integer): string = Kol.Int2Str;
StrToInt: function (const Value: String): Integer = Kol.Str2Int;
ColorToRGB: function(Color: TColor): TColor = Kol.Color2RGB;
Point: function(X,Y: Integer): TPoint = Kol.MakePoint;
Rect: function(Left,Top,Right,Bottom: Integer): TRect; stdcall = Kol.MakeRect;
IntToHex: function (Value: DWord; Digits: Integer): string = Kol.Int2Hex;
LowerCase: function (const S: string): string = Kol.LowerCase;
UpperCase: function (const S: string): string = Kol.UpperCase;
Trim: function(const S : string): string = Kol.Trim;
function StrToIntDef(const S: string; Default: Integer): Integer;
function Bounds(ALeft, ATop, AWidth, AHeight: Integer): TRect;
function Min(const A, B: Int64): Int64; overload;
function Min(const A, B: Single): Single; overload;
function Min(const A, B: Double): Double; overload;
function Min(const A, B: Extended): Extended; overload;
function Max(const A, B: Int64): Int64; overload;
function Max(const A, B: Single): Single; overload;
function Max(const A, B: Double): Double; overload;
function Max(const A, B: Extended): Extended; overload;
implementation
function StrToIntDef(const S: string; Default: Integer): Integer;
var
E: Integer;
begin
Val(S, Result, E);
if E <> 0 then Result := Default;
end;
function Bounds(ALeft, ATop, AWidth, AHeight: Integer): TRect;
begin
with Result do
begin
Left := ALeft;
Top := ATop;
Right := ALeft + AWidth;
Bottom := ATop + AHeight;
end;
end;
function Min(const A, B: Int64): Int64;
begin
if A < B then
Result := A
else
Result := B;
end;
function Min(const A, B: Single): Single;
begin
if A < B then
Result := A
else
Result := B;
end;
function Min(const A, B: Double): Double;
begin
if A < B then
Result := A
else
Result := B;
end;
function Min(const A, B: Extended): Extended;
begin
if A < B then
Result := A
else
Result := B;
end;
function Max(const A, B: Int64): Int64;
begin
if A > B then
Result := A
else
Result := B;
end;
function Max(const A, B: Single): Single;
begin
if A > B then
Result := A
else
Result := B;
end;
function Max(const A, B: Double): Double;
begin
if A > B then
Result := A
else
Result := B;
end;
function Max(const A, B: Extended): Extended;
begin
if A > B then
Result := A
else
Result := B;
end;
initialization
finalization
end.
Поделиться42021-11-08 13:26:55
andrestudio, просто я практик) Спасибо большо, кнопка на пустой форме заработала, только при компиляции вашего примера вот такую ошибку еще выдает:
hiChildForm_5BBCAA0.pas(254) Error: Undeclared identifier: '_prop_Data'
Видимо у вас нестандартный ChildForm ?
Aziz
добавь в паблик секцию _prop_Data: TData; Это же бета версия там даже события нет на onClick
Поделиться52021-11-08 13:39:19
опс
Отредактировано Aziz (2021-11-08 13:50:41)
Поделиться62021-11-08 14:03:00
Нет я видать изначально не тот pas залил сейчас сиё выглядит так
Извини нечаянно твоё сообщение зацепил
Поделиться72021-11-09 21:57:42
andrestudio
благодарю, попробую..
Поделиться82022-01-04 12:14:10
Было бы не плохо, если бы в архиве была исправленная версия
У меня тоже ошибка C:\Program Files (x86)\Hiasm_Alt\Elements\delphi\code\hiEllipseButton.pas(6) Fatal: File not found: 'VCLType.dcu
Плюс не могу найти на какой вкладке элементов эти кнопки?
Поделиться92022-01-21 12:25:25
Leon, andrestudio уже выложил VCLType.dcu прям здесь (он забыл использовать блок кода так что выглядит оно как куча текста), вот что нужно сделать чтобы сохранить:
Скопируй вот это (можешь из сообщения сверху брать или от сюда):
unit VCLType; interface uses Kol, Windows; type TBitmap = Kol.PBitmap; TCanvas = Kol.PCanvas; TFont = Kol.PGraphicTool; TPen = Kol.PGraphicTool; TBrush = Kol.PGraphicTool; TStringList = Kol.PStrListEx; TStrings = Kol.PStrListEx; TList = Kol.PListEx; TImageList = Kol.PImageList; TTimer = Kol.PTimer; TStream = Kol.PStream; TIcon = Kol.TIcon; TNotifyEvent = Kol.TOnEvent; const IntToStr: function (Value: Integer): string = Kol.Int2Str; StrToInt: function (const Value: String): Integer = Kol.Str2Int; ColorToRGB: function(Color: TColor): TColor = Kol.Color2RGB; Point: function(X,Y: Integer): TPoint = Kol.MakePoint; Rect: function(Left,Top,Right,Bottom: Integer): TRect; stdcall = Kol.MakeRect; IntToHex: function (Value: DWord; Digits: Integer): string = Kol.Int2Hex; LowerCase: function (const S: string): string = Kol.LowerCase; UpperCase: function (const S: string): string = Kol.UpperCase; Trim: function(const S : string): string = Kol.Trim; function StrToIntDef(const S: string; Default: Integer): Integer; function Bounds(ALeft, ATop, AWidth, AHeight: Integer): TRect; function Min(const A, B: Int64): Int64; overload; function Min(const A, B: Single): Single; overload; function Min(const A, B: Double): Double; overload; function Min(const A, B: Extended): Extended; overload; function Max(const A, B: Int64): Int64; overload; function Max(const A, B: Single): Single; overload; function Max(const A, B: Double): Double; overload; function Max(const A, B: Extended): Extended; overload; implementation function StrToIntDef(const S: string; Default: Integer): Integer; var E: Integer; begin Val(S, Result, E); if E <> 0 then Result := Default; end; function Bounds(ALeft, ATop, AWidth, AHeight: Integer): TRect; begin with Result do begin Left := ALeft; Top := ATop; Right := ALeft + AWidth; Bottom := ATop + AHeight; end; end; function Min(const A, B: Int64): Int64; begin if A < B then Result := A else Result := B; end; function Min(const A, B: Single): Single; begin if A < B then Result := A else Result := B; end; function Min(const A, B: Double): Double; begin if A < B then Result := A else Result := B; end; function Min(const A, B: Extended): Extended; begin if A < B then Result := A else Result := B; end; function Max(const A, B: Int64): Int64; begin if A > B then Result := A else Result := B; end; function Max(const A, B: Single): Single; begin if A > B then Result := A else Result := B; end; function Max(const A, B: Double): Double; begin if A > B then Result := A else Result := B; end; function Max(const A, B: Extended): Extended; begin if A > B then Result := A else Result := B; end; initialization finalization end.
и вставь в Блокнот
Потом сохрани его как "(путь к хайасму)\Elements\Delphi\code\VCLType.pas" (без ковычек)