WinAPI


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

WinAPIメモ

ネット上にはWinAPIの情報は溢れるほどあるが、
デバイスコンテキストの話とか毎回触るたびに調べるのもしんどいのでメモ。

コンソールアプリケーションからウインドウを作って操作する

某コンテストで視覚情報が貧相なので
C++から触れるデバッグ用ウインドウを作ってみようとしているメモ。
(今思うとsystem()で外部連携すれば楽にできたのでは・・・)

1、CreateThread関数を利用してウインドウメッセージ待機用スレッドを作成する。
2、ThreadMainをスレッドエントリとして登録する
3、ThreadMaindeでhInstanceを得るためにGetModuleHandle(0)を実行して戻り値を得る。
4、hInstanceが手に入ったので通常のWindowsアプリケーションの通りにウインドウクラスを登録してウインドウを作る。
5、登録したウインドウプロセスでhWnd(ウインドウハンドル)が判るので、デバイスコンテキストを得て描画を行う。
6、扱いやすいようにピクセルデータをあらかじめ用意しておいて、再描画するときに転送するようにする。(今ココ)

もうしんどいのでデバコンが判ってれば簡単にウインドウ描画できるラッパーライブラリを探しています。

公開は今しばらくお待ちを。
一応デバグ用なので、シングルトンで組んでいますが、
各インスタンスがウインドウと対応していると面白いかもね。

用途:
  • C++しか使っちゃだめ!って所(コンテストとか)での視覚付きデバッグ
  • winapiだけしか使っちゃいやよって所での(ry
  • サクっとポンで導入したい方に。
  • pixelデータ処理の車輪の再開発(アルファブレンドや加算等)をされたい方。

つまり、普通は使わないということです。

つまりどころ:
DIB,DeviceContext,SelectObject