procedure TForm1.FormPaint(Sender: TObject);
var
Row, Ht: Word ;
begin
Ht := (ClientHeight + 255) div 256 ;
for Row := 0 to 255 do
with Canvas do
begin
Brush.Color := RGB(0, 0, Row) ;
FillRect(Rect(0, Row * Ht, ClientWidth, (Row + 1) * Ht)) ;
end
end;
Panel위에 Image를 하나올려놓고요...
그냥 images는 프로퍼티에서 Align에서 alClient로만 하고요...
Panel이벤트 OnResize에서 이렇게 하니깐 되네요...
procedure TForm1.Panel1Resize(Sender: TObject);
var
Row, Ht: Word ;
begin
Ht := (Panel1.ClientHeight + 255) div 256 ;
for Row := 0 to 255 do
with Image1.Canvas do
begin
Brush.Color := RGB(0, 0, Row) ;
FillRect(Rect(0, Row * Ht, Panel1.ClientWidth, (Row + 1) * Ht)) ;
end
end;
이거는 그냥 무식한 저의생각입니다...
아니면 콤퍼넌트를 만들어서 사용하시면 될것같기도 하고... 인터넷에서
찾아보세요... 저도 panel까지 그렇게 해본경험이 없어서...
procedure TForm1.Panel1Resize(Sender: TObject);
var
Row, Ht: Word ;
begin
Ht := (Panel1.ClientHeight + 255) div 256 ;
for Row := 0 to 255 do
with Image1.Canvas do
begin
Brush.Color := RGB(0, 0, Row) ;
FillRect(Rect(0, Row * Ht, Panel1.ClientWidth, (Row + 1) * Ht)) ;
end
end;
procedure TForm1.FormPaint(Sender: TObject);
var
Row, Ht: Word ;
begin
Ht := (ClientHeight + 255) div 256 ;
for Row := 0 to 255 do
with Canvas do
begin
Brush.Color := RGB(0, 0, Row) ;
FillRect(Rect(0, Row * Ht, ClientWidth, (Row + 1) * Ht)) ;
end
end;