2013年12月16日月曜日

WindowsAPI : デバイスコンテキストって?

なんか描画するヤツ。

APPがWindowsさんに渡すと、
Windowsさんがせっせと、仕事をしてくれる。
その仲介役 デバイスコンテキスト

//ウィンドウズハンドルから、デバイスコンテキストを作成
HDC dc = GetDC( hwnd );

//ペンを作成
HPEN pen = CreatePen( "わすれた", RGB(255,0,0) );

//ペンの持ち替え、戻り値は現在dcが持っている penらしい。
//そしてなぜか HGDIOBJ型
HGDIOBJ old_pen = SelectObject( dc, pen ) ;

//円を描く命令
BOOL res = Ellips( dc, 10, 50, 200, 150);

//ペンを戻す
SelectObject( dc, oldPen);

//ペンを解放
DeleteObject( pen );

//デバイスコンテキストを解放
ReleaceDC(hwnd, dc);


※中身は適当です


ReleaceDC or DeleteDC?

で、このデバイスコンテキスト
ReleaceDC, とDeleteDC,の時がある
この二つの違いについてわからなかったが
先生のためのExcel Tipsにその内容があった

つまり
GetDC, GetWindowDCのときは
ReleaceDC

CreateDCの時は
DeleteDCである

取得、削除の違いだね。中身がどう変わるかわからんが。


"フルスクラッチによるグラフィックスプログラミング入門"
を参考に読んでるんだけど、
扱っている開発環境が古くて、
そのままでは使えない

いや、内容的にはかなり良い本なのですが :p

必要な所だけ、取り込む形式で読んでいるけど、
クラスが前程だったり、アセンブラがあったりで、かなり難易度が高い

超初心者の本から、初心者、中級者向けのステップアップ本ってなかなか無いよね

まあ、まったりと進めるしかないなぁ

0 件のコメント:

コメントを投稿