C++ 【C++】ウィンドウスタイルと拡張ウィンドウスタイルを変更する方法 C++/Win32 アプリケーションのウィンドウを作成した後にウィンドウスタイルと拡張ウィンドウスタイルを変更する方法です。 ウィンドウスタイルの削除 ウィンドウスタイルを削除する方法です。変更を反映するには、SWP_FRAMECHANGE... 2022.05.23 0 C++
C++ 【C++】キーリピートを判断する方法 自作テキストエディタのメニューバーはツールバーで自作したので、色々とテストしています。メニューバーは ALT キーが押されると、トップメニューのショートカットキー(アクセラレーターキー)に下線が付いてキーボードで操作可能になるんですが、なに... 2020.12.11 0 C++
C++ 【C++】マルチディスプレイを考慮してディスプレイ情報を取得する方法 私の開発スタンスはとりあえずやりたいことをやって、中途半端に実装して違うことしだすんで一向に完成しません…。おかずだけ食べてごはんが残るような状態です。なので最近は1機能を面倒でもしっかり作りんこんでから次に行くようにしました。一通りタブの... 2020.12.05 0 C++
C++ 【C++】簡単!通常アイコンを無効アイコンの見た目にする方法 C++ でテキストエディタを作り出した頃からの謎だったんですが、ツールバーに表示するアイコンは無効アイコンも用意する必要があんの?でした。C# の場合、普通のアイコンを用意しておけばフレームワークが勝手に無効アイコンを描画してくれます。 当... 2020.12.03 0 C++
C++ 【C++】タブコントロールも自作する ようやく自作タブの実装が終わりました。今回、最初から標準のタブコントロールは使わず自作しました。 自作タブの外観 まず見た目から。当初の予定ではタブの多段と1行の2つのモードを実装しようと思いましたが、今のところタブの1行モードはありません... 2020.12.01 0 C++
C++ 【C++】ダイアログのタブオーダーを設定する方法 自作テキストエディタのオプション画面を作っています。1回やってても時間が経つとすぐに忘れますね・・・。記事にするほどでも無いのですが多分また忘れてしまうと思うので記録です。 ↓のようにダイアログのタブキーでフォーカスの移動順の番号を表示する... 2020.11.29 0 C++
C++ 【C++】長年の課題だったIME変換時のチラつきが解消した テキストエディタを作り出した頃から IME の変換時に稀に発生するチラつきがどーしても解消できずに悩んでいました。今回ようやくチラつきゼロにできました。 まず、回避策を調査して知ったのですが、IMEには Input Method Manag... 2020.11.22 0 C++
C++ 【C++】C# の SystemColors クラスを C++ でも利用する C++ でシステムカラーを取得するクラスってどっかに無いかなぁって思ってたんですが、見つかりませんでした。そこで C# 感覚で使えるように C# の SystemColors クラスを C++ へ移植しました。 対応表 C# のプロパティが... 2020.10.24 0 C++
C++ 【C++】C# の SystemInformation が C++ のどれに該当するのかってやつ C# の SystemInformation に慣れてしまった人向けです。毎回調べるのが面倒なのでシステム環境情報で使ったやつを記録していきます。C#は SystemInformation クラスから取得可能です。C++ は GetSyst... 2020.10.22 0 C++
C++ 【C++】ウィンドウスタイルを維持しながらタイトルバーを消す方法 最近だと非公開のAPIでタイトルバーの色は黒に変更できるようですが、C++/Win32でタイトルバーを自作したい人向けです。 おすすめコンポーネント C++でやるならこのウィンドウ一択かと思いますね。私が調べて実装した内容がほぼすべて網羅さ... 2020.10.20 0 C++
C++ 【C++】ポップアップメニューも自作する 勝手に切り捨てて勝手に統合するプロジェクト(Project Reunion)に期待しているんですが、またC++/Win32流行るかもね(まぁ、無理でしょうか)。流行らんやろなぁ。とにかく面倒ですもんね。 そんでもって、自作メニューバーの作成... 2020.10.11 0 C++
C++ 【C++】独自メニューバーの作り方 メニューバーを Rebar コントロールに入れたいのと標準のメニューバーだとメニューバーの下に2pxの線が出てしまうのでメニューバーも独自に実装しています。ちょっと調べたところでは、MFC を使うか ATL/WTL の CCommandBa... 2020.10.04 0 C++
C++ 【C++】サンデープログラマが1ヶ月で書けるステップ数は? 2020年の5月から C++/Win32 でテキストエディタを作成していますが、サンデープログラマがどんだけソースコード書けるか気になりませんか? 開発を始めてからほぼ毎日1時間から2時間ぐらい実装しています。でも、当然やる気に左右されるの... 2020.10.02 0 C++
C++ 【C++】2pxの白線を消すためにメニューバーも自作する 訳あってメニューバーを実装しています。エディタ部分は大体できたんで、複数のドキュメントを編集可能にしようとしてタブをしました。 そうするとなんと言うか見た目がめちゃくちゃ気になりました。最初は後で修正しようと思っていたんですが、これが毎日... 2020.10.02 0 C++
C++ 【C++】Windowsフォームのコントロールの操作方法について 今更感満載ですがリファレンスを見るのが面倒なので各コントロール使い方のまとめです。引数の hWnd は各コントロールのウィンドウハンドルを設定します。随時更新予定です。 コンボボックス リストに表示されるアイテムの最小数を設定する デフォル... 2020.07.31 0 C++
C++ 【C++】関数の戻り値に関数を返す方法 ようやくC++版の自作エディタも折り返しと矩形選択以外の機能の実装がだいたい終わりました。あとは細かな修正と動作確認です。 細かい修正の中に文字列をダブルクリックして文字列を選択する処理があります。よくある処理ですね。クリックした文字列の文... 2020.07.26 0 C++
C++ 【C++】親ウィンドウの真ん中に子ウィンドウを表示する方法 検索時のダイアログの表示位置ですが、色々なエディタを見ていると結構バラバラですね。エディタの真ん中に表示するもの、エディタの左上基準で表示するもの、ディスプレイの真ん中に表示するものなどなど様々です。そして、表示したダイアログを移動したりす... 2020.07.25 0 C++
C++ 【C++】ビルドに応じて実行するコードを変更する方法 自作テキストエディタを作成しているときに、標準出力にログを出しているのですが、リリースビルドしてもログが出て実際の処理時間がわからず、いちいちログ出力コードをコメントアウトしています。まぁめんどいですよね。 確かビルドに応じてコンパイルする... 2020.07.24 0 C++
C++ 【C++】VISTA以降のファイル選択ダイアログをカスタマイズする方法 C++で自作テキストエディタを作成しだして2ヵ月経過しました。基本的にC#をベースに移植する形で進めています。毎日何かにつけて詰まるので調べながら進めています。 ほんと色々とあるんですが、まずできるん?って思ったのがファイルを選択するダイア... 2020.07.21 0 C++