Programowanie w języku Delphi » Artykuły

Instalacja komponentów

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 Zalążków artykułów. Jeżeli możesz rozbuduj go!



3 komentarze

adam993 2008-10-06 17:15

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

Goric 2007-06-19 16:29

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.

TurboXT 2006-07-27 18:41

A jak instalować komponenty w Delphi 7?