プログラマーズマガジン Windows 16bitからWindows 32bitへの移植



 16bit WindowsからWindows 32bitへの移植に関して、 WindowsのAPIとメッセージの変更点について説明します。

(1)スモールサイズアイコンを登録するための変更(この変更は行わなくても動作します)。
RegisterClass()をRegisterClassEx()するなどの方法でスモールサイズアイコンを 登録できます。

(2)キーボードフォーカス関係の処理
GetFocus()、SetFocus()を使用している個所で期待通りの動作をしないかも知れません。 その場合は、GetForegroundWindow()、SetForegroundWindw()に変更します。

(3)FreeProcInstance()を呼んでいるとコンパイラがWarningを表示します。
単純に削除します。

(4)WM_VSCROLLのwParam、lParamの意味が変わっている。
wParamをLOWORD(wParam)、LOWORD(lParam)をHIWORD(wParam)に変更します。

(5)Windows 32bit用へのコントロールの変更
通常はリコンパイルだけでWindows 32bitの新しいコントロールになります。 しかし、ファイル名指定用のコントロールなどでENABLEHOOKをしていると古い コントロールのままです。

(6)MoveTo()関数
これは一例ですが、関数が廃止されて...Ex()となったものがいくつかあります。 MoveTo()はMoveToEx()に変更します。パラメータが一つ増えますがNULLを指定すれば 同じように動作します。