程式在執行時使用者需要對一些控制項進行重新移動布局,下次進入介面時顯示布局後的
方法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....