CFile::Close

CFile::Closeでファイルを閉じる。 File.hは、こう書く。 File.cppは、Closeはこう書く。 main.cppは、こう書く。 ここに来る。ここに来る。 中に入ると、 ハンドルを破棄したり、ファイル名をクリアしたり。ハンドルを破棄したり、ファイル名をクリアしたり…

CFile::Open

CFile::Openでファイルを開く。 File.hは、こう書く。 File.cppは、Openはこう書く。 相対パスを指定されたら、絶対パスを取得する。 main.cppは、こう書く。 こうなる。こうなる。Test/winapi/CFile/Open/src/CFile at master · bg1bgst333/Test · GitHub

CFileDialog(フィルター)

フィルターが上手く動作するように実装する。 CFileDialogのプロジェクトで、string_utility_cstring.hとstring_utility_cstring.cを追加し、FileDialog.cppで、replace_wbyte_allで、m_tszFilterの'|'を'\0'に置換する。 MainWindow.cppで、"Text Files(*.t…

replace_wbyte_all(Windows(C++))

C++から呼び出す。 string_utility_cstring.hは、として、string_utility_cstring.cは、とする。 main.cppは、とする。 こうなる。こうなる。Test/cpp/replace_wbyte_all/call_from_cpp_Windows/src/replace_wbyte_all at master · bg1bgst333/Test · GitHub

replace_wbyte_all(Windows)

ワイド文字版というかワイドバイト版を作る。 main.cで、こう書く。 こうなる。こうなる。Test/c/replace_wbyte_all/Windows/src/replace_wbyte_all at master · bg1bgst333/Test · GitHub

replace_byte_all(Windows(C++))

C++版も作る。 string_utility_cstring.hは、として、string_utility_cstring.cは、とする。 main.cppは、とする。 こうなる。こうなる。Test/cpp/replace_byte_all/call_from_cpp_Windows/src/replace_byte_all at master · bg1bgst333/Test · GitHub

replace_byte_all(Windows)

replace_byte_allのWindows版。 main.cで、こう書く。 こうなる。こうなる。Test/c/replace_byte_all/Windows/src/replace_byte_all at master · bg1bgst333/Test · GitHub

replace_byte(Windows(C++))

C++版も作る。 string_utility_cstring.hは、として、string_utility_cstring.cは、とする。 main.cppは、とする。 こうなる。こうなる。Test/cpp/replace_byte/call_from_cpp_Windows/src/replace_byte at master · bg1bgst333/Test · GitHub

replace_byte(Windows)

replace_byteのWindows版。 main.cで、こう書く。 こうなる。こうなる。Test/c/replace_byte/Windows/src/replace_byte at master · bg1bgst333/Test · GitHub

replace_byte_all(C++からの呼び出し)

replace_byte_allをC++で使う。 string_utility_cstring.hで、とし、string_utility_cstring.cで、とする。 main.cppは、とする。 こうなる。こうなる。Test/cpp/replace_byte_all/call_from_cpp/src/replace_byte_all at master · bg1bgst333/Test · GitHub

replace_byte_all

今度は、みつかった全てを置換する。 main.cで、こう書く。 今度はみつかった位置ではなく、みつかった数を返す。 こうなる。こうなる。Test/c/replace_byte_all/replace_byte_all/src/replace_byte_all at master · bg1bgst333/Test · GitHub

replace_byte(C++からの呼び出し)

replace_byteをC++で使う。 string_utility_cstring.hで、とし、string_utility_cstring.cで、とする。 main.cppは、とする。 こうなる。こうなる。Test/cpp/replace_byte/call_from_cpp/src/replace_byte at master · bg1bgst333/Test · GitHub

replace_byte

バイト列の中で、指定したバイトが最初にみつかった時だけ、指定のバイトに置換する。 main.cで、こう書く。 バイト列だから文字列じゃなくてもできる。 こうなる。こうなる。Test/c/replace_byte/replace_byte/src/replace_byte at master · bg1bgst333/Tes…

CFileDialog::GetOFN

CFileDialog::GetOFNでOPENFILENAMEを取得する。 FileDialog.hで、GetOFNを追加。 FileDialog.cppで、m_ofnの参照を返す。 MainWindow.cppで、dlg.GetOFN().lpstrFileを表示。 Item2-2を押すと、Item2-2を押すと、 "名前を付けて保存"が出るので、"test2.txt…

CFileDialog::DoModal

CFileDialog::DoModalを修正して、"名前を付けて保存"ダイアログも表示できるようにする。 FileDialog.cppは、こうする。 MainWindow.hは、こうする。 MainWindow.cppは、こうする。 Item2-2を押すと、Item2-2を押すと、 "名前を付けて保存"と出るので、"tes…

CFileDialog

ファイル選択ダイアログ、CFileDialogを実装する。 FileDialog.hは、で、FileDialog.cppは、こうする。 MainWindow.cppは、こうする。 Item2-1を押すと、Item2-1を押すと、 "開く"が表示されて、"開く"が表示されて、ファイルを指定して"開く"で、 IDOKIDOK…

CFileDialog::GetOFN

MFC

CFileDialog::GetOFNで、OPENFILENAME構造体を取得する。CFileDialog クラス | Microsoft LearnCFrameWnd_.cppは、こうする。 Item1-2を押すと、Item1-2を押すと、 "名前を付けて保存"なので"test2.txt"と指定。"名前を付けて保存"なので"test2.txt"と指定。…

CFileDialog

MFC

CFileDialogはファイル選択ダイアログクラス。CFileDialog クラス | Microsoft Learnコンストラクタの第1引数がFALSEだと"名前を付けて保存"ダイアログになる。 resource.hは、ID_ITEM_1_2を追加。 CFileDialog.rcは、Item1-2を追加。 CFrameWnd_.hは、OnUpd…

CFileDialog::DoModal

MFC

MFCでは、CFileDialog::DoModalで、ファイル選択ダイアログを表示する。CFileDialog クラス | Microsoft LearnCFrameWnd_.cppで、OnItem1_1で、CFileDialogのコンストラクタ引数の最初をTRUEにすると、"ファイルを開く"ダイアログとして表示される。 Item1-1…

CMenu::CheckMenuRadioItem

CMenu::CheckMenuRadioItemで、メニューラジオ項目としてチェックをつける。 Menu.hは、CheckMenuRadioItemを追加。 Menu.cppは、こう実装。 MainWindow.hは、OnItem1_2から、OnItem1_4まで追加。 MainWindow.cppで、こうする。 Item1-1を押すと、Item1-1を…

CMenu::CheckMenuItem

CMenu::CheckMenuItemで、メニュー項目にチェックをつけたり、外したりする。 Menu.hは、CheckMenuItemを追加。 Menu.cppは、こう実装。 MainWindow.cppで、EnableMenuItemは削除。OnItem1_1はこうする。 Item1-1を押すと、Item1-1を押すと、 チェックマーク…

CMenu::GetMenuState

CMenu::GetMenuStateで、メニュー項目の状態を取得する。 Menu.hは、GetMenuStateを追加。 Menu.cppは、こう実装。 MainWindow.cppで、Item2-1が選択された時、Item1-1の状態チェック。 Item1-1は無効状態Item1-1は無効状態。 Item2-1を押すと、Item2-1を押…

CMenu::EnableMenuItem

CMenu::EnableMenuItemで、メニューアイテムの有効化・無効化を切替える。 Menu.hは、EnableMenuItemを追加。 Menu.cppは、こう実装。 MainWindow.cppは、とすると、 Item1-1が無効に。Item1-1が無効に。Test/winapi/CMenu/EnableMenuItem/src/CMenu at mast…

CWindow::DrawMenuBar

CWindow::DrawMenuBarで、メニューバーを描画する。 Window.hは、DrawMenuBarを追加。 Window.cppは、このように実装。 MainWindow.cppは、こうして、こうする。 Item2-1を押すと、Item2-1を押すと、 すぐに更新されてItem2が消える。すぐに更新されてItem2…

CMenu::DeleteMenu

CMenu::DeleteMenuでメニューアイテムを削除する。 Menu.hは、DeleteMenuを追加。 Menu.cppは、このように実装。 MainWindow.hは、OnItem1_1、OnItem2_1を追加。 MainWindow.cppは、OnItem1_1、OnItem2_1はこう書く。AddCommandHandler、DeleteCommandHandle…

CMenu::CreatePopupMenu

CMenu::CreatePopupMenuでポップアップメニュー(サブメニュー)を作成する。 resource.hだけ、こうしておく。 Menu.hは、CreatePopupMenuを追加。 Menu.cppは、CreateMenuと同じように実装。 MainWindow.cppは、こうする。 Item1はこう。Item1はこう。 Item2…

CMenu::CreateMenu

CMenu::CreateMenuでメニューを作成する。 ロードではなく、1からメインメニュー作成。 Menu.hは、CreateMenuを追加。 Menu.cppは、CreateMenuはLoadMenuと似たような実装。 MainWindow.cppは、とする。 メインメニューだけのこういう形になる。メインメニュ…

CWindow::SetMenu(pMenu)

CWindow::SetMenuのCMenuオブジェクトポインタを渡すバージョン。 Window.hは、SetMenu(pMenu)追加。 Window.cppは、こう実装。 MainWindow.cppは、こうする。 変わらない。変わらない。Test/winapi/CWindow/SetMenu_pMenu/src/CWindow at classic · bg1bgst…

CWindow::SetMenu

CWindow::SetMenuでメニューをセット。 与えられたメニューハンドルをセットする。 Window.hは、SetMenu追加。 Window.cppは、こう実装。 MainWindow.cppは、こうする。 変わらない。変わらない。Test/winapi/CWindow/SetMenu/src/CWindow at master · bg1bg…

CMenu::LoadMenu

CMenu::LoadMenuでメニューリソースをロードする。 resource.hは、とし、CMenu.rcは、とする。 Menu.hで、LoadMenuを追加。 MFC版ではhInstanceは引数にないけど、スマートな渡し方がわからんので、引数追加。 Menu.cppで、こう実装。 それと、Window.cppの…