by Tz » 2005年6月26日(日) 00:11
すみません、ちょっと質問します。
AB4において、RADツールでノーマルウィンドウを作成し、そこに、コントロールから水平スクロールバー「HScrollBar1」を一つ貼り付けた状態で、イベントの「Create」を追加し、以下のようなコードを組みました。
単純に、スクロールボックスを中央に持っていくだけのプログラムのはずなので、確かに、スクロールボックスは、中央に行くのですが、なぜか、このスクロールバーの3Pixel程度上にもう一つスクロールバーが現れてしまいます。
この勝手に現れるスクロールバーを消すことはできないのでしょうか?
開発環境
Windows 2000 SP4
Active Basic 4.02
'以下MainWnd.sbpのファイルの中
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As DWord, dwMsg As DWord, wParam As DWord, lParam As DWord) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
ScrollTest_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
'スクロールボックスを中央へ
Dim lpsi As SCROLLINFO
lpsi.fMask=SIF_PAGE Or SIF_POS Or SIF_RANGE
lpsi.nPage=11
lpsi.nPos=45
lpsi.nMin=0
lpsi.nMax=100
lpsi.cbSize=Len(lpsi)
SetScrollInfo(GetDlgItem(hMainWnd,HScrollBar1),SB_HORZ,lpsi,FALSE)
'ここまで
End Sub
すみません、ちょっと質問します。
AB4において、RADツールでノーマルウィンドウを作成し、そこに、コントロールから水平スクロールバー「HScrollBar1」を一つ貼り付けた状態で、イベントの「Create」を追加し、以下のようなコードを組みました。
単純に、スクロールボックスを中央に持っていくだけのプログラムのはずなので、確かに、スクロールボックスは、中央に行くのですが、なぜか、このスクロールバーの3Pixel程度上にもう一つスクロールバーが現れてしまいます。
この勝手に現れるスクロールバーを消すことはできないのでしょうか?
開発環境
Windows 2000 SP4
Active Basic 4.02
'以下MainWnd.sbpのファイルの中
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As DWord, dwMsg As DWord, wParam As DWord, lParam As DWord) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
ScrollTest_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
'スクロールボックスを中央へ
Dim lpsi As SCROLLINFO
lpsi.fMask=SIF_PAGE Or SIF_POS Or SIF_RANGE
lpsi.nPage=11
lpsi.nPos=45
lpsi.nMin=0
lpsi.nMax=100
lpsi.cbSize=Len(lpsi)
SetScrollInfo(GetDlgItem(hMainWnd,HScrollBar1),SB_HORZ,lpsi,FALSE)
'ここまで
End Sub