DelphiX



Wykorzystywanie DelphiX z poziomu Delphi wcale nie jest takie trudne na jakie wygląda. Na samym początku zmieńmy nazwę Formy na MainForm. Walnijmy też komponent DXDraw. Zmieńmy jego nazwę na DXD, Align na alClient, AutoInitialize na False, a w Options > FullScreen na True. Powróćmy jeszcze do konfiguracji Formy. Zmień właściwość Border Style na bsNone. Aby nie mieć problemów przy tworzniu programów z wykorzystaniem DelphiX należy dodać do listy modułów DXClass i zamienić:
TMainForm = class(TForm) na TMainForm = class(TDXForm). Jest to zalecane, gdyż jak podaje autor pakietu bez tego mogą występować różne, dziwne błędy.

Żeby nic Ci nie motać w główce to zrobimy sobie prosty programik który wyświetlać będzie zielony text. W zdarzeniu OnCreate Formy umieść taką oto procedure:

procedure TMainForm.FormCreate(Sender: TObject);
begin
  DXD.Initialize; //inicjujemy DXD
  if not DXD.CanDraw then Close; //jeżeli nie można rysować to Close
  with DXD.Surface.Canvas do
    begin
      //zmieniamy styl czcionki
      Brush.Style := bsClear; 
      Font.Color := clGreen;
      Font.Size := 15;
      //piszemy text w punkcie X, Y
      TextOut(10,10,'Jakiś text..');
    end;
  //wyświetlamy Surface na ekranie
  DXD.Surface.Canvas.Release;
  DXD.Flip;
end;

Po skompilowaniu i uruchomieniu na ekranie w lewym górnym rogu będzie wyświetlony Jakiś text.. Pewnie sobie teraz myślicie "Co ty mi tu facet farmazony trujesz.. To przecie były podstawy podstaw". Dobra wedle waszego życzenia zabieramy się za coś fajniejszego :) Następnym programem jaki stworzymy będzie program do rysowania. No nie całkiem do rysowania tzn. za cursorem będzie rysowana linia.
Ustawiamy wszystkie parametry tak jak w poprzednim programie. Dobra, teraz procedure OnCreate formularza uzupełnij następująco:

procedure TMainForm.FormCreate(Sender: TObject);
begin
  DXD.Initialize; //inicjujemy DXD
  if not DXD.CanDraw then //jeżeli nie możemy rysować to...
    begin //wyświetl komunikat..
      MessageBox(Handle,'Wystąpił Błąd !','Błąd',mb_IconWarning);
      //i zamknij program
      Close;
    end;
end;

Ta procedra powinna być jasna jak słoneczko :) Jedziemy dalej... Teraz stwórzmy zdarzenie OnMouseMove dla DXDraw'a (DXD). Procedura ma wyglądać tak:


procedure TMainForm.DXDMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  with DXD.Surface.Canvas do
    begin
      Pen.Color := clRed; //ustawiamy kolor pióra
      Pen.Width := 3;     //szerokość
      LineTo(X, Y);       //rysujemy linie
    end;
  //wypuszczamy Surface na Ekran
  DXD.Surface.Canvas.Release;
  DXD.Flip;
end;


Jeśli program Ci nie działa, to sprawdź czy zamieniłeś TMainForm = class(TForm) na TMainForm = class(TDXForm) i czy dopisałeś do listy modułów DXClass..





...powrót