Delphi de Win32API
|
 |
|
|
Delphiでのプログラムに慣れてくると、Win32 API(Windows32ビットアプリケーション・プログラム・インターフェイスの略)を使う場面に出くわすことがが多くなります。Delphiのイベント・プロパティで実装できない機能の多くも、APIを使用することにより、ほとんどは実現できます。
|
しかし多くのAPIリファレンスはC言語でかかれたものであり、Delphiしか知らない人には何がなんだかわかりません。(慣れてくれば問題はなく理解できますが...)
このページはそんなDelphianの為に、Win32 APIをDelphiでの定義・サンプルとともに紹介するリファレンスです。
※もちろんこれがすべてのWin32 APIではありません。
※解説・記述も多少の間違いがあるかもしれませんのでご了承ください。 |
スポンサードリンク
|
ウィンドウ操作 |
|
ウィンドウ(コントロール)の状態を取得したり、設定したりします。
VCLでサポートされていない機能を実現するにはやはりAPIを使うしかありません。
|
|
|
|
メニュー |
|
Menuに関してはほとんどDelphiのVCLに実装されているので、これらの関数を使うことは少ないでしょう。DeleteMenu関数なんかは使う機会があるかも知れないです。 |
|
ペン・ブラシ |
|
TCanvasのペンやブラシはこれらの関数をうまくラップして使いやすくしたものです。
APIを使うとTCanvasでは描けない幅が2以上の破線や、線の始点終点のスタイルなんかも指定できたりします。 |
|
|
|
ビットマップ |
|
ビットマップに関してもAPI機能の多くはTBitmapに実装されていますので、これらの関数を使う機会はそれほど多くないと思います。
ただしDIBを扱う際にはGraphic.pasのGetDIBか、DIBを扱うAPI関数を使用することになるでしょう。 |
|
アイコン |
|
| DelphiでアイコンといえばTIconですが、アイコンに関して言えば取得から描画までAPIを使うことのほうが多いと思うので、覚えておいて損は有りません。 |
|
|
|
カーソル・キャレット |
|
カーソルやキャレットの情報を得たり、表示に関しての操作を行う関数です。
もしキャレットを操作するのなら、VCLにはないためこちらのAPIで実装することになるでしょう。 |
|
描画関係 |
| 描画の下準備をしたり、様々な状態のテキストやイメージを描画する為の関数の集まりです。 |
|
|
図形描画 |
|
TCanvasのRectangleやEllipseなどはこれらのAPIが元になっています。TCanvasのはデバイスコンテキスト(HDC)を意識しなくてもいいことや、GDIオブジェクトの管理を気にしなくてもよくなっており大変使いやすくなっています。 |
|
パス |
|
パスはVCLのグラフィック機能で全くサポートされていません。
パスとは"図形・テキスト描画の輪郭の記録"で、テキストエフェクトなどに良く使われます。
パスを扱うプログラムを書くときには必ずこれらの関数のお世話になると思います。 |
|
|
|
リージョン |
|
パスと同じくリージョンもVCLでは全くサポートされていません。
リージョンとは領域を表す概念であり、丸や四角といった単純な領域はもちろんのこと、どんな複雑な形でも領域として保持しておくことが出きます。 |
|
フォント・テキスト |
|
| テキスト関係のAPIです。VCLでは使えない「縦書きのフォント」などもAPIを使うと書くことができます。 |
|
|
|
クリッピング |
|
矩形・リージョン・パスなどの情報をもとに図形描画を出来ない領域を指定する関数です。 |
|
矩形 |
|
| DelphiでいうところのTRect(長方形の4点の情報を保持する)構造体を操作するための関数です。 |
|
|
|
位置・座標 |
|
描画の開始位置を取得・設定したり、システムの座標系を変換したりする関数です。この中もでスクリーンとクライアント領域の間で座標変換をするScreentoClient関数、ClienttoScreen関数はTControlにも実装されていますしよく使うことになると思います。 |
|
|
|