mbshareat
پنج شنبه 09 مهر 1388, 21:33 عصر
من قبلا یه کامپوننت ساده دکمه طراحی کرده بودم که توی یکی از تاپیکهای قبلی گذاشته بودم. (بماند که کسی نظر نداد..!) حالا یه بیت مپ گذاشتم تو فایل DCR و کمی کد به یونیت کامپوننتم اضافه کردم (که ببینم میشه از تصویر برای ظاهر کامپوننت استفاده کرد؟) به قرار زیر:
type
ButShapeType=(Led,Colored,RoundBut);
TXBut = class(TGraphicControl)
private
{ Private declarations }
...
protected
{ Protected declarations }
procedure Paint;OverRide;
...
Procedure Draw();{جدیداً اضافه کرده ام}
public
{ Public declarations }
...
published
{ Published declarations }
...
end;
...
implementation
....
....
procedure TXBut.Paint;
Var
AddN:Byte;
BorderClr:TColor;
begin
....
....
Draw; {جدیداً اضافه کرده ام}
end;
{جدیداً اضافه کرده ام}
Procedure TXBut.Draw();
var
BitMap1 : TBitMap;
begin
BitMap1 := TBitMap.Create;
try
BitMap1.LoadFromResourceName(HInstance,'Components ');
Canvas.Draw(12,12,BitMap1);
finally
BitMap1.Free;
end;
end;
امیدوار بودم بتونم تو کامپوننتم از بیت مپ استفاده کنم ولی با کمال تعجب دیدم تنها زمان طراحی تصویر برای دلفی قابل شناساییه و تو ظاهر کامپوننتک انعکاس پیدا می کنه ولی زمان اجرا، برنامه نمی تونه تصویر رو پیدا کنه و خطا می ده! کسی می دونه مشکل از کجاست و چطور باید مشکل رو رفع کرد؟آقای کشاورز لطفا کمک کنین...من چندتا تاپیک در مورد کامپوننت داشتم از دوستان می خوام به بنده عنایتی کنند و بنده مبتدی رو راهنمایی کنن!!! توی فایلهای ضمیمه تصویر پیام خطا و تصویر برنامه ام در زمان طراحی و برنامه ام به همراه کامپوننم رو می ذارم:
type
ButShapeType=(Led,Colored,RoundBut);
TXBut = class(TGraphicControl)
private
{ Private declarations }
...
protected
{ Protected declarations }
procedure Paint;OverRide;
...
Procedure Draw();{جدیداً اضافه کرده ام}
public
{ Public declarations }
...
published
{ Published declarations }
...
end;
...
implementation
....
....
procedure TXBut.Paint;
Var
AddN:Byte;
BorderClr:TColor;
begin
....
....
Draw; {جدیداً اضافه کرده ام}
end;
{جدیداً اضافه کرده ام}
Procedure TXBut.Draw();
var
BitMap1 : TBitMap;
begin
BitMap1 := TBitMap.Create;
try
BitMap1.LoadFromResourceName(HInstance,'Components ');
Canvas.Draw(12,12,BitMap1);
finally
BitMap1.Free;
end;
end;
امیدوار بودم بتونم تو کامپوننتم از بیت مپ استفاده کنم ولی با کمال تعجب دیدم تنها زمان طراحی تصویر برای دلفی قابل شناساییه و تو ظاهر کامپوننتک انعکاس پیدا می کنه ولی زمان اجرا، برنامه نمی تونه تصویر رو پیدا کنه و خطا می ده! کسی می دونه مشکل از کجاست و چطور باید مشکل رو رفع کرد؟آقای کشاورز لطفا کمک کنین...من چندتا تاپیک در مورد کامپوننت داشتم از دوستان می خوام به بنده عنایتی کنند و بنده مبتدی رو راهنمایی کنن!!! توی فایلهای ضمیمه تصویر پیام خطا و تصویر برنامه ام در زمان طراحی و برنامه ام به همراه کامپوننم رو می ذارم: