テンです。
質門内容というのは アイコンの表示についてです。
リソースエディタでアイコンを作りました。
下記のソースのようにOnDrawの中で表示しています。
マップモードをMM_TEXT から MM_LOENGLISH に変更すると
pDC->SetMapMode(MM_LOENGLISH);
上下逆[対称]になりました。
マップモードが MM_LOENGLISH のときも正常に表示できるでしょうか?
初心者ですが、よろしくお願いします。
環境
VC6.0 SP5 MFC SDI CView
OS WIN XP
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
DC->SetMapMode(MM_LOENGLISH);
HICON ICo8 = AfxGetApp()->LoadIcon(IDI_ICON_O8);
CPoint p;
p.x = 50;
p.y = 50;
pDC->DPtoLP(&p);
pDC->DrawIcon(x, y, ICo8);
}
すみません。コードにミスがありました。
最後の行
pDC->DrawIcon(x, y, ICo8);が
pDC->DrawIcon(p, ICo8);でした。m(__)m
DrawIconのヘルプには、
「この関数を使う前に必ず MM_TEXT マッピングモードを選択しておきます。」
と書いてありますので、
アイコン描画の時だけ一旦MM_TEXTにすればよいと思いますけど。
または、DrawIconExで、
DrawIconEx(pDC->m_hDC, p.x, p.y+32, ICo8, 32, -32, 0, NULL, DI_NORMAL);
のようにy座標の指定を逆にすることもできます。
できました。(^_^)/
dairygoods 様 ありがとうございました。
チェックわすれました。
テン@あわてもの です。m(..)m