No.2ベストアンサー
- 回答日時:
>
http://msdn.microsoft.com/ja-jp/library/cc364604 …より
>クライアント座標はクライアント領域の左上端からの相対座標なので、左上端の座標は常に (0,0) となります。
となっているため
>GetClientRectでダイアログ内の相対位置を取れます。
は間違っていました。
>もしかしたら便利な関数が存在するのでしょうか?
ないのかなぁと。
かわりにこんな関数を作っておくとか。
BOOL GetDlgItemRect(HWND hDlg, int nIDDlgItem, RECT* rct)
{
BOOL bRet = FALSE;
HWND hWnd = GetDlgItem(hDlg, nIDDlgItem);
if (hWnd != NULL)
{
bRet = GetWindowRect(hWnd, rct);
{
bRet = ScreenToClient(hDlg, rct);
}
}
return bRet;
}
bluecampus様 丁寧な回答ありがとうございます。
勉強になりました。
私も便利な関数がないかと探したのですが見つからずbluecampus様
の作成されたように関数を作っておく事に決めました。
ご教授ありがとうございました。
No.1
- 回答日時:
GetClientRectでダイアログ内の相対位置を取れます。
GetWindowRectからならScreenToClientで変換します。
ご回答ありがとうございます。
1.GetClientRectで取得してみたところ、コントロールの幅と高さは取得
できますが、位置( left, top )は取得できませんでした。
2.GetWindowRectで取得し、left,topの値をPOINT型の変数に入れてから
ScreenToClientを行うと正常な値が取得できました。
ありがとうございました。
2.で成功するのですが、ここまで手間がかかると大変ですね。
もしかしたら便利な関数が存在するのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) 簡易水冷のラジエーターの設置場所、方向について 2 2022/12/05 15:17
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- 掃除・片付け お風呂の赤カビ掃除について質問です。 台を置いてる床が赤カビになってしまいました。 中性洗剤、重曹、 1 2023/06/19 17:10
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
- 物理学 電磁気学 クーロン力についての問題です。 xy平面上の原点に電荷量 1[C]の点電荷が,点 P(2, 3 2023/08/05 23:41
- 大学・短大 大学 留年について 6 2023/06/21 20:17
- HTML・CSS svgクリップパスの応用コーディング方法 2 2022/04/09 09:07
- 大学・短大 おはようございます! 単位取得についてのご質問です。 大学の単位取得のためにやっておかなければならな 2 2022/08/05 07:21
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
ボタンの配置を変更したい
C言語・C++・C#
-
MFC ダイアログ上のID取得について
C言語・C++・C#
-
-
4
VC++にてボタン等のサイズ取得
C言語・C++・C#
-
5
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
6
MFCでOnPaintのタイミング
C言語・C++・C#
-
7
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
8
ボタンの表示の色、フォントを変更したい
C言語・C++・C#
-
9
MFCでコンボボックスを選択不可状態にしたい
C言語・C++・C#
-
10
VC++でコントロールの境界線を描画する方法
C言語・C++・C#
-
11
テキストボックスからフォーカス外す
C言語・C++・C#
-
12
ダイアログボックスで指定したサイズどおり表示されない
C言語・C++・C#
-
13
CListCtrlで行の高さを指定したい。
C言語・C++・C#
-
14
CFileDialogの最初のディレクトリ設定
C言語・C++・C#
-
15
ダイアログの表示位置の保存
C言語・C++・C#
-
16
エディットボックスのフォントを変えたい
C言語・C++・C#
-
17
MFCダイアログボックスを最前面に表示
C言語・C++・C#
-
18
コンボボックスでデフォルト値の設定
C言語・C++・C#
-
19
コンボボックスの高さを変更したい。
C言語・C++・C#
-
20
エディットボックスの入力制限について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
始点、終点の二つの座標と半径...
-
Excel関数で指定範囲内に有るか...
-
座標の回転方向について
-
コントロールのドラック&ドロップ
-
C言語 配列で座標
-
PPTのVBA スライド右下端の座...
-
座標
-
ワード上Shapeの位置情報を統一...
-
位置座標からx軸となす角度(ラ...
-
C#でxy座標グラフを描きたい。
-
回転する矩形同士の当たり判定...
-
オートシェイプ円弧の中心点、...
-
【エクセル・マクロ】座標を回...
-
GLで座標を変えて回転させたい
-
図形が重なりあっているかどうか
-
atan2関数 ベクトル計算・・・
-
ゲームプログラミングにおけるs...
-
回転する四角や円で当たり判定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
エクセルで回転する座標の出し方
-
エクセルである点からの距離で...
-
3次元空間上の2つの座標から...
-
閉図形の座標の配列が右回りか...
-
ダイアログ内コントロールの位...
-
始点、終点の二つの座標と半径...
-
座標を持った平面範囲に座標を...
-
空間上の二点を結ぶ直線上に任...
-
エクセルシート上のマウスポイ...
-
多角形の内部かどうか判定する方法
-
ワード上Shapeの位置情報を統一...
-
Excel VBA で自在に図形を変化...
-
OpenCvSharp4による画像判定解...
-
C言語 配列で座標
-
以下のプログラムは重心を求め...
-
シーケンサー(PLC?)で制...
-
交差する2線分の交点座標の求め方
-
VB6のPrinter.ScaleWidth に対...
おすすめ情報