こっちもエディットボックスを一杯に広げて使うので広げる・・・。
こんな感じになる・・・。
スクロールもできる・・・。
・エディットボックスをウィンドウ一杯に広げる · bg1bgst333/ObjeqtNote@e6af71f · GitHub
こっちもエディットボックスを一杯に広げて使うので広げる・・・。
こんな感じになる・・・。
スクロールもできる・・・。
・エディットボックスをウィンドウ一杯に広げる · bg1bgst333/ObjeqtNote@e6af71f · GitHub
そろそろ、テキストエディタなので、エディットボックスをウィンドウ一杯に広げたい・・・。
まず、Window.hで、
MoveWindowとOnSizeを追加・・・。
MoveWindowは位置とサイズを指定する感じ・・・。
Window.cppで、
MoveWindowは引数をメンバにセットしつつ、APIのMoveWindowで位置サイズ変更・・・。
ウィンドウサイズの変更はWM_SIZEなので、その時の処理はOnSizeに任せる・・・。
引数は型変換がちょっと必要・・・。
で、Window.cppのOnSizeは特に何もしない・・・。
CustomControl.cppはメッセージ処理が別なので、ここもOnSizeに任せる・・・。
このOnSizeはWindow.cppのOnSize・・・。
MainWindow.hにもOnSize・・・。
MainWindow.cppのm_pEditBox->Createで、WS_BORDERを外したり、ES_WANTRETURNや、縦横両方のスクロールバーのスタイルなどを追加・・・。
OnSizeでm_pEditBox->MoveWindowでウィンドウサイズ変更・・・。
cx, cyにウィンドウのクライアント領域の変更後のサイズが格納されるので、m_pEditBoxもそのサイズに合わせる・・・。
こんな感じで画面いっぱいにテキストを書ける・・・。
こちらもtxtファイルのフィルタを追加・・・。
txtを選択できる・・・。
・テキストファイル(*.txt)のフィルタを追加 · bg1bgst333/ObjeqtNote@ed71c91 · GitHub
ここまでbinファイルしか保存できなかったので、txtファイルのフィルタも追加する・・・。
TextFile.hに、
txtファイルのフィルタを追加・・・。
MainMenuBar.cppに、
と、
というようにフィルタ文字列の作成にtxtの処理も追加・・・。
開いて、
テキストファイル(*.txt)というフィルタがあり、txtファイルを選択できる・・・。
もちろん読み込める・・・。
"かきくけこ"を追加し、名前を付けて保存・・・。
ここでもtxtは選択可能・・・。
test1.txtを選択・・・。
上書き確認・・・。
"はい"なら、
保存されてる・・・。
こちらも、読み込みからテキストセットまで一気に・・・。
最初はこうで、
選択すると、
内容を読み込んでセット・・・。
ファイル読み込みから、文字コード変換、テキストのセットまで一気に・・・。
BinaryFile.hは、
ReadとGetFileSizeを追加・・・。
BinaryFile.cppは、
ReadでAPIのReadFileを呼び、
GetFileSizeでAPIのGetFileSize呼ぶ・・・。
TextFile.hは、
ReadとDecodeを追加・・・。
TextFile.cppで、Readは、
Decodeは、
こんな感じで、サイズ取得、バッファ作成、読み込み、文字コード変換・・・。
EditBox.hは、
SetWindowTextを用意・・・。
APIのSetWindowTextでエディットボックスにセット.
MainMenuBar.cppは、
pTextFile->Readで、pMainWindow->m_pEditBox->m_ptszTextに読み込んだテキストが格納される・・・。
これはpMainWindow->m_pEditBox->SetWindowTextを呼ぶことで、エディットボックスに反映される・・・。
この状態で、
開いたら、
こうで、test2.binを選択・・・。
文字が読み込めた・・・。
こちらにも、"開く"ファイルダイアログを実装・・・。
"開く"をクリックして、test2.binを選択すると、
パスが表示される・・・。