by 水波形 » 2012年2月07日(火) 22:50
あ~……
すいません、完全にぼけていました……
Win 7 64bit
HOME
です。
AB4.24.00を使ってます。
コードの抜き出し。
と言っても、上のサンプルページのコピ&ペーストですが
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]コード: 全て選択
#include <api_commctrl.sbp>
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Const ID_TOOLBAR = 70 'ツールバーのID
Const ID_STATUS = 71 'ステータスバーのID
Dim hToolbar As DWord 'ツールバーのハンドル
Dim hImageList As DWord 'イメージリストのハンドル
Dim hStatus As DWord 'ステータスバーのハンドル
Type NONCLIENTMETRICS
cbSize As Long ' 構造体のサイズ
iBorderWidth As Long ' 境界線の太さ
iScrollWidth As Long ' 縦スクロールバーの幅
iScrollHeight As Long ' 横スクロールバーの高さ
iCaptionWidth As Long 'キャプションのボタンの幅
iCaptionHeight As Long ' キャプションのボタンの高さ
lfCaptionFont As LOGFONT ' キャプションが使用するフォント
iSmCaptionWidth As Long ' ツールバーのキャプションのボタンの幅
iSmCaptionHeight As Long ' ツールバーのキャプションのボタンの高さ
lfSmCaptionFont As LOGFONT ' ツールバーのキャプションで使用するフォント
iMenuWidth As Long ' メニューバーのボタンの幅
iMenuHeight As Long ' メニューバーのボタンの高さ
lfMenuFont As LOGFONT ' メニューが使用するフォント
lfStatusFont As LOGFONT ' ステータスバーとチップヘルプが使用するフォント
lfMessageFont As LOGFONT ' メッセージボックスが使用するフォント
End Type
Sub SetTbButtonData(ByRef ptb As TBBUTTON, iBitmap As Long, idCommand As Long, fsState As Byte, fsStyle As Byte)
With ptb
.iBitmap=iBitmap
.idCommand=idCommand
.fsState=fsState
.fsStyle=fsStyle
.dwData=0
.iString=0
End With
End Sub
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
'イメージリストを破棄
ImageList_Destroy(hImageList)
test_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
'ツールバー設定
Dim ic As INITCOMMONCONTROLSEX
Dim tbb[4] As TBBUTTON
Dim style As Long
'コモンコントロールの初期化
ic.dwSize=Len(ic)
ic.dwICC=ICC_BAR_CLASSES
InitCommonControlsEx(ic)
'ボタン情報をセット
SetTbButtonData(tbb[0],0,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON)
SetTbButtonData(tbb[1],1,IDM_OPEN,TBSTATE_ENABLED,TBSTYLE_BUTTON)
SetTbButtonData(tbb[2],2,IDM_SAVE,TBSTATE_ENABLED,TBSTYLE_BUTTON)
SetTbButtonData(tbb[3],0,0,TBSTATE_ENABLED,TBSTYLE_SEP)
SetTbButtonData(tbb[4],3,IDM_ABOUT,TBSTATE_ENABLED,TBSTYLE_BUTTON)
'ツールバーを生成
hToolbar=CreateToolbarEx(hMainWnd,WS_CHILD or WS_VISIBLE,ID_TOOLBAR,4,GetModuleHandle(0),IDB_BITMAP1,tbb,5,0,0,16,15,Len(tbb[0]))
End Sub
あ~……
すいません、完全にぼけていました……
Win 7 64bit
HOME
です。
AB4.24.00を使ってます。
コードの抜き出し。
と言っても、上のサンプルページのコピ&ペーストですが
[hide][code]#include <api_commctrl.sbp>
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Const ID_TOOLBAR = 70 'ツールバーのID
Const ID_STATUS = 71 'ステータスバーのID
Dim hToolbar As DWord 'ツールバーのハンドル
Dim hImageList As DWord 'イメージリストのハンドル
Dim hStatus As DWord 'ステータスバーのハンドル
Type NONCLIENTMETRICS
cbSize As Long ' 構造体のサイズ
iBorderWidth As Long ' 境界線の太さ
iScrollWidth As Long ' 縦スクロールバーの幅
iScrollHeight As Long ' 横スクロールバーの高さ
iCaptionWidth As Long 'キャプションのボタンの幅
iCaptionHeight As Long ' キャプションのボタンの高さ
lfCaptionFont As LOGFONT ' キャプションが使用するフォント
iSmCaptionWidth As Long ' ツールバーのキャプションのボタンの幅
iSmCaptionHeight As Long ' ツールバーのキャプションのボタンの高さ
lfSmCaptionFont As LOGFONT ' ツールバーのキャプションで使用するフォント
iMenuWidth As Long ' メニューバーのボタンの幅
iMenuHeight As Long ' メニューバーのボタンの高さ
lfMenuFont As LOGFONT ' メニューが使用するフォント
lfStatusFont As LOGFONT ' ステータスバーとチップヘルプが使用するフォント
lfMessageFont As LOGFONT ' メッセージボックスが使用するフォント
End Type
Sub SetTbButtonData(ByRef ptb As TBBUTTON, iBitmap As Long, idCommand As Long, fsState As Byte, fsStyle As Byte)
With ptb
.iBitmap=iBitmap
.idCommand=idCommand
.fsState=fsState
.fsStyle=fsStyle
.dwData=0
.iString=0
End With
End Sub
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As HWND, dwMsg As DWord, wParam As WPARAM, lParam As LPARAM) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
'イメージリストを破棄
ImageList_Destroy(hImageList)
test_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
'ツールバー設定
Dim ic As INITCOMMONCONTROLSEX
Dim tbb[4] As TBBUTTON
Dim style As Long
'コモンコントロールの初期化
ic.dwSize=Len(ic)
ic.dwICC=ICC_BAR_CLASSES
InitCommonControlsEx(ic)
'ボタン情報をセット
SetTbButtonData(tbb[0],0,IDM_NEW,TBSTATE_ENABLED,TBSTYLE_BUTTON)
SetTbButtonData(tbb[1],1,IDM_OPEN,TBSTATE_ENABLED,TBSTYLE_BUTTON)
SetTbButtonData(tbb[2],2,IDM_SAVE,TBSTATE_ENABLED,TBSTYLE_BUTTON)
SetTbButtonData(tbb[3],0,0,TBSTATE_ENABLED,TBSTYLE_SEP)
SetTbButtonData(tbb[4],3,IDM_ABOUT,TBSTATE_ENABLED,TBSTYLE_BUTTON)
'ツールバーを生成
hToolbar=CreateToolbarEx(hMainWnd,WS_CHILD or WS_VISIBLE,ID_TOOLBAR,4,GetModuleHandle(0),IDB_BITMAP1,tbb,5,0,0,16,15,Len(tbb[0]))
End Sub
[/code][/hide]