Instalacja komponentów

Adam Boduch

Ostatnio dostałem list, z pytaniem dotyczącym komponentów. Rzecz była następująca. Chodziło o Image i o to, aby po wejściu kursora w obszar komponentu zmienił się obrazek, a po wyjściu powrócił do poprzedniego stanu. Ten list zmobilizował mnie do napisania tego artykułu. Tematem niniejszego artykułu będzie pisanie prostego komponentu, który obsługiwałby funkcje wchodzenia i wychodzenia kursora w obszar komponentu. Następnie opiszę jak taki komponent dodać do palety komponentów, aby można było z niego korzystać w każdej chwili.

Najpierw opiszę jak takowy komponent zainstalować, a dopiero później przedstawię jego kod źródłowy.

Delphi 2

Tu sprawa jest bardzo prosta. Wybierasz menu "Component", "Install". Naciskasz przycisk "Add" i lokalizujesz plik *.pas rozpakowanego komponentu. Następnie naciskasz "OK" i komponent powinien się znaleźć na palecie komponentów "Samples".

Delphi 4, 5

Instalowanie komponentu w Delphi 5 też nie jest trudne. Wybierz: "Component", "Install Component". W polu "Unit file name" wpisz ścieżkę gdzie masz zainstalowany komponent. W polu "Package file name" powinna się znaleźć nazwa: "DCLUSR50.DPK". Jeżeli tak nie jest zlokalizuj go ( naciśnij "Browse") - powinien się znaleźć w katalogu Delphi4Lib

Delphi 7 i prawdopodobnie 6

Tak samo jak w 4 i 5 tylko że nazwa paczki to dclusr.dpk.

To wszystko na temat instalacji komponentów. Być może już niedługo w tym dziale znajdzie się artykuł o pisaniu komponentów? A oto kod tego komponentu:

unit TMyImage;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;

type
  TMImage = class(TImage)

protected
  Over, Out : TNotifyEvent;
//Komunikat, ktory obsluguje wejscie i wyjscie myszy
procedure MouseEnter(var Message:TMessage);message cm_MouseEnter;
procedure MouseLeave(var Message:TMessage);message cm_MouseLeave;

published
//W tej sekcji sa procedure, ktore widoczne bda w inspektorze
//obiektow ( Object Inspektor )
  property OnMouseEnter: TNotifyEvent read Over write Over;
  property OnMouseLeave: TNotifyEvent read Out write Out;

end;

procedure Register;

implementation

procedure TMImage.MouseEnter(var Message:TMessage);
begin
(* Jezeli kursor jest na przycisku wykonywana zostaje
procedura OnMouseEnter *)
  if Assigned(Over) then OnMouseEnter(Self);
  Message.Result:=1;
end;

procedure TMImage.MouseLeave(var Message:TMessage);
begin
(* Tak j/w *)
  if Assigned(Out)then OnMouseLeave(Self);
  Message.Result:=1;
end;


procedure Register;
begin //Rejestrowanie komponentu
  RegisterComponents('Samples', [TMImage]);
end;

end.
Artykuł został umieszczony na liście [[Zalazki artykulow|Zalążków artykułów]]. Jeżeli możesz rozbuduj go!

3 komentarzy

Stwórz nową paczkę, dodaj do niej pliki PAS, prawym i Install!

Tak jak w 4 i 5 tylko ze plik to nie dclusr50.dpk tylko dclusr70.dpk albo dclusr.dpk. Zresztą dodam to do artykułu jako moje pięć groszy dla strony.

A jak instalować komponenty w Delphi 7?