簡體   English   中英

GetWindowPlacement x和y位置

[英]GetWindowPlacement x & y position

WINDOWPLACEMENT wp = { };
wp.length = sizeof( WINDOWPLACEMENT );
bool result = GetWindowPlacement( Sess.M_hdl , &wp );
Sess.xPos = wp.ptMinPosition.x;
Sess.yPos = wp.ptMinPosition.y;

我如何處理此函數上的POINT結構,當前ptMinPosition.x / ptMinPosition.y的顯示為-1,這是一個錯誤,但result為1,因此該函數成功了。

-1是函數結果的錯誤,但作為X或Y坐標完全有效。 在結構WINDOWPLACEMENT中,字段ptMinPosition是窗口最小化時的屏幕坐標。 對於大多數窗口,最小化時的位置不在屏幕上,因此(-1,-1)似乎很合理。

我已經審查了我自己的答案。 也許您嘗試使用錯誤的字段執行錯誤的操作?

字段showCmd可能會告訴您窗口的當前狀態(文檔不清楚,這是否取決於您進行的調用是輸入/輸出字段)。 大多數人只在假定窗口可見時才關心位置(盡管您仍然可以通過編程將其置於屏幕之外)。

也許您應該查看結構的rcNormalPosition字段? 您可以嘗試調用IsIconic()來確定窗口是否最小化,或調用IsZoomed()來查看窗口是否最大化。 如果它們都不是,並且沒有被隱藏,那么您應該能夠從我上面提到的RECT字段中獲取當前位置信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM