EDITBOXの移動


初心者  2005-01-10 11:15:27  No: 55957

どうしてもわからないので質問します。

ダイアログボックス上に設置したエディットボックスを
GetWindowRect()で取得した現在位置の情報を
SetWindowPos()の設定値にし実行したのですが
現在位置とは違う場所へ移動してしまいました。
コードは↓の通りなんですが何がおかしいのでしょうか?
RECT rc;
GetWindowRect(EDITBOXのハンドル, (LPRECT)&rc);
SetWindowPos(EDITBOXのハンドル, HWND_TOP, rc.left, rc.top, 0, 0, SWP_NOSIZE);


YuO  2005-01-10 11:37:21  No: 55958

MSDNをちゃんと読みましょう。

GetWindowRect
http://www.microsoft.com/japan/msdn/library/ja/jpwinui/html/_win32_getwindowrect.asp
> pRect
> この構造体の left メンバと top メンバに、スクリーン座標でのウィンドウ左上端の座標が入ります。

SetWindowRect
http://www.microsoft.com/japan/msdn/library/ja/jpwinui/html/_win32_setwindowpos.asp
> X
> ウィンドウの左上端の新しい x 座標をクライアント座標で指定します。
> Y
> ウィンドウの左上端の新しい y 座標をクライアント座標で指定します。

必要になるのはこのあたり。
ScreenToClient
http://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_screentoclient.asp


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加