
マッピングモードでつまづいてます。
SetMapMode(MM_LOENGLISH);
CRect rect;
GetClientRect(&rect);
pDC->Ellipse(0,0,rect.right,-rect.bottom);
とした場合、クライアント領域全体に楕円が表示されると思っていたのですが、右と下に余白があいてしまいます。
MM_TEXTだと思ったように表示されるのですが、MM_LOENGLISHだとGetClientRectでしっかりと領域を取得できていないようです。どうすればMM_LOENGLISHでしっかりとクライアント領域を取得できますか?
まだ、VCはじめたばかりで分からないことだらけです。
どうかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
DPtoLP()という物理座標から論理座標への変換関数があるのでGetClientRect()を呼んだ後に変換してあげれば良いと思います。
Ellipse()での描画時も符号変換は必要ないですね。
GetClientRect(&rect);
pDC->DPtoLP(&rect);
pDC->Ellipse(0,0,rect.right, rect.bottom);
マッピングモードはデバイスコンテキストの属性なのでデバイスコンテキストのハンドルを引数に取るような関数でしか有効になりません。
なので、マッピングモードが指定してあってもGetClientRect()は必ず物理座標(ピクセル単位)を返します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで他アプリケーション...
-
UWSC画像認識で座標の位置がず...
-
uwscについて、同一の画像(仮...
-
外付ディスプレイで AutoHotkey...
-
「ご処理進めて頂きますようお...
-
UPS警告音を止めたい
-
CloseとDisposeの違い
-
エクセルで、日付を入力すると...
-
エクセルVBAで、MsgBox やInput...
-
DoEventsがやはり分からない
-
【Excel】特定の文字を含むセル...
-
アクセスVBAのMe!と[ ]
-
VBAでループ内で使う変数名を可...
-
EXCEL VBA マクロ 実行する度に...
-
VBの質問#if 0 then ってどう...
-
Accessでフォームから別フォー...
-
Excelシート上のマクロを登録し...
-
EXCELのマクロが 実行時エラー5...
-
銀行の窓口処理の件で知ってる...
-
UMLでの例外処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#で、画像の、指定した座標の...
-
VBでクリックイベントを発生さ...
-
Excel VBAで他アプリケーション...
-
マウスイベントが動かない
-
外付ディスプレイで AutoHotkey...
-
UWSファイルの編集?
-
エクセルVBAで画像を貼り付ける...
-
UWSC画像認識で座標の位置がず...
-
NoxPlayerとUWSCのadbの座標に...
-
uwscについて、同一の画像(仮...
-
ピクチャーボックスのスケール...
-
C言語でグラフ作成??
-
ひし形のあたり判定について
-
VBA HTML要素または文字の座標...
-
マウスカーソルの移動
-
PHPでエクセルのグラフを作成ま...
-
WindowsAPI ツリービューについて
-
画像中のある座標でマウスオー...
-
UWSCのプログラミングついて教...
-
元の比率で画像を切り抜きする方法
おすすめ情報