毎回自分でWIN32APIのひな形だったり
めちゃくちゃ薄いラッパー書くのめんどくさいですよね。
…WIN32APIのひな形だけならVC++が自動で作ってくれるけどもC言語の構造化プログラム丸出しで
あぁ…って感じのしか作れないから……。
かといってATLやMFC使うまでもない…ってこともあったり。
そんなときに使いやすそうなライブラリがWin32++。いまだにメンテされてる模様。
そんなわけでWin32++を使ってみました。
DLLになっているわけではなく、
ソースコードそのものがヘッダのまま提供されているので非常に楽です。
ダウンロード
http://sourceforge.net/projects/win32-framework/
からダウンロードします。
インストール
任意のところで展開します。
展開すると、
Win32++ ├── 3rd Party Software ├── About these folders.txt ├── help ├── include ├── new projects ├── output ├── samples ├── tools ├── tutorials └── WCE samples
となっています。
C:\Win32++
にフォルダを作る。
その中にincludeフォルダをコピーします。
プロジェクト作成
Visual Studioを立ち上げて、
ファイル > 新規作成 > プロジェクトで
Win32プロジェクトを選択します。
名前はお好きな名前を。今回はWin32++Project1としました。
OKを押して、次へ
追加のオプションだけ「空のプロジェクト」にチェックを入れて完了。
プロジェクト設定
次にソリューションエクスプローラー上でプロジェクトを右クリックしてプロパティを選択し、
プロパティページを表示して下記を設定します。
C++の追加のインクルードディレクトリ
C:\Win32++\include
ソース記述
ソースコードを書きます。
下記は最低限のウィンドウです。
ビルド
warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
という警告メッセージがでますが、シカトしてもOKでコンパイルは通ります。
警告メッセージを出さない方法
①4819を無視する設定にする。
②ファイルのコードページを変更する。
どちらかの方法を選択してください。
wincore.hだけなぜかEUC-JPになっているのでSJISに変換します。
なぜかサクラエディタはじめほかのエディタも同様にEUC-JPを認識してくれず、
さらに、SJISに変換してもうまくいかないのでnkfで変換します。
私はCygwin上のnkfを使っていますが、Windows用に配られているnkfでもOKだと思います。
$ nkf -g wincore.h EUC-JP $ nkf -s wincore.h > wincore.h.tmp $ nkf -g wincore.h.tmp ASCII $ mv wincore.h.tmp wincore.h mv: `wincore.h' を上書きしますか? y
んでもやっぱりWTL入れよ……
っていうかWxWidgetいいかなと思い始めてる今日この頃……。