プログラミング
GDI、GDI+、DirectXの描画を実装してみた。 実行中に切り替えたいが、まだ切替ができない。
前回、ソースコードの分割方法を検討した。 ライブラリ化せずに、VC++のフィルタやファイルシステム上のディレクトリ構造にて分類した。 今回はそれに加えて名前空間もつけてみた。
私が以前つくったコードのうち、Uuidライブラリを利用している部分がある。 じつはあれ、マルチバイト文字セットを使う設定にするとエラーになる。 今回は対応版を作ってみた。
ライブラリ化するとファイルサイズが肥大化した。 そこで、ライブラリ化せずに分割する方法を探した。
1つのプロセスで複数のWindowがあり、なおかつWindowの機能ごとにWndProcを分割して実装したい。
前回、WndProcを分割して記述できるようなラッパを作った。 でも、Windowは1つしか作れなかった。ふつうはそれで十分なはず。 今回は複数のWindowごとに分割できるようなラッパを作ってみた。 ただし、前回のように1つのWindowのWndProcを分割することはでき…
Windowsプログラミングしていると、WndProc関数に実装が集中してしまう。 アプリの機能ごとに分割して実装したい。 方法を考え、実装してみた。
複数プロジェクト化の手順をメモしておく。
Joystick(GamePad)の入力を受け付けてみた。 JoyStickの動作確認、構造体の値を表示するアプリができた。
C++における文字列の扱い C++における文字列の扱いはとてつもなく複雑。 文字セット、型、関数などいろいろあるので調べてみた。
C++のメモリ確保と解放について調べてみた。
Windowに複数マウス座標点を表示してみた。
JoyPad, PenTab, Mouse, を検出できたっぽい。
Raw Input は入力デバイスを制御する低レベルAPI。 複数のマウスやキーボードを検出したりできるっぽい。
プロジェクト設定などをメモしておく。
GDI+を利用するとき、GdiPlus.dllを参照する必要があった。 このときの設定方法をメモしておく。
WindowsAPIの学習をした結果、できた成果物の一覧。
Visual C++ 2010 Express にて Win32 プロジェクトを作成。 メッセージボックスを表示するだけのアプリを作った。
色空間のHSVとRGBをスライダーで編集して表示するアプリを作った。
RGBとHSVの値を相互に変換してUIに表示するべく奮闘した。 散々調べたり試した結果、Bindingだと無限ループになってしまう。
前回、Formのイベント駆動におけるUI連動が煩雑だった。 そこで、WPFでBindingしてみた。 コードがすっきりしていい感じになった。
HSVとRGBの両方で色を編集できるようにしてみた。
HSV変換クラスライブラリを作ってみた。 HSVとRGB(System.Drawing.Color)を相互変換できる。
DataBindingにてNumericUpDownとTrackBarを連動させてみた。
前回の色編集アプリを改修しました。 色を表示する面積を増やしました。
色編集アプリを改修しました。 ウインドウサイズ変更に伴い、適切にUIが配置されるようにしました。
色編集アプリのUIとしてTrackBarを使いました。 前回のHScrollBarにおける罠と欠点が解消されていました。しかし、別の残念な点がありました。
色編集アプリのUIとしてHScrollBarを使いました。 しかし、罠と欠点がありました。
色編集アプリのUIとして、NumericUpDownとHScrollBarを使いました。 これらの連動をするとき、イベントハンドラの登録と解除をすることで無限ループを回避しました。
ことのはじまりはプログラミングと色に関する興味。 実用性よりも、動くものを形にすることが目標。