by 淡幻星 » 2005年8月04日(木) 03:17
			
			
			> 自分のしたい結果にはなりませんでした。
というのが、どういう状況かは分かりませんので、なんとも言えませんが。
> 簡単なサンプルでも良いので、教えてください。よろしくお願いします。
RADを使用して、MainWnd に貼り付けたリストボックスのIDを
ListBox1 とします。
以下の MainWnd.sbp で変更した場所は「
TODO: この位置に~」と「
Sub MainWnd_Create()」です。
WSLib_MacroEmuVer2.x.sbp は実践コードモジュール
の
http://www.discoversoft.net/forum/viewtopic.php?t=214のコードです。
まぁ、使っているのはLineInputだけですが(^^;)。
コード: 全て選択
'-----------------------------------------------------------------------------
'  イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
#include <WSLib_MacroEmuVer2.x.sbp>
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
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()
	TestWnd_DestroyObjects()
	PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
	Dim strBuf As String
	Dim strFile As String
	Dim retAns As Long
	Dim hList As Long
	'読み取るファイルの絶対パスを指定して下さい。
	strFile = "***\ActiveBasic3.x\project\TestWnd\file.txt"
	'リストボックスのハンドルを得る。
    hList = GetDlgItem( hMainWnd, ListBox1 )
	Open strFile For Input As #1
		While( Eof(1)=0 )
			'ファイル内容の一行ずつの読み取り
			LINEINPUT 1, strBuf
			'読み取ったファイル内容の追加
			retAns = SendMessage( hList, LB_ADDSTRING, 0, StrPtr( strBuf ) )
		Wend
	Close #1
End Sub
Ver3.13で確認。
 
			
			
							> 自分のしたい結果にはなりませんでした。
というのが、どういう状況かは分かりませんので、なんとも言えませんが。
> 簡単なサンプルでも良いので、教えてください。よろしくお願いします。
RADを使用して、MainWnd に貼り付けたリストボックスのIDを[b]ListBox1[/b] とします。
以下の MainWnd.sbp で変更した場所は「[i]TODO: この位置に~[/i]」と「[i]Sub MainWnd_Create()[/i]」です。
WSLib_MacroEmuVer2.x.sbp は実践コードモジュール
の[url]http://www.discoversoft.net/forum/viewtopic.php?t=214[/url]のコードです。
まぁ、使っているのはLineInputだけですが(^^;)。
[code]
'-----------------------------------------------------------------------------
'  イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
#include <WSLib_MacroEmuVer2.x.sbp>
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
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()
	TestWnd_DestroyObjects()
	PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
	Dim strBuf As String
	Dim strFile As String
	Dim retAns As Long
	Dim hList As Long
	'読み取るファイルの絶対パスを指定して下さい。
	strFile = "***\ActiveBasic3.x\project\TestWnd\file.txt"
	'リストボックスのハンドルを得る。
    hList = GetDlgItem( hMainWnd, ListBox1 )
	Open strFile For Input As #1
		While( Eof(1)=0 )
			'ファイル内容の一行ずつの読み取り
			LINEINPUT 1, strBuf
			'読み取ったファイル内容の追加
			retAns = SendMessage( hList, LB_ADDSTRING, 0, StrPtr( strBuf ) )
		Wend
	Close #1
End Sub
[/code]
Ver3.13で確認。