Ĺadny brzuch
Szukałem i znalazłem jak dodać właśną ikonę do komponentu który jeszcze jest nie zainstalowany: Klik
noi według mnie zrobiłem wszystko co pisało w "Ikona dla komponentu", a jednak mi wyskakują błędy:
[Warning] MigChecked.pas(21): Method 'SetChecked' hides virtual method of base type 'TCustomCheckBox' [Hint] MigChecked.pas(14): Private symbol 'FStan' declared but never used [Error] WARNING. Duplicate resource(s): [Error] Type 2 (BITMAP), ID MIGCHECKED: [Error] File D:\Program Files\Borland\Delphi7\Lib\MigChecked.dcr resource kept; file D:\Program Files\Borland\Delphi7\Lib\MigChecked.dcr resource discarded.
Zainstalować komponent nie próbójąc doinstalowywać bitmapy 24x24 to mogę ale jak zrobię tam co pisze to już takie coś się pojawia...
1. Czy ktoś by mógł napisać bardziej szczegółowo (krok po kroku) jak dodać ikonę
2. Jeśli nie to czy ktoś by mógł wyjaśnić jak naprawić te błędy?
ps. bardziej mi zależy na tym pierwszym punkcie
blad wystepuje bo odwolanie do pliku zasobow jest w dwoch miejscach (prawdopodbnie w pliku pas oraz dpk). Usun z jednego z nich (lepiej z pas) i powinno dzialac.
do pliku zasobów? :blink:
Które to?:
unit MigChecked; interface {$R MigChecked.dcr} uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TMigCheckBox = class(TCustomCheckBox) private FStan : Boolean; FPredkosc : Integer; FChecked : boolean; Timer : TTimer; protected procedure SetPredkosc(APredkosc : Integer); procedure SetChecked(AChecked : boolean); procedure OnTimer(Sender : TObject); virtual; public constructor Create(AOwner : TComponent); override; published property Predkosc : Integer read FPredkosc write SetPredkosc default 800; property Alignment; property AllowGrayed; property Caption; property Checked read FChecked write SetChecked default false; property Color; property DragCursor; property Enabled; property Font; property Height; property ParentColor; property ParentFont; property ParentShowHint; property PopupMenu; property ShowHint; property State; property TabOrder; property TabStop; property Tag; property Top; property Visible; property Width; property onclick; property ondblclick; property ondragdrop; property ondragOver; property onendDrag; property onmousedown; property onmousemove; property onmouseup; property onstartDrag; end; procedure Register; implementation var tryb : boolean; constructor TMigCheckBox.Create(AOwner : TComponent); begin inherited; tryb := true; checked := true; FPredkosc := 800; Timer := TTimer.Create(Self); Timer.Interval := FPredkosc; Timer.OnTimer := OnTimer; Timer.Enabled := true; end; procedure TMigCheckBox.SetPredkosc(APredkosc : Integer); begin FPredkosc := APredkosc; Timer.Interval := APredkosc; end; procedure TMigCheckBox.SetChecked(AChecked : boolean); begin FChecked := AChecked; if FChecked = true then state := cbChecked; if FChecked = false then state := cbUnchecked; tryb := checked; end; procedure TMigCheckBox.OnTimer(Sender : TObject); begin if csDesigning in ComponentState then begin Timer.Enabled := False; Exit; end; if tryb = true then begin if state = cbChecked then state := cbUnchecked else begin state := cbChecked; end; end; end; procedure Register; begin RegisterComponents('Dodatki', [TMigCheckBox]); end; end.
co z tąd mam usunąć?
Jeśli chodzi ci o to:
{$R MigChecked.dcr} to jak to usunę to znowu będę miał standardową ikonkę komponentu
Użytkownik tulio edytował ten post 05 czerwiec 2005, 17:42
{$R MigChecked.dcr} to jak to usunę to znowu będę miał standardową ikonkę komponentu
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
noi według mnie zrobiłem wszystko co pisało w "Ikona dla komponentu", a jednak mi wyskakują błędy:
[Warning] MigChecked.pas(21): Method 'SetChecked' hides virtual method of base type 'TCustomCheckBox' [Hint] MigChecked.pas(14): Private symbol 'FStan' declared but never used [Error] WARNING. Duplicate resource(s): [Error] Type 2 (BITMAP), ID MIGCHECKED: [Error] File D:\Program Files\Borland\Delphi7\Lib\MigChecked.dcr resource kept; file D:\Program Files\Borland\Delphi7\Lib\MigChecked.dcr resource discarded.
Zainstalować komponent nie próbójąc doinstalowywać bitmapy 24x24 to mogę ale jak zrobię tam co pisze to już takie coś się pojawia...
1. Czy ktoś by mógł napisać bardziej szczegółowo (krok po kroku) jak dodać ikonę
2. Jeśli nie to czy ktoś by mógł wyjaśnić jak naprawić te błędy?
ps. bardziej mi zależy na tym pierwszym punkcie
blad wystepuje bo odwolanie do pliku zasobow jest w dwoch miejscach (prawdopodbnie w pliku pas oraz dpk). Usun z jednego z nich (lepiej z pas) i powinno dzialac.
do pliku zasobów? :blink:
Które to?:
unit MigChecked; interface {$R MigChecked.dcr} uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TMigCheckBox = class(TCustomCheckBox) private FStan : Boolean; FPredkosc : Integer; FChecked : boolean; Timer : TTimer; protected procedure SetPredkosc(APredkosc : Integer); procedure SetChecked(AChecked : boolean); procedure OnTimer(Sender : TObject); virtual; public constructor Create(AOwner : TComponent); override; published property Predkosc : Integer read FPredkosc write SetPredkosc default 800; property Alignment; property AllowGrayed; property Caption; property Checked read FChecked write SetChecked default false; property Color; property DragCursor; property Enabled; property Font; property Height; property ParentColor; property ParentFont; property ParentShowHint; property PopupMenu; property ShowHint; property State; property TabOrder; property TabStop; property Tag; property Top; property Visible; property Width; property onclick; property ondblclick; property ondragdrop; property ondragOver; property onendDrag; property onmousedown; property onmousemove; property onmouseup; property onstartDrag; end; procedure Register; implementation var tryb : boolean; constructor TMigCheckBox.Create(AOwner : TComponent); begin inherited; tryb := true; checked := true; FPredkosc := 800; Timer := TTimer.Create(Self); Timer.Interval := FPredkosc; Timer.OnTimer := OnTimer; Timer.Enabled := true; end; procedure TMigCheckBox.SetPredkosc(APredkosc : Integer); begin FPredkosc := APredkosc; Timer.Interval := APredkosc; end; procedure TMigCheckBox.SetChecked(AChecked : boolean); begin FChecked := AChecked; if FChecked = true then state := cbChecked; if FChecked = false then state := cbUnchecked; tryb := checked; end; procedure TMigCheckBox.OnTimer(Sender : TObject); begin if csDesigning in ComponentState then begin Timer.Enabled := False; Exit; end; if tryb = true then begin if state = cbChecked then state := cbUnchecked else begin state := cbChecked; end; end; end; procedure Register; begin RegisterComponents('Dodatki', [TMigCheckBox]); end; end.
co z tąd mam usunąć?
Jeśli chodzi ci o to:
{$R MigChecked.dcr} to jak to usunę to znowu będę miał standardową ikonkę komponentu
Użytkownik tulio edytował ten post 05 czerwiec 2005, 17:42
{$R MigChecked.dcr} to jak to usunę to znowu będę miał standardową ikonkę komponentu
