[glowa] Czy mógłby mi ktoś podpowiedzieć, jak położyć canvasa na buttonie, i załadować na niego obraz timage?
Type
TMyButton = class(TButton)
public
property Canvas;
end;
i potem dajesz:
MyButton(Button1).Canvas.*******;
gdzieś to jest w FAQ ('jak rysować po TShape i zapisać to do pliku', czy jakoś tak), sam potrzebowalem tego ze dwa dni temu :-)
Property 'Canvas' does not exist in base class
Co to?
a może być na SpeedButtonie ? na nim działa na pewno
Kurcze nie wiem co, ale coś na pewno robię źle :(. Próbuję na SpeedButtonie, daję: TMyButton = class(TSpeedButton) i podczas kompilacji pojawia mi się błąd:
Exeption EClassNotFound in module PROJECT1.EXE at 00012C0E.
Class TSpeedButton not found.
DJ_Japcoku, czy mógłbyś mi przesłać jakiś przykład na maila? :>
Może do uses dodaj odpowiedni moduł ?
Tak się składa, że jest:
[code]
........
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm) ;
TMyButton = class(TSpeedButton)
SpeedButton1: TSpeedButton;
public
property Canvas;
end;
.......[/code]
TMB = class(TButton)
public
Canvas: TCanvas;
end;
Nie jest to ostateczne rozwiazanie, bo musisz nad nim popracowac, czyli przeladuj konstruktor i w nim stworz Canvas i jego polu Handle przy pomocy GetDC (jako parametr Handle do Buttona) nadaj odpowiednia wartosc, potem mozesz juz uzywac (sprawdzone i dziala), no i nie zapomnij o modyfikacji destruktora. A tak przy okazji to radze najpierw pocwiczyc Pascal - a
ty nie miałeś tego dopisać, tylko stworzyć nowe Type. po prostu tam gdzie deklarujesz zmienne globalne dajesz:
Type
TMySpeedButton = class(TSpeedButton)
public
property Canvas;
end;
// a tu jest ta wskazówka:
[URL]http://4programmers.net/view_faq.php?id=345[/URL]
OK. Już mi chodzi. Teraz kolejne pytanie.. Jak załadować na canvasa obrazek?
Litości....
[URL]http://www.google.pl/search?num=100&hl=pl&lr=lang_pl&ie=UTF-8&oe=UTF-8&newwindow=1&q=jak+wczyta%C4%87+obrazek+canvas+LoadFromFile&sa=N&tab=gw[/URL]
Dzięki :D