リソースとVGAと

  • 投稿日:
  • by
  • カテゴリ:

CardMgrには、一応 About画面があります。この画面は、VS 2005のリソースエディタで作成しています。さて、Win32ネイティブアプリで、こういったダイアログの、縦横画面の切替を真面目にサポートするには、マイクロソフトに拠れば、正方形のダイアログデザインにしておくか、縦用、横用のダイアログをそれぞれ用意して、画面のむきで切り替えるようにするか、なのだそうです。ならば、練習の意味も込めて、縦、横両方の、リソースを作ってみようじゃありませんか。

さて、これを、マイクロソフトのドキュメントに従ってやると、縦画面用のリソース(IDD_ABOUT)と横画面用のリソース(IDD_ABOUT_WIDE)を作ってから、次のようなコードを追加することになります。

case WM_SIZE:
  DRA::RelayoutDialog(g_hInstance, hwnd,
    DRA::GetDisplayMode() != DRA::Portrait ?
      MAKEINTRESOURCE(IDD_ABOUT_WIDE) : MAKEINTRESOURCE(IDD_ABOUT));
  return TRUE;
これを、WndProc()本体と、AboutDlgProc() コールバックの両方に追加してやります。……と、貼り付けたビットマップの位置がずれてしまってますやん……。なんだかラベルも欠けちゃっているし oTL
ということで、細かなところでも、イロイロと奥が深い、Win32ネイティブアプリなのでした。