Test

CWindow::StaticWindowProc

ウィンドウプロシージャをメンバにするには、staticにする。このように。 そして、Window.cppは、こうして、RegisterClassの時も、StaticWindowProcを指定。変わらず表示できた変わらず表示できた。 そして、CApplicationや、CWindowも含めて、ここまでのク…

CWindow

ウィンドウクラスの登録、ウィンドウの作成、ウィンドウの表示については、CWindowクラスにまとめる。 (MFCでいうところのCWndに相当する。) ウィンドウプロシージャは、Window.h/Window.cppに移動するものの、今回はメンバにしない。 Window.hは、メンバ変…

CApplication

InitInstance、Run、ExitInstance、これらのアプリケーションに関する処理をCApplicationクラスにまとめる。 (MFCでいうところのCWinAppに相当する。) まず、Application.hは、CApplicationクラスのメンバに、InitInstance、Run、ExitInstance、を追加する。…

ExitInstance

終了処理を行うExitInstanceを切り出す。といっても、0で返すだけ。 ただ、Runの中と、InitInstanceに失敗した時の2カ所で呼ばれるようにしている。変わらずウィンドウの表示変わらずウィンドウの表示。Test/winapi/ExitInstance/ExitInstance/src/ExitInsta…

Run

メッセージループを処理するRun関数を切り出す。実行すると、特に変わらずウィンドウが表示される特に変わらずウィンドウが表示される。Test/winapi/Run/Run/src/Run at master · bg1bgst333/Test · GitHub

InitInstance

ウィンドウクラスの登録、ウィンドウの作成、ウィンドウの表示、をInitInstanceにまとめた。コードとしては、これまでも散々書いてきた内容。実行すると、ウィンドウが表示されるウィンドウが表示される。 ただ、今回はせっかくなので、YouTubeで生配信して…

get_time_now_string

時刻文字列を素早く取得したいので、get_time_now_stringを作成。ctimeを使っている。 また、改行を除去しないといけないのが厄介なので、trim_end_lfを利用。 $ vi main.c $ gcc main.c -o main $ ./main now_str = Sun Feb 16 00:51:25 2020 $実行したらこ…

print_input_form

C++版のprint_input_formは、改行付き出力と、改行コードの除去が不要なので、このように、1行で出力->入力->出力を完結できる。 $ vi main.cpp $ g++ main.cpp -o main $ ./main str: ABCDE ABCDE $ このようになる。Test/cpp/print_input_form/print_input…

print_input_form

入力フォームを表示し、入力文字列を指定の配列に格納する。fgetsで入力文字列を取得し、trim_end_lfで改行文字を除去している。 入力フォームは、"str: "という形式にしている。 $ vi main.c $ gcc main.c -o main $ ./main str: ABCDE ABCDE $入力フォーム…

trim_end_lf

渡された文字配列の末尾の改行を除去する。まず、そのままstrを'['と']'で囲んで出力。 trim_end_lfの中では、len - 1番目が'\n'なら'\0'にする。 また、strを'['と']'で囲んで出力。 もう一回trim_end_lfを呼んで、そのあと、またstrを'['と']'で囲んで出力…

print_line

もう何度目かの作り直しかわからないけど、Testカテゴリをリブート。 まずは、C言語で改行付き出力関数print_lineを作ってみる。中身はprintfであり、strに"\n"をつなげて出力しているだけ。 コンパイルして実行すると、 $ vi main.c $ gcc main.c -o main $…