読者です 読者をやめる 読者になる 読者になる

Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Win32++を使ってみた

スポンサードリンク

f:id:fa11enprince:20150731124708j:plain
毎回自分で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
f:id:fa11enprince:20140213001850p:plain

ソース記述

ソースコードを書きます。
下記は最低限のウィンドウです。

ビルド

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いいかなと思い始めてる今日この頃……。