ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 18:51

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年5月30日(月) 19:08 
多分、初歩的な質問になります。

”Win32プログラミング講座 ~ Step11. テキスト エディタを作る ~”でメニューに”名前を付けて保存”を加えたいと思ったんですが、どう
言う所作になるのかさっぱり解りません。

良かったら、ソース?とアドバイスをいただけませんでしょうか?

お願いします。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年5月30日(月) 19:08 
現在のStep 11の保存は実質的に名前をつけて保存になっています。
なのでこれを名前をつけて保存にして、新たに上書き保存の実現を図ることになります。

上書き保存はファイルを開いている状態であればそこへ書き出し、そうでなければ名前をつけて保存と同じ挙動をします。(どんなソフトもこういう挙動をしています)

例えばファイルハンドルをグローバル変数にする方法があります。
開くを選んだときにCreateFile()でファイルを開き、中身を読み込んだ後にCloseHandle()を呼ばず、そのグローバル変数へハンドルをしまいます。
上書き保存時にはこれに何かハンドルが入っていればファイルが開かれていると判断することにして、上書き保存ではそのハンドルへ書き出します。
ハンドルがNULLなどであった場合はファイルが開かれていないということなので名前をつけて保存のイベントの関数を呼び出すようにすれば良いでしょう。

そして名前をつけて保存のときやプログラムが終了するときにはグローバル変数のハンドルが有効かどうかを判断し、有効なハンドルであればCloseHandle()を呼ぶようにすれば完璧でしょう。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年5月30日(月) 19:09 
ありがとうございました。
実際にプログラムを動作させてみて、確認できました。

ただ、残念ながら、書いていただいた”上書き保存”は、まだ、内容が理解できません。
現在勉強中なので。

勉強課題にします。

ありがとうございました。


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: Ahrefs [Bot], Bing [Bot] & ゲスト[17人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean