?? 屏幕坐標系和窗口客戶區坐標系的區別.txt
字號:
屏 幕 坐 標 系 和 窗 口 客 戶 區 坐 標 系 最 明 顯 的 區 別 在 于 坐 標 原 點 , 屏 幕 坐 標 系 的 坐 標 原 點 在 整 個 屏 幕 的 左 上 角 , 而 窗 口 客 戶 區 坐 標 系 的 坐 標 原 點 在 窗 口 客 戶 區 的 左 上 角 , 通 常 這 兩 個 點 是 不 重 合 的 。 要 回 答 你 的 第 一 個 問 題 , 首 先 需 要 明 確 ClientToScreen函 數 的 第 一 個 參 數 是 誰 的 句 柄 。 對 于 你 這 個 例 子 , 這 個 參 數 是 Ctl.hWnd, 也 就 是 說 是 控 件 的 句 柄 , 就 是 Command控 件 的 句 柄 。 如 果 按 照 Command控 件 的 坐 標 系 說 , 左 上 角 當 然 是 (0, 0), 所 以 原 函 數 是 正 確 的 。 而 你 說 的 “ 左 上 角 的 坐 標 值 ” 大 概 是 以 窗 口 客 戶 區 為 坐 標 系 了 , 當 然 , 如 果 采 用 窗 口 客 戶 區 為 坐 標 系 的 話 , 就 需 要 修 改 ClientToScreen函 數 的 第 一 個 參 數 為 窗 口 的 句 柄 了 。
大 多 數 API函 數 默 認 的 單 位 是 像 素 值 。 你 可 以 使 用 Screen.TwipsPerPixelX和 Screen.TwipsPerPixelY, 進 行 緹 和 像 素 的 轉 換 , 在 你 的 這 個 函 數 中 , 前 兩 種 情 況 都 進 行 了 這 樣 的 轉 換 。
<END>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -