2013-02-10 93 views
0

我有一個TForm,它有一個事件FormResize,在這個函數中我想在TImage中畫一些東西。TImage width/height anchor not working

我FormResize功能看起來像下面

void __fastcall TForm1::FormResize(TObject *Sender) 
{ 
    // Teken de blokjes 
    _viewPort->draw(_viewPortImage->Canvas, _viewPortImage->Width, _viewPortImage->Height); 
} 

在這個功能我什麼都不做比繪製其繪製邊框的矩形更多:

ViewPort::draw(Vcl::Graphics::TCanvas* Canvas, int width, int height) 
{ 
    Canvas->Rectangle(0, 0, width, height); 
} 

現在的問題。當我把表格做得比原來小時,它的尺度很好。但是當表單變得比原始大小更大時。背景+邊框繪製不好。請參閱下面的截圖。白色背景/帆布來自TImage。 TImage是在所有4個方向錨定。

任何人都知道如何也可以調整圖像大小?

Screenshot original smaller bigger

回答

0

使用的TPaintBox而不是TImage做你的繪圖中TPaintBox::OnPaint事件。那麼你不需要再使用TForm::OnResize事件了。

void __fastcall TForm1::ViewPortPaintBoxPaint(TObject *Sender) 
{ 
    // Teken de blokjes 
    _viewPort->draw(ViewPortPaintBox->Canvas, ViewPortPaintBox->ClientWidth, ViewPortPaintBox->ClientHeight); 
}