|
スクリーン座標をクライエント座標に変換するには、関数 ScreenToClient() を使用する。
スクリーン座標とウィンドウ座標の相互変換。 //********************************************************* // スクリーン座標をウィンドウ座標に変換する。 //********************************************************* POINT ScreenToWindow ( HWND hWnd, POINT Point ) { RECT Rect; GetWindowRect( hWnd, &Rect ); // ウィンドウ矩形の取得 Point.x = Point.x - Rect.left; Point.y = Point.y - Rect.top; return Point; }//ScreenToWindow //********************************************************* // ウィンドウ座標をスクリーン座標に変換する。 //********************************************************* POINT WindowToScreen ( HWND hWnd, POINT Point ) { RECT Rect; GetWindowRect( hWnd, &Rect ); // ウィンドウ矩形の取得 Point.x = Point.x + Rect.left; Point.y = Point.y + Rect.top; return Point; }//WindowToScreen
ウィンドウ座標とクライエント座標の相互変換。 //*********************************************************
// ウィンドウ座標をクライエント座標に変換する。
//*********************************************************
POINT
WindowToClient
(
HWND hWnd,
POINT Point
)
{
Point = WindowToScreen( hWnd, Point ); // ウィンドウ座標をスクリーン座標に変換
ScreenToClient( hWnd, &Point ); // スクリーン座標をクライエント座標に変換
return Point;
}//WindowToClient
//*********************************************************
// クライエント座標をウィンドウ座標に変換する。
//*********************************************************
POINT
ClientToWindow
(
HWND hWnd,
POINT Point
)
{
ClientToScreen( hWnd, &Point ); // クライエント座標をスクリーン座標に変換
Point = ScreenToWindow( hWnd, Point ); // スクリーン座標をウィンドウ座標に変換
return Point;
}//ClientToWindow
関連
・デスクトップ領域、デスクトップ作業領域のサイズを取得する |
|