圖片如何按照程式里給的位置定位?
程式里是這樣給圖片定位的:
TfrxPictureView(frxReport1.FindObject('Picture1')).Top:=StrToInt(Edit_top.Text);
但是不管用,都是因為Memo1控制元件的StrechMode屬性設定了smMaxHeight,導致圖片要么顯示在上面,要么顯示在下面。
圖片是放在Footer1控制元件里的,但是Footer1放了一個Memo1控制元件,這個Memo1控制元件的StrechMode屬性設定了smMaxHeight,意思是當Memo1里的內容很多的時候Memo1的高度會隨著內容自動升高,Picture1控制元件也在Footer1里,而且Picture1控制元件放在Memo1上面的,那么問題來了,Picture1控制元件最后要么就顯示在Memo1的上面,要么顯示在Memo1的下面,怎么調整都不可以顯示在Memo1的中間任何位置,我測驗了下,如果把Memo1的StrechMode屬性設定smDontStretch就可以達到,但是StrechMode屬性必須設定smMaxHeight,
現在圖片要顯示在Footer1的任何位置,也就是圖片要顯示在Memo1的任何位置上,怎么辦?

紅色框是Memo1控制元件,藍色框是Picture1控制元件

uj5u.com熱心網友回復:
首先來說,通常Footer(頁腳)都只是一個固定高度的,例如顯示一些頁碼、LOGO等,不適合做其他的。所以,你放了一個可以自動增高的Memo,當Memo高度大于Foolter時,就可能會有問題了。
我記得Picture可以固定位置的,而且不會被其他控制元件影響。
uj5u.com熱心網友回復:
我也知道有影響,但是沒有解決辦法,你有解決辦法嗎?uj5u.com熱心網友回復:
把Memo放到Footer外面試試,只把后面兩行(蓋章)那些字放Footer里。
還有,我記得Footer應該是每頁都會列印的哦。與你這個應該不符的,你的應該是只需要尾頁列印才對。
uj5u.com熱心網友回復:
Memo放到Footer外面也不行uj5u.com熱心網友回復:
Footer換成PageFooter也不行uj5u.com熱心網友回復:
圖片就是印章?可以把圖片的Parent設定為Memouj5u.com熱心網友回復:
你試試以下步奏:1、Memo1控制元件的StrechMode屬性設定為smActualHeight;
2、圖片的定位屬性如下:

以右下角定位。
3、Footer1的AfterCalcHeight事件內寫以下代碼:
procedure Footer1OnAfterCalcHeight(Sender: TfrxComponent);
begin
footer1.height:=memo1.height;
end;
這樣,當重新設計一下footer1的高度為memo1的高度。然后圖片因為是以右下角定位的,也會自動改變位置的。
我的設計:

預覽效果:

uj5u.com熱心網友回復:

這樣的設計,預覽出來是一樣的效果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272393.html
標籤:VCL組件開發及應用
上一篇:c語言unsigned?
下一篇:堅持學習
