for i := 0 to 207 do
begin
TPanel.Create(Self).Name := 'MyPanel'+ IntToStr(i);
with TPanel(FindComponent('MyPanel'+ IntToStr(i))) do
begin
Parent := Form1;
Left := 10;
Top := i*160+30;
Width := 60;
end;
end;
在203個之后,panel的位置就不對了,為什么啊...急死了
uj5u.com熱心網友回復:
是不是太大了。160*203+30=32510,估計和32768有關。uj5u.com熱心網友回復:
但是用按鍵來新建panel的話,top值很大也可以建。很費解
uj5u.com熱心網友回復:
1樓有道理,可能越界了。uj5u.com熱心網友回復:
那怎么解決呢?我大概要建1000個左右…。放scrollbox里也是這樣uj5u.com熱心網友回復:
你有什么需求一定要建1000個左右
Top := i*160+30;這個值這么大 反正在界面看不到,不如少建幾個,需要顯示時 才創建對應的
uj5u.com熱心網友回復:
在動態建立時,滑鼠不要去拉到任何東西,不能干擾,不要去托動查看,我如你這樣建立850個image都沒啥事uj5u.com熱心網友回復:
在建立程序中用滑鼠一干擾就會出現你說的情況,位置錯亂uj5u.com熱心網友回復:
是做成試卷的,不想做成一屏只有一道題,我是表單創建時就把試題答案顯示出來,然后邊做邊拖就行了,實在不行就一屏200道題,然后下一頁再接著創建200題?uj5u.com熱心網友回復:
本來就是這么設計啊 你一屏能顯示多少個 才創建多少個。uj5u.com熱心網友回復:
我有滾動條啊,就跟,紙質一樣,邊做邊,可以看前面的,主要是用做練題的,不是考試。一會回去我試試做成左右兩欄。沒法突破高度限制啊?uj5u.com熱心網友回復:
試了下 沒找到突破32767的辦法。 你做翻頁效果啊uj5u.com熱心網友回復:
你的意思是用pagecontrol嗎?因為是用來做題復習,所以只要沒關軟體,前面做過的題都要留著能查看,用這個就要套不少容器進去了。
界面打開要全屏顯示,自動適應螢屏
uj5u.com熱心網友回復:
我覺得你的代碼有問題或者效率不高for i := 0 to 207 do
begin
TPanel.Create(Self).Name := 'MyPanel'+ IntToStr(i);
with TPanel(FindComponent('MyPanel'+ IntToStr(i))) do
begin
Parent := Form1;
Left := 10;
Top := i*160+30;
Width := 60;
end;
end;
var pnl:TPanel;
for i := 0 to 207 do
begin
pnl TPanel.Create(Self);
pnl.Name := 'MyPanel'+ IntToStr(i);
with pnl do
begin
Parent := Form1;
Left := 10;
Top := i*160+30;
Width := 60;
end;
end;
改成這樣試試,你用findcomponent會降低程式的性能,可能這里會導致出錯把
uj5u.com熱心網友回復:
第四行代碼有誤 你自己修改一下 鍵盤不好使uj5u.com熱心網友回復:
如果有滾動條,那個Top和Left計算,需要加上滾動條的Position
uj5u.com熱心網友回復:
做成翻頁吧。uj5u.com熱心網友回復:
分頁做吧,設定一頁若干個。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/94501.html
標籤:語言基礎/算法/系統設計
上一篇:趨勢圖
