CButton にビットマップを貼り付けていたのだが,Windows2000 で見ると背景色がダイアログの背景と違う。Win98 と Win2000 で微妙に色が変わっていた訳だが,結局
CBitmap::LoadBitmap() で CButton に CButton::SetBitmap()
していたのを
CBitmap::LoadMappedBitmap() (引数はデフォルト)
に変えることで背景がきちんと対応するシステムカラーに置き換えられた。
(とりあえず 16 色ビットマップだけしか試してないが。)
CWnd 派生クラスで WM_CHAR が送られてこないで困る。実際には BackSpase とかを押すと警告が鳴る。詳しくは調べてないが,結局 MFC が WM_CHAR をとっているからで,PreTranslateMessage で WM_CHAR を横取ることで解決。
でも昔 CView でやったときは大丈夫だったのだが。