請問如何限制form上的object不會跑出form? |
尚未結案
|
elctppo
一般會員 發表:28 回覆:22 積分:10 註冊:2005-04-01 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
elctppo
一般會員 發表:28 回覆:22 積分:10 註冊:2005-04-01 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi elctppo, 好像沒有現成的函數可用,基本上運用 supman 大大前面所說的方法即可,但是別忘了扣除標題列及邊框所佔去之高度及寬度
uses TypInfo procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); var PropInfo: PPropInfo; W,H : Integer; FW,FH : Integer; begin begin W := GetInt64Prop(Source,'Width'); H := GetInt64Prop(Source,'Height'); FW := Self.Width - 6; FH := self.Height - 8 - 18; Edit1.Text := IntToStr(x); Edit2.Text := IntTostr(y); if (x >= 0) and (y >= 0) and ((x w) < fw) and ((y h) < fh) then Accept := true else Accept := False; end; end; procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer); var PropInfo: PPropInfo; begin PropInfo := GetPropInfo(Source,'Top'); IF PropInfo <> NIL THEN SetPropValue(Source,'Top',Y); PropInfo := GetPropInfo(Source,'Left'); IF PropInfo <> NIL THEN SetPropValue(Source,'Left',X); end;發表人 -
------
Fishman |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |