ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

SystemParametersInfo でデスクトップ領域を取得 

更新 : 2009/10/29

 



解説:
以下は、タスクバーの領域を省いたデスクトップの領域を取得する方法です。

表示されている Window の幅や高さなどのサイズを知りたい時はちょくちょくあります。
ここでは、SystemParametersInfo 関数を使って、デスクトップの領域を取得してみます。

SystemParametersInfo は、引数で非常に多くのパラメータ定数値があり、この関数を使うとコントロールパネルを使用して、デスクトップから指定できる Windows の設定が可能になります。

使用例:
SystemParametersInfo 関数を使って、タスクバーの領域を省いたデスクトップの領域を取得しています。

コンポーネントは、 Memo と Button を適当に配置するだけです。
Button1 をクリックすると、SystemParametersInfo 関数の引数に SPI_GETWORKAREA を渡し、
デスクトップ領域を得ています。領域は TRect に格納されます。

他の情報も取得したり、設定できますのでいろいろ試してみてください。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    /*
    SystemParametersInfo 関数は、 システム ワイド パラメータの問い合わせ
    または設定を行います。
    */

    TRect rect;
    ::SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);

    Memo1->Lines->Add("デスクトップ領域");
    Memo1->Lines->Add("Top : " + IntToStr(rect.Top));
    Memo1->Lines->Add("Left : " + IntToStr(rect.Left));
    Memo1->Lines->Add("Width : " + IntToStr(rect.Right));
    Memo1->Lines->Add("Height : " + IntToStr(rect.Bottom));
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.