読者です 読者をやめる 読者になる 読者になる

ObjeqtNote #23 エディットボックスをウィンドウ一杯に広げる

こっちもエディットボックスを一杯に広げて使うので広げる・・・。こんな感じになる・・・。 スクロールもできる・・・。・エディットボックスをウィンドウ一杯に広げる · bg1bgst333/ObjeqtNote@e6af71f · GitHub

Aoi #22 エディットボックスをウィンドウ一杯に広げる

そろそろ、テキストエディタなので、エディットボックスをウィンドウ一杯に広げたい・・・。まず、Window.hで、 MoveWindowとOnSizeを追加・・・。 MoveWindowは位置とサイズを指定する感じ・・・。Window.cppで、 MoveWindowは引数をメンバにセットしつつ、…

ObjeqtNote #22 テキストファイル(*.txt)のフィルタを追加

こちらもtxtファイルのフィルタを追加・・・。txtを選択できる・・・。・テキストファイル(*.txt)のフィルタを追加 · bg1bgst333/ObjeqtNote@ed71c91 · GitHub

Aoi #21 テキストファイル(*.txt)のフィルタを追加

ここまでbinファイルしか保存できなかったので、txtファイルのフィルタも追加する・・・。TextFile.hに、 txtファイルのフィルタを追加・・・。MainMenuBar.cppに、 と、 というようにフィルタ文字列の作成にtxtの処理も追加・・・。開いて、テキストファイ…

ObjeqtNote #21 ファイル読み込み&文字コード変換&エディットボックスにテキストをセット

こちらも、読み込みからテキストセットまで一気に・・・。最初はこうで、選択すると、内容を読み込んでセット・・・。・ファイル読み込み · bg1bgst333/ObjeqtNote@9f82827 · GitHub

Aoi #20 ファイル読み込み&文字コード変換&エディットボックスにテキストをセット

ファイル読み込みから、文字コード変換、テキストのセットまで一気に・・・。BinaryFile.hは、 ReadとGetFileSizeを追加・・・。BinaryFile.cppは、 ReadでAPIのReadFileを呼び、 GetFileSizeでAPIのGetFileSize呼ぶ・・・。TextFile.hは、 ReadとDecodeを追…

ObjeqtNote #20 "開く"ファイルダイアログの表示

こちらにも、"開く"ファイルダイアログを実装・・・。"開く"をクリックして、test2.binを選択すると、パスが表示される・・・。・"開く"ファイルダイアログの表示 · bg1bgst333/ObjeqtNote@ef80111 · GitHub

Aoi #19 "開く"ファイルダイアログの表示

今度は、"開く"ファイルダイアログを表示する・・・。 まずは、このファイルダイアログで選択したファイル名を取得し、メッセージボックスに表示する・・・。BinaryFile.hは、 GetOpenFileNameを追加・・・。BinaryFile.cppは、 GetSaveFileNameと同様にGetO…

ObjeqtNote #19 "名前を付けて保存"ファイルダイアログの表示

こちらも、ファイルダイアログを実装した・・・。"名前を付けて保存"をクリックすると、ファイルダイアログが出たので、test2.binとして保存・・・。保存されてる・・・。・"名前を付けて保存"ファイルダイアログの表示 · bg1bgst333/ObjeqtNote@e5a3092 · G…

Aoi #18 "名前を付けて保存"ファイルダイアログの表示

"名前を付けて保存"を押したら、ファイルダイアログが出てくるようにする・・・。BinaryFile.hは、 GetSaveFileNameを追加・・・。 フィルタ文字列はマクロにした・・・。(なんかもっといい方法ありそうだが・・・。)BinaryFile.cppは、 ここで各種設定してA…

ObjeqtNote #18 文字コード変換関数の切り出し

こちらも文字コード変換関数Encodeを実装・・・。で、という感じで変わらないけども・・・。・文字コード変換関数の切り出し · bg1bgst333/ObjeqtNote@edbbc86 · GitHub

Aoi #17 文字コード変換関数の切り出し

文字コード変換の部分をメンバ関数Encodeに切り出す・・・。TextFile.hは、 Encodeを追加し、TextFile.cppで、 CTextFile::Writeのところが、EncodeしてからWriteするみたいな形になってすっきり・・・。こうして、こうなる・・・。・文字コード変換関数の切…

ObjeqtNote #17 テキストファイル書き込みに文字コード変換を含める

ObjeqtNoteにもCTextFileを導入し、CMainMenuBarの処理も変更する・・・。名前を付けて保存で、保存される・・・。・テキストファイル書き込みに文字コード変換を含める · bg1bgst333/ObjeqtNote@ac93145 · GitHub

Aoi #16 テキストファイル書き込みに文字コード変換を含める

これまでも、プログラムで扱うワイド文字(UNICODE)から書き込むときのマルチバイト文字(Shift_JIS)に文字コード変換していたが、CMainMenuBar::OnFileSaveAsの中で煩雑に文字コード変換を行っていたので、今度はCTextFileクラスで文字コード変換も含めてファ…

ObjeqtNote #16 エディットボックスのテキストをファイルに書き込む

ObjeqtNoteでもテキストに書き込めるようにした・・・。で、で、生成されたので、開くと、書き込まれている・・・。・エディットボックスのテキストをファイルに書き込む · bg1bgst333/ObjeqtNote@65157f8 · GitHub

Aoi #15 エディットボックスのテキストをファイルに書き込む

エディットボックスのテキストを特定のファイルに書き込もうと思う・・・。 今回は、"test1.txt"にShift_JISで書き込む・・・。すべてのファイル系クラスの基底クラスはCBinaryFileとするので、BinaryFile.hを追加・・・。 (すべてのファイルはバイナリファ…

ObjeqtNote #15 テキスト取得処理の整理

こちらも同様に整理した・・・。表示は変わらない・・・。・テキスト取得処理の整理 · bg1bgst333/ObjeqtNote@00aa9f4 · GitHub

Aoi #14 テキスト取得処理の整理

とりあえず、エディットボックスのテキストは取得できたが、もう少し関数化をして整理してみる・・・。Window.hで、 GetWindowTextLengthとGetWindowTextを追加・・・。 中では、WindowsAPIのGetWindowTextLengthとGetWindowTextを呼んでる・・・。EditBox.h…

ObjeqtNote #14 エディットボックスのテキストを取得

ObjeqtNoteでもテキストを取得してみる・・・。基本はAoiと同じだが、 ユーザコントロールでWM_APP + 1を使ってしまっているので、IDC_EDITBOX1はWM_APP + 2とする・・・。 MainWindow.cppでは、エディットボックスの方にIDC_EDITBOX1をセット・・・。メニュ…

Aoi #13 エディットボックスのテキストを取得

"名前を付けて保存"を押したら、エディットボックスに入力されたテキストを取得し、メッセージボックスで表示してみる・・・。まずは、MenuBar.hで、 ウィンドウハンドルを渡すCMenuBarのオーバーライドコンストラクタを追加・・・。 MenuBar.cppで、 引数の…

ObjeqtNote #13 メインメニューバーの定義

ObjeqtNoteにもメインメニューバーを追加・・・。こんな感じでオーバーライドしたほうが呼ばれる・・・。・メインメニューバーの定義 · bg1bgst333/ObjeqtNote@fd39fd2 · GitHub

Aoi #12 メインメニューバーの定義

メニューバーを継承したメインメニューバーを定義して、メニューをカスタマイズする・・・。MainMenuBar.hを追加して、 CMenuBarを継承して、CMainMenuBarを定義・・・。 とりあえずOnFileSaveAsだけ・・・。あ、オーバーライドできるように、 MenuBar.hでハ…

VizCommand #8 エディットボックスクラスの定義

こちらもエディットボックスを追加・・・。変わらず・・・。・エディットボックスクラスの定義 · bg1bgst333/VizCommand@ca8cc65 · GitHub

ObjeqtNote #12 エディットボックスクラスの定義

エディットボックスをObjeqtNoteにも追加・・・。EditBox.h、EditBox.cppを追加し、MainWindow.hは、 CCustomControlをCEditBoxに差し替え・・・。 こちらも差し替え・・・。とくに変化なし・・・。・エディットボックスクラスの定義 · bg1bgst333/ObjeqtNot…

Aoi #11 エディットボックスクラスの定義

ウィンドウクラス"Edit"なカスタムコントロールクラスはエディットボックスクラスと定義する・・・。EditBox.hでは、 CEditBoxは、CCustomControlベース・・・。 Createはウィンドウクラスのないタイプをオーバーライド・・・。EditBox.cppでは、 Createの定…

VizCommand #7 メインウィンドウとメインアプリケーションの定義

VizCommandにも適用する・・・。MainWindow.hは、 他の2つと違うのは、CBasicWindowをベースとしているところ・・・。 でもユーザコントロールm_pUserControl、カスタムコントロールm_pCustomControlは持っている・・・。MainWindow.cppは、 メニューの処理…

ObjeqtNote #11 メインウィンドウとメインアプリケーションの定義

こちらもメインウィンドウとメインアプリケーションを導入・・・。 Aoiと同様にMainWindow.h、MainWindow.cpp、MainApplication.h、MainApplication.cppを追加し、同じように修正・・・。MainWindow.cppでは、 カスタムコントロールに加えて、ユーザコントロ…

Aoi #10 メインウィンドウとメインアプリケーションの定義

そろそろ、ちゃんとメインウィンドウとメインアプリケーションを定義しようと思う・・・。MainApplication.hを追加して、 Aoiでは、CStandardApplicationをベースにCMainApplicationを定義・・・。 コンストラクタとInitInstanceをオーバーライド・・・。Mai…

Aoi #9 カスタムコントロールの定義

Aoiにもカスタムコントロールは導入する・・・。(ユーザコントロールはないけど・・・。)CustomControl.h、CustomControl.cppを追加したら、 StandardWindow.hは、CCustomControlオブジェクトポインタのm_pCustomControlだけ・・・。 カスタムコントロールだ…

VizCommand #6 カスタムコントロールの定義

こちらもウィンドウクラス"EDIT"ベースなカスタムコントロールを追加する・・・。CustomControl.h、CustomControl.cppを追加・・・。 この2つはいじる必要なし・・・。BasicWindow.hには、 CCustomControlオブジェクトポインタm_pCustomControlを追加・・・…

ObjeqtNote #10 カスタムコントロールの定義

ユーザコントロールは独自のウィンドウクラスなのに対し、カスタムコントロールは既存のウィンドウクラスをベースにウィンドウプロシージャを差し替えて作る・・・。CustomControl.hでは、 CWindowの派生クラスCCustomControlを定義・・・。 既定のウィンド…

VizCommand #5 ユーザコントロールの定義

VizCommandにもユーザコントロールを配置する・・・。 そして、AoiやObjeqtNoteで進めていた部分を一部(メニュー周りは要らないので除く)反映する・・・。まず、UserControl.hを追加・・・。 ここは変わらず・・・。UserControl.cppも、 ここも変わらない・…

ObjeqtNote #9 ユーザコントロールの定義

いずれかのウィンドウを親に持ち、独自のウィンドウクラスから作られた子ウィンドウを、ここでは独自に"ユーザコントロール"とする・・・。(一般的なユーザコントロールと意味は違うかもしれないけど・・・。)UserControl.hで、 CWindow派生のCUserControlは…

Aoi #8 標準的なウィンドウ

こちらにもCStandardWindowを導入・・・。で、こんな感じで変わらない・・・。・標準的なウィンドウ · bg1bgst333/Aoi@52c0b1a · GitHub

ObjeqtNote #8 標準的なウィンドウ

とりあえずメニュー付きのウィンドウを標準的なウィンドウとしてCStandardWindowにまとめる・・・。StandardWindow.hを追加して、CMenuWindowから、nID付きのRegisterClass、コンストラクタ、Create、OnCreateだけ引き継ぐ・・・。RegisterClassでクラス名に…

ObjeqtNote #7 メニューアイテムが選択された時の処理

こちらもメニューアイテムが選択された時の処理を実装・・・。例えば、アプリケーションの終了を選択すると、"アプリケーションの終了"というメッセージボックスが表示される・・・。・メニューアイテムが選択された時の処理 · bg1bgst333/ObjeqtNote@26143c…

Aoi #7 メニューアイテムが選択された時の処理

これまでメニューアイテムを押しても、反応しないようにしていた・・・。 アイテムが選択された時の処理を実装する・・・。MenuBar.hは、それぞれのメニューアイテムが選択された時のハンドラを追加・・・。MenuBar.cppは、OnCommandMenuItemで、IDごとにswi…

ObjeqtNote #6 メニューの設置(動的に作成する場合)

ObjeqtNoteも動的メニュー対応・・・。Aoiとやってることは同じ・・・。 (もうめんどいから同じ場合はコード載せない・・・。)・メニューの設置(動的に作成する場合) · bg1bgst333/ObjeqtNote@5e2b956 · GitHub

Aoi #6 メニューの設置(動的に作成する場合)

#5では、ウィンドウクラスに静的にメニューリソースを指定していた・・・。 今回は動的にメニューを作成して、ウィンドウに設置したい場合・・・。MenuBar.hを追加し、メニューハンドルと、設置するウィンドウハンドルをもつメニューバーオブジェクトを定義…

ObjeqtNote #5 メニューの設置

ObjeqtNoteもメニューを付ける・・・。WinMain.cppの、と、StandardApplication.cppの、これ以外はAoiと変わらない・・・。"ファイル"を押すと、こうなる・・・。・メニューの設置 · bg1bgst333/ObjeqtNote@d4c725d · GitHub

Aoi #5 メニューの設置

メニューを設置する・・・。まず、StandardApplication.hを追加・・・。あと、MenuWindow.hも追加・・・。リソースを追加・・・。Menu・・・。"ファイル"、そして、その下に"新規"を追加・・・。IDは、ID_FILE_NEWとする・・・。"開く"は、ID_FILE_OPEN・・…

VizCommand #4 基本となるアプリケーションとウィンドウ

VizCommandも・・・。と、これ以外一緒・・・。・基本となるアプリケーションとウィンドウ · bg1bgst333/VizCommand@1c276ce · GitHub

ObjeqtNote #4 基本となるアプリケーションとウィンドウ

ObjeqtNoteもCBasicApplicationとCBasicWindowを導入・・・。と、これ以外は、Aoiと一緒・・・。・基本となるアプリケーションとウィンドウ · bg1bgst333/ObjeqtNote@2cefb3d · GitHub

Aoi #4 基本となるアプリケーションとウィンドウ

基本的なアプリケーションに使うクラスをCBasicApplicationとし、CApplicationを継承元とする・・・。 また、基本的なウィンドウ(メニューは付かない)に使うクラスをCBasicWindowとし、CWindowを継承元とする・・・。まず、Window.hに、lpctszClassName省略…

VizCommand #3 ダイナミックウィンドウプロシージャ化

VizCommandにも導入・・・。とし、で、こんな感じ・・・。・ダイナミックウィンドウプロシージャ化 · bg1bgst333/VizCommand@0ded94f · GitHub

ObjeqtNote #3 ダイナミックウィンドウプロシージャ化

ObjeqtNoteもダイナミックウィンドウプロシージャに・・・。Window.hは、と、Aoiと同じ・・・。Window.cppも、StaticWindowProcなど、だいたいAoiと同じ・・・。表示も変わらない・・・。・ダイナミックウィンドウプロシージャ化 · bg1bgst333/ObjeqtNote@29…

Aoi #3 ダイナミックウィンドウプロシージャ化

まだ普通のウィンドウプロシージャでメッセージ処理していたので、ウィンドウオブジェクトごとに振り分けるダイナミックウィンドウプロシージャを導入・・・。Window.hは、ウィンドウハンドルをキーとし、CWindowオブジェクトポインタを値とするマップm_mapW…

VizCommand #2 ウィンドウクラス化 & アプリケーションクラス化

VizCommandもクラス化・・・。WinMain.cppは、Application.cppは、で、それ以外は、Aoi、ObjeqtNoteと同じ・・・。表示は変わらず・・・。・ウィンドウクラス化 · bg1bgst333/VizCommand@97ce517 · GitHub

ObjeqtNote #2 ウィンドウクラス化 & アプリケーションクラス化

ObjeqtNoteもクラス化・・・。といっても、Aoiとの違いは、WinMain.cppの、と、Application.cppの、ぐらい・・・。ウィンドウの表示は変わらず・・・。・ウィンドウクラス化 · bg1bgst333/ObjeqtNote@624a719 · GitHub

Aoi #2 ウィンドウクラス化 & アプリケーションクラス化

WinMain.cppだけのウィンドウ表示から、ウィンドウクラスとアプリケーションクラスによるウィンドウ表示に書き換える・・・。まず、Window.hは、今回、ウィンドウの位置とサイズのメンバを追加・・・。 あと、一応コンストラクタも追加・・・。 あとは、ウィ…