Application

ObjeqtNote #39 削除時に全てのアイテムの高さの合計に合わせてウィンドウリストアイテムズパネルの大きさをリサイズ

今度は削除時のリサイズ。WindowListItemsPanel.cppで、 今度は削除した後の高さを計算してMoveWindowする。MainMenuBar.cppでは、 "名前を付けて保存"で0番目を削除するようにする。3個の状態で、"名前を付けて保存"すると、2個になり、さらに"名前を付けて…

ObjeqtNote #38 挿入時に全てのアイテムの高さの合計に合わせてウィンドウリストアイテムズパネルの大きさをリサイズ

挿入したアイテム達の高さに、ウィンドウリストアイテムズパネルも合わせたい。WindowListItemsPanel.cppで、 Insertでアイテムを挿入した後に、計算した高さの合計iTotalHeightでMoveWindowする。WindowListControl.cppで、 アイテムズパネルの高さは最初10…

ObjeqtNote #37 ウィンドウリストアイテムの削除

今度は、ウィンドウリストアイテムの削除を実装する。WindowListItemsPanel.hに、 Removeを追加。WindowListItemsPanel.cppで、 Removeは、基本的にはInsertと逆の動きをすればいい。WindowListControl.hも、 Removeを追加。WindowListControl.cppは、 m_pWi…

ObjeqtNote #36 ウィンドウリストアイテムの挿入

いよいよウィンドウリストコントロールにウィンドウリストアイテムを挿入していく。resource.hで、 ウィンドウリストアイテムは複数挿入するので、最初に割り当てるリソースIDをIDC_WINDOWLISTITEM_ID_STARTとし、そこからアイテムが増えるごとに1足したもの…

ObjeqtNote #35 スクロール動作の実装

ウィンドウリストコントロールのスクロールバーをスクロールさせることで、ウィンドウリストアイテムズパネルが移動するようにする。WindowListItemsPanel.cppで、 ちょっと色を変更。WindowListControl.hで、 スクロール情報m_ScrollInfoとOnHScrollとOnVSc…

ObjeqtNote #34 ウィンドウリストアイテムズパネルのリサイズ

ウィンドウリストアイテムズパネルは、アイテムが増えるごとにリサイズして大きくなっていく。 メインメニューの"開く"をクリックしたら、リサイズする処理を実装する。WindowListControl.hに、 挿入メンバ関数Insertを追加する。WindowListControl.cppで、 …

ObjeqtNote #33 ウィンドウリストアイテムズパネルの定義

ウィンドウリストコントロールの中には、ウィンドウリストアイテムズパネルを配置する。まず、resource.hで、 リソースIDを定義。WindowListItemsPanel.hを追加し、 こちらもユーザコントロール。 ペンやブラシのハンドル、RegisterClass、コンストラクタ、…

ObjeqtNote #32 ウィンドウ破棄時の処理&わかりやすいように背景に色を付ける

そろそろウィンドウ破棄時の処理を実装する。 また、それぞれの子ウィンドウがわかりやすいように背景に色を付ける。Window.hで、 DestroyとOnCloseを追加。Window.cppで、 Destroyでは、このウィンドウ自身をDestroyWindowで破棄。 OnCloseでは、Destroyを…

ObjeqtNote #31 ウィンドウリストコントロールの定義

いよいよ、ウィンドウリストコントロールを実装する。 本格的にウィンドウリストコントロールを使うのは、VizCommandだが、ObjeqtNoteでも使う可能性があるので、まずはこちらで実装する。まず、resource.hに、 ウィンドウリストコントロールのリソースIDを…

ObjeqtNote #30 InvalidateRectで更新することで簡単にスクロール描画

ScrollWindowだと、思ったような描画ができないので、InvalidateRectで更新を要求し、OnPaintで描画していくようにした。PictureBox.hは、 レンジをコメントアウトしておく。PictureBox.cppでは、 SetImageで画像をセットしたら、スクロールバーの位置m_iHSc…

ObjeqtNote #29 ScrollWindowで下にスクロールできたが様々な問題が発生

下にスクロールすると、画像が上に移動するようにしていく。PictureBox.cppのOnPaintで、 iDrawWidth、iDrawHeightが描画する幅と高さ。 そして、m_ScrollInfo.nPosが増えるたびに、上にずれていくので描画する領域は減っていく。 そして、新たに下から出て…

ObjeqtNote #28 垂直方向スクロールバーの動作

垂直方向についても実装する。PictureBox.cppのCPictureBox::OnVScrollで、 OnHScrollと同様にそれぞれの操作に対する処理を書く。下に動かしても止まるので、ちゃんと上手くいっている。・垂直方向スクロールバーの動作 · bg1bgst333/ObjeqtNote@3376781 · …

ObjeqtNote #27 水平方向スクロールバーの動作

水平方向のスクロールバーを制御する処理を実装する。Window.hでは、 OnHScroll、OnVScrollを追加。Window.cppでは、 WM_HSCROLLでOnHScroll、WM_VSCROLLでOnVScrollを呼ぶ。 OnHScroll、OnVScrollには何も定義しない。CustomControl.cppでは、 こちらでも、…

ObjeqtNote #26 ビットマップをピクチャーボックスのサイズにカットして表示

ビットマップが大きいと、ピクチャーボックスが拡大して表示する。 しかし、今回は、ピクチャーボックスのサイズにカットして表示する。まず、Window.hで、 OnPaintを追加する。Window.cppでは、 WM_PAINTでOnPaintを呼ぶ。 OnPaintの定義では、特にここでは…

ObjeqtNote #25 ピクチャーボックスを作成して画像を表示

ピクチャーボックスを作成して、ビットマップ画像を表示する。PictureBox.hを追加して、 CCustomControlの派生クラス、CPictureBoxを定義。 メンバ変数はビットマップハンドルm_hBitmap、メンバ関数はCreate、Load、SetImageの3つ。PictureBox.cppは、 Creat…

ObjeqtNote #24 選択したファイルの拡張子を取得する

久しぶりのObjeqtNoteの修正。 スタティックなGetOpenFileNameを実装して、選択したファイルの拡張子を取得する。BinaryFile.hで、 シェルAPIを使うので、shlwapi.hを追加する。リンクにも追加する。 staticなpublicメンバGetOpenFileNameを追加で定義。Bina…

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クラスで文字コード変換も含めてファ…