delphi 程式執行時移動控制項

2022-08-09 07:45:14 字數 1440 閱讀 2153

程式在執行時使用者需要對一些控制項進行重新移動布局,下次進入介面時顯示布局後的

方法1:每移動控制項時就把位置寫入ini檔案中

只需在控制項的onmousedown事件寫如下**:

procedure tfmain.speedbutton4mousedown(sender: tobject;

button: tmousebutton; shift: tshiftstate; x, y: integer);

const sc_move = $f011;

varsysfile: tinifile;

begin

releasecapture;

tspeedbutton(sender).perform(wm_syscommand, sc_move, 0);

trysysfile := tinifile.create(extractfilepath(paramstr(0)) + 'sys.ini');

sysfile.writeinteger(tspeedbutton(sender).name, 'top', tspeedbutton(sender).top);

sysfile.writeinteger(tspeedbutton(sender).name, 'left', tspeedbutton(sender).left);

finally

sysfile.free;

end;

end;

方法2:

封裝一函式用於實現控制項移動,在控制項的onmousedown事件中呼叫即可,然後在關閉時遍利所有控制項把位置寫入ini

procedure movecontrol(control: tcontrol; shift: tshiftstate; x, y, prec: integer);

begin   

if shift=[ssleft] then

begin

releasecapture;

control.perform(wm_syscommand, sc_manipulate, 0);

end;

end;

//關閉寫入

sysfile := tinifile.create(extractfilepath(paramstr(0)) + 'sys.ini');

tryfor i := 0 to componentcount - 1 do

begin

sysfile.writestring(tcontrol(components[i]).name ,top,tcontrol(components[i]).top );

sysfile.writestring(tcontrol(components[i]).name ,left,tcontrol(components[i]).left );

end;

finally

sysfile.free;

end;

執行時改變控制項大小執行時移動控制項MINICAR版

執行時改變控制項大小執行時移動控制項minicar版 vs2005.net編寫,網上找了找,見別人寫得挺複雜,自己寫了乙個.附件居然不能上傳.就把 發到下面吧,有個奇怪現象就是,vb6中新建工建,拖個picturebox框出來,拷入以下 即可,但vb.net中是不行的.如mousemove事件你必須...

C 程式執行時拖動控制項

本例以四個button控制項作為代表,實現在程式執行時,用滑鼠拖動控制項,控制項的位置隨著滑鼠的移動而移動。首先,在form中加入四個button控制項,並將button的屬性allowdrop改為true,然後具體實現請看下面 using system using system.collectio...

Silk 執行時 控制項 屬性

1.如果乙個silk的識別物件是在執行時載入的某個屬性且無法事先定義,可以用動態tag識別來作一定的操作。e.g.我這裡的error dialog裡的error message是根據具體的頁面字段報錯,所以我無法事先宣告此lable物件的tag值。2.我們首先用scripted.來重新識別物件。3....