Windows組込ビットマップを表示          <TOP>


Windowsに組み込まれているビットマップ(OBM_LFARROWI:32734〜OBM_UPARROW:32753)を表示します。

DrawState イメージを加工して表示する

LoadImage 画像ファイルの読み込み

 

WindowsXP

Windows98

 

'================================================================
'= Windows組込ビットマップを表示
'=    (DrawState.bas)
'================================================================
#include "Windows.bi"

' イメージを加工して表示する
Declare Function Api_DrawState& Lib "user32" Alias "DrawStateA" (ByVal hDC&, ByVal hbr&, ByVal lpOutputFunc&, ByVal lData&, ByVal wData&, ByVal X&, ByVal Y&, ByVal cx&, ByVal cy&, ByVal fuFlags&)

' 画像ファイルの読み込み
Declare Function Api_LoadImage& Lib "user32" Alias "LoadImageA" (ByVal hInst&, ByVal lpszName&, ByVal uType&, ByVal cxDesired&, ByVal cyDesired&, ByVal fuLoad&)

' 指定されたウィンドウのクライアント領域または画面全体を表すディスプレイデバイスコンテキストのハンドルを取得
Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&)

' デバイスコンテキストを解放
Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&)

#define IMAGE_BITMAP 0                  'ビットマップ
#define IMAGE_CURSOR 2                  'カーソル
#define IMAGE_ENHMETAFILE 3             '拡張メタファイル
#define IMAGE_ICON 1                    'アイコン
#define DST_BITMAP &H4                  'ビットマップ
#define LR_DEFAULTSIZE &H40             '標準サイズで表示

'/ Windows組込ビットマップ(32734〜32753)
#define OBM_LFARROWI        32734
#define OBM_RGARROWI        32735
#define OBM_DNARROWI        32736
#define OBM_UPARROWI        32737
#define OBM_COMBO           32738
#define OBM_MNARROW         32739
#define OBM_LFARROWD        32740
#define OBM_RGARROWD        32741
#define OBM_DNARROWD        32742
#define OBM_UPARROWD        32743
#define OBM_RESTORED        32744
#define OBM_ZOOMD           32745
#define OBM_REDUCED         32746
#define OBM_RESTORE         32747
#define OBM_ZOOM            32748
#define OBM_REDUCE          32749
#define OBM_LFARROW         32750
#define OBM_RGARROW         32751
#define OBM_DNARROW         32752
#define OBM_UPARROW         32753

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Ret As Long
    Var hDC As Long
    Var hImage As Long
    Var x As Integer
    Var OBM As Integer

    hDC = Api_GetDC(GethWnd)
    x = 10
    For OBM = 32734 To 32753
        hImage = Api_LoadImage(0, OBM, IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE)
        Ret = Api_DrawState(hDC, 0, 0, hImage, 0, x, 10, 0, 0, DST_BITMAP)
        x = x + 20
    Next
        Ret = Api_ReleaseDC(GethWnd, hDC)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End