ファイル選択画面を使う場合
ファイル選択画面を使う場合
いとちゃんといいます。いつも皆様のレスポンスには助けられております。
AB424にて、1つのDATファイルの内容を書き換えるプログラムができました。そこでは、Cドライブの直下にある特定のファイルについてのみ機能が確認されたのですが
Windowsで、よくあるファイル参照画面のようなものを今後組み込みたいと
思います。
APIの組み込みということになるのでしょうが、初歩的で恐れ入りますが
設定方法などご教示願えれば幸いです。
AB424にて、1つのDATファイルの内容を書き換えるプログラムができました。そこでは、Cドライブの直下にある特定のファイルについてのみ機能が確認されたのですが
Windowsで、よくあるファイル参照画面のようなものを今後組み込みたいと
思います。
APIの組み込みということになるのでしょうが、初歩的で恐れ入りますが
設定方法などご教示願えれば幸いです。
今学校から適当に打ってるのですが、こんな感じでどうでしょう?
コード: 全て選択
Function OpenFileName() As *Byte
Dim ofn As OPENFILENAME
OpenFileName=calloc(MAX_PATH)
'OPENFILENAME構造体の初期化
FillMemory(VarPtr(ofn),Len(ofn),0)
ofn.lStructSize=Len(ofn)
ofn.lpstrFilter=Ex"(all file)\0*.*\0\0"
ofn.nFilterIndex=1
ofn.lpstrFile=OpenFileName
ofn.nMaxFile=MAX_PATH
ofn.lpstrTitle="ファイルを開く"
ofn.Flags=OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_EXPLORER
ofn.lpstrDefExt="*"
'「ファイルを開く」ダイアログボックスを表示
If GetOpenFileName(ofn)=0 Then
free(OpenFileName)
OpenFileName=0
Exit Sub
End If
End Function
Dim FileName As *Byte
FileName=OpenFileName()
If FileName=0 then ExitProcess(0)
Open MakeStr(FileName) As #1
' ...
Close #1
free(FileName)
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ウインドウが開けたのはいいのですが・・・・・
ウインドウが開けたのはいいのですが・・・・・
メインのプログラムの後ろにウインドウが開いてしまいます。
実行の順番がいけないのかと思いましたが変えても、裏画面にひっこんで
表示されてしまいます。
ふつつかものですが、どなたかお分かりの方よろしくお願いいたします。
メインのプログラムの後ろにウインドウが開いてしまいます。
実行の順番がいけないのかと思いましたが変えても、裏画面にひっこんで
表示されてしまいます。
ふつつかものですが、どなたかお分かりの方よろしくお願いいたします。
Re: ウインドウが開けたのはいいのですが・・・・・
> メインのプログラムの後ろにウインドウが開いてしまいます。
>
> 実行の順番がいけないのかと思いましたが変えても、裏画面にひっこんで
> 表示されてしまいます。
メインウィンドウが「最前面」で、OPENFILENAME構造体の hwndOwner が NULL になっていないでしょうか?
OPENFILENAME構造体の hwndOwner にはメインウィンドウのウィンドウハンドルを指定します。
>
> 実行の順番がいけないのかと思いましたが変えても、裏画面にひっこんで
> 表示されてしまいます。
メインウィンドウが「最前面」で、OPENFILENAME構造体の hwndOwner が NULL になっていないでしょうか?
OPENFILENAME構造体の hwndOwner にはメインウィンドウのウィンドウハンドルを指定します。
上のOpenFileName関数で言うところの、
FillMemory関数以降If文以前の位置(ofnがたくさん書いてあるあたり)に
ofn.hwndOwner=hMainWnd
などと書いてみてはどうでしょう?
FillMemory関数以降If文以前の位置(ofnがたくさん書いてあるあたり)に
ofn.hwndOwner=hMainWnd
などと書いてみてはどうでしょう?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
本題とは関係ないんですが。
都合三回、konishiと間違えて呼ばれている件について。
どうでもいい事なんですが、何故か拘ってしまいます。
どうでもいい事なんですが、何故か拘ってしまいます。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ここ以外の場所では「暇人13世」というHNを主として使用。
に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
どうもすみませんでした。
konisiさんへ
いままで間違いに気づきませんでした。どうもすみませんでした。
他意はございませんのでお許しください。
他に比べて具体的かつ正しいメッセージを書いて
くださるkonisiさんには大変感謝しております。
ありがとうございます。
草々
いとちゃん
いままで間違いに気づきませんでした。どうもすみませんでした。
他意はございませんのでお許しください。
他に比べて具体的かつ正しいメッセージを書いて
くださるkonisiさんには大変感謝しております。
ありがとうございます。
草々
いとちゃん