線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1306
推到 Plurk!
推到 Facebook!

關於 PopupMenu 的位置問題

答題得分者是:P.D.
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2019-01-21 12:30:07 IP:125.227.xxx.xxx 未訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2019-01-21 12:37:45 IP:59.120.xxx.xxx 未訂閱

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;


編輯記錄
P.D. 重新編輯於 2019-01-21 12:39:47, 註解 無‧
P.D. 重新編輯於 2019-01-21 12:41:35, 註解 無‧
系統時間:2024-04-28 7:05:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!