by ゲスト » 2008年4月14日(月) 05:21
konisi さん
ありがとうございます!
以下が全ソースです。(ごめんなさい)
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
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()
TextEditor_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Resize(SizeType As Long, cx As Integer, cy As Integer)
dim rc as RECT
dim hEdit2 as HWND
'クライント領域のサイズを取得
GetClientRect(hMainWnd,rc)
'EditBox1のウィンドウハンドルを取得
hEdit2=GetDlgItem(hMainWnd,EditBox1)
'hEditの大きさを変更する
MoveWindow(hEdit2,0,0,rc.right,rc.bottom,0)
'フォーカスをセット
SetFocus(hEdit2)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
dim hEdit as HWND
Dim ofn As OPENFILENAME
dim hFile as HWND
dim dwFileSize as DWord
dim dwAccessByte as DWord
dim FileName[MAX_PATH-1] as Byte
dim buffer as BytePtr
FillMemory(VarPtr(ofn),Len(ofn),0)
'ofn.lpstrInitialDir=NULL
ofn.lStructSize=Len(ofn)
ofn.hwndOwner=hMainWnd
ofn.lpstrFilter=Ex"all files(*.*)\0*.*\0\0"
ofn.nFilterIndex=1
ofn.lpstrFile=GetCommandLine()
ofn.nMaxFile=MAX_PATH
ofn.lpstrTitle=""
ofn.Flags=OFN_EXPLORER or OFN_ALLOWMULTISELECT OR OFN_OVERWRITEPROMPT or OFN_FILEMUSTEXIST or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST
ofn.lpstrDefExt="*"
hFile=CreateFile(ofn.lpstrFile,GENERIC_READ,FILE_SHARE_READ OR FILE_SHARE_WRITE,ByVal 0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0)
if hFile=INVALID_HANDLE_VALUE then
MessageBox(hMainWnd,"Can not open the file",ofn.lpstrFile,MB_ICONEXCLAMATION)
End If
dwFileSize=GetFileSize(hFile,0)
buffer=malloc(dwFileSize+1)
ReadFile(hFile,buffer,dwFileSize,VarPtr(dwAccessByte),ByVal 0)
buffer[dwAccessByte]=0
CloseHandle(hFile)
hEdit=GetDlgItem(hMainWnd,EditBox1)
SetWindowText(hEdit,buffer)
free(buffer)
SetFocus(hEdit)
End Sub
konisi さん
ありがとうございます!
以下が全ソースです。(ごめんなさい)
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
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()
TextEditor_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Resize(SizeType As Long, cx As Integer, cy As Integer)
dim rc as RECT
dim hEdit2 as HWND
'クライント領域のサイズを取得
GetClientRect(hMainWnd,rc)
'EditBox1のウィンドウハンドルを取得
hEdit2=GetDlgItem(hMainWnd,EditBox1)
'hEditの大きさを変更する
MoveWindow(hEdit2,0,0,rc.right,rc.bottom,0)
'フォーカスをセット
SetFocus(hEdit2)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
dim hEdit as HWND
Dim ofn As OPENFILENAME
dim hFile as HWND
dim dwFileSize as DWord
dim dwAccessByte as DWord
dim FileName[MAX_PATH-1] as Byte
dim buffer as BytePtr
FillMemory(VarPtr(ofn),Len(ofn),0)
'ofn.lpstrInitialDir=NULL
ofn.lStructSize=Len(ofn)
ofn.hwndOwner=hMainWnd
ofn.lpstrFilter=Ex"all files(*.*)\0*.*\0\0"
ofn.nFilterIndex=1
ofn.lpstrFile=GetCommandLine()
ofn.nMaxFile=MAX_PATH
ofn.lpstrTitle=""
ofn.Flags=OFN_EXPLORER or OFN_ALLOWMULTISELECT OR OFN_OVERWRITEPROMPT or OFN_FILEMUSTEXIST or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST
ofn.lpstrDefExt="*"
hFile=CreateFile(ofn.lpstrFile,GENERIC_READ,FILE_SHARE_READ OR FILE_SHARE_WRITE,ByVal 0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0)
if hFile=INVALID_HANDLE_VALUE then
MessageBox(hMainWnd,"Can not open the file",ofn.lpstrFile,MB_ICONEXCLAMATION)
End If
dwFileSize=GetFileSize(hFile,0)
buffer=malloc(dwFileSize+1)
ReadFile(hFile,buffer,dwFileSize,VarPtr(dwAccessByte),ByVal 0)
buffer[dwAccessByte]=0
CloseHandle(hFile)
hEdit=GetDlgItem(hMainWnd,EditBox1)
SetWindowText(hEdit,buffer)
free(buffer)
SetFocus(hEdit)
End Sub