« [BCB] スクリーンセーバが起動しないようにする | トップページ | [BCB] マウスの押下中だけカーソルを変更する »

[BCB] 独自のマウスカーソルを使う

----------------
1.まずカーソルデータが含まれたリソースファイルを作成 (参考:独自のリソースを使う

mycursor.rc

MyCursor1 CURSOR "Cursor_1.cur"
MyCursor2 CURSOR "Cursor_2.cur"

このファイルをプロジェクトに追加する。

----------------
2.メインフォームのOnCreateでリソースからカーソルを読み込む

//カーソル定数
static const TCursor crMyCursor1=1;
static const TCursor crMyCursor2=2;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Screen->Cursors[crMyCursor1] = LoadCursor(HInstance, "MyCursor1");
  Screen->Cursors[crMyCursor2] = LoadCursor(HInstance, "MyCursor2");
}

カーソル定数はデフォルトの定数(crDefaultなど)と重ならないように定義する。カーソル定数はTCursor型で-32768から32367までの整数であり、BDS2006では-22から0までがデフォルトの定数に使用されている。

注意:カーソルを使い終わってもDestroyCursorを呼び出してはいけない。勝手に開放される。

----------------
3.使いたいことろで、

Image1->Cursor=crMyCursor1;

のように使う。

----------------

« [BCB] スクリーンセーバが起動しないようにする | トップページ | [BCB] マウスの押下中だけカーソルを変更する »

C++Builder」カテゴリの記事

システム関連」カテゴリの記事