關於 PopupMenu 的位置問題 |
答題得分者是:P.D.
|
blue
中階會員 發表:170 回覆:136 積分:81 註冊:2002-04-15 發送簡訊給我 |
Hi,各位先進大家好:
因使用 ListBox 按右鍵要顯示 PopupMenu,但無論怎麼調整總是不對位置, 所以單獨對於 PopupMenu 作一點測試, 我將Form設為最大化,因PopupMenu測試是從螢幕左上角為基準, 但如下程式,Edit1的值越大差異越大,請問如何調整?謝謝! procedure TForm1.Button1Click(Sender: TObject); var PopX: Single; begin PopX := StrToFloat(Edit1.Text); Label1.Position.X := PopX; PopupMenu1.Popup(PopX, 100); end; |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
procedure .... var apoint : TPoint; begin apoint := Edit1.ClienttoSecreen(0, 0); // 取得 Edit1 在 螢幕上的相對位置 label1.Position.X := apoint.x + 位移值; label1.Position.Y := aponit.y + 位移值; end; 但因為在xe上, 還得視 Label1 與 Edit1 是否同在一個 Layer 的層面, 或者有主從的上下關係, 所以上面的寫法不一定能搞到你想要的位置 ===================引 用 blue 文 章=================== Hi,各位先進大家好: 因使用 ListBox 按右鍵要顯示 PopupMenu,但無論怎麼調整總是不對位置, 所以單獨對於 PopupMenu 作一點測試, 我將Form設為最大化,因PopupMenu測試是從螢幕左上角為基準, 但如下程式,Edit1的值越大差異越大,請問如何調整?謝謝! procedure TForm1.Button1Click(Sender: TObject); var PopX: Single; begin PopX := StrToFloat(Edit1.Text); Label1.Position.X := PopX; PopupMenu1.Popup(PopX, 100); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |