|
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 |