/*-------------------------------------- ; 作成者のURL ---> http://www.setsuki.com/ ;---------- ---------- ---------- ------ ; 使用例) #include "cursor.as" ; カーソルの変更 setSysCursor IDC_NO ; アイコンの描画 icon_ID = IDI_APPLICATION, IDI_HAND, IDI_QUESTION, IDI_EXCLAMATION,IDI_ASTERISK, IDI_WINLOGO repeat length(icon_ID) pos 64*cnt, 0 : drawSysIcon icon_ID.cnt loop -------------------------------------*/ #include "user32.as" // カーソル ID #const global IDC_APPSTARTING 0x00007F8A ; 砂時計付き矢印カーソル #const global IDC_ARROW 0x00007F00 ; 標準矢印カーソル #const global IDC_CROSS 0x00007F03 ; 十字カーソル #const global IDC_HAND 0x00007F89 ; Windows 98/Me/2000/XP:ハンドカーソル #const global IDC_HELP 0x00007F8B ; クエスチョンマーク付き矢印カーソル #const global IDC_IBEAM 0x00007F01 ; アイビーム (縦線) カーソル #const global IDC_NO 0x00007F88 ; 禁止カーソル #const global IDC_SIZEALL 0x00007F86 ; 4 方向矢印カーソル #const global IDC_SIZENESW 0x00007F83 ; 斜め左下がりの両方向矢印カーソル #const global IDC_SIZENS 0x00007F85 ; 上下両方向矢印カーソル #const global IDC_SIZENWSE 0x00007F82 ; 斜め右下がりの両方向矢印カーソル #const global IDC_SIZEWE 0x00007F84 ; 左右両方向矢印カーソル #const global IDC_UPARROW 0x00007F04 ; 垂直の矢印カーソル #const global IDC_WAIT 0x00007F02 ; 砂時計カーソル // システムアイコン ID #define global IDI_APPLICATION 32512 ;アプリケーションアイコン #define global IDI_HAND 32513 ;ストップ印のアイコン #define global IDI_ERROR 32513 ;上に同じ #define global IDI_QUESTION 32514 ;疑問符のアイコン #define global IDI_WARNING 32515 ;上に同じ #define global IDI_EXCLAMATION 32515 ;感嘆符のアイコン #define global IDI_ASTERISK 32516 ;アスタリスクのアイコン (吹き出しの中に i の文字) #define global IDI_INFORMATION 32516 ;上に同じ #define global IDI_WINLOGO 32517 ;Windows ロゴアイコン #define global IMAGE_BITMAP 0 ;ビットマップ #define global IMAGE_ICON 1 ;アイコン #define global IMAGE_CURSOR 2 ;カーソル #define global IMAGE_ENHMETAFILE 3 ;拡張メタファイル #define global LR_CREATEDIBSECTION 0x2000 ;デバイス独立ビットマップとしてロードする #define global LR_DEFAULTCOLOR 0x0 ;デフォルト #define global LR_DEFAULTSIZE 0x40 ;幅・高さの指定がゼロであれば、システムメトリック値のサイズを採用する #define global LR_LOADFROMFILE 0x10 ;外部ファイルからロードする #define global LR_LOADMAP3DCOLORS 0x1000 ;カラーテーブルを走査して、3Dカラーをシステム値に置き換える #define global LR_LOADTRANSPARENT 0x20 ;最初のピクセルデータを背景色と見なし、システム値に置き換える #define global LR_MONOCHROME 0x1 ;白黒イメージとしてロード #define global LR_SHARED 0x8000 ;イメージハンドルを固定する #define global LR_COPYFROMSOURCE 0x4000 ;リソースから読み込む #module ;---------- ---------- ---------- ------ ; カーソルの変更 ;---------- ---------- ---------- ------ #deffunc setSysCursor int p1 ; カーソルハンドルの取得 LoadImage 0, p1, IMAGE_CURSOR, 0, 0, LR_SHARED : hCursor = stat ;LR_SHAREDの場合は、メモリ解放(DestroyCursor)は無くて良い ; カーソル変更 SetClassLongA hwnd, -12, hCursor SetCursor hCursor return ;---------- ---------- ---------- ------ ; アイコンの描画 ;---------- ---------- ---------- ------ #deffunc drawSysIcon int p1 LoadImage 0, p1, IMAGE_ICON, 0, 0, LR_SHARED|LR_DEFAULTSIZE DrawIconEx hdc, ginfo_cx, ginfo_cy, stat, 0, 0, 0, 0, 3|4 redraw 1 return ;---------- ---------- ---------- ------ #global