CFile::SetFilePointer

CFile::SetFilePointerで、ファイルポインタの位置を設定、取得する。 こちらもMFCのSeekより簡単に実装する。 File.hは、こう書く。 File.cppは、SetFilePointerはこう書く。 main.cppは、こう書く。 ファイルポインタを移動して、3バイト目から読むように…

CFile::GetFileSize

CFile::GetFileSizeでファイルサイズを取得する。 MFCのGetLengthはULONGLONGとか64bit対応が面倒くさそうなので、とりあえず32bit版。 File.hは、こう書く。 File.cppは、GetFileSizeはこう書く。 main.cppは、こう書く。 dwSizeは5。dwSizeは5。 dwSizeの…

CFile::Write

CFile::Writeで書き込む。 File.hは、こう書く。 File.cppは、Writeはこう書く。 main.cppは、こう書く。 実行すると、実行すると、 書き込まれる。書き込まれる。Test/winapi/CFile/Write/src/CFile at master · bg1bgst333/Test · GitHub

CFile::Read

CFile::Readで読み込む。 File.hは、こう書く。 File.cppは、Readはこう書く。 main.cppは、こう書く。 こうなる。こうなる。Test/winapi/CFile/Read/src/CFile at master · bg1bgst333/Test · GitHub

CFile::~CFile(デストラクタ)

デストラクタを実装する。 File.hは、こう書く。 File.cppは、デストラクタではCloseするだけ。 main.cppは、こう書く。 delete pFileだけで済み、pFile->Closeが不要になった。 deleteする時、deleteする時、 Close呼ぶので、終了処理出来てる。Close呼ぶの…

CFile

CFileでファイルを操作する。 コンストラクタを実装する。 File.hは、こう書く。 File.cppは、コンストラクタはこう書く。 main.cppは、こう書く。 コンストラクタでメンバの初期化をしている。コンストラクタでメンバの初期化をしている。Test/winapi/CFile…

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…