TZ

スポンサーリンク
C#

【C#】タブコントロールのタブを移動可能にする方法

標準のタブコントロールはタブの移動(入替え)はできません。そのため OnDragEnter、OnDragOver、OnDragDropイベント等で独自に実装します。 サンプルではドラッグでタブが移動しボタンを離すことでタブの入れ替えが可能で...
0
C#

【C#】ウィンドウをアクティブにしてメニューを開く方法

ウィンドウが非アクティブな状態でメニューをクリックしてもウィンドウがアクティブになるだけで メニューを開くことはできません。これを1クリックでウィンドウをアクティブにしてメニューを開く方法です。 サンプルソース 非アクティブウィンドウ上でマ...
0
C#

【C#】1000万行もOK!Listの追加、削除の性能を自作エディタで検証した結果

前回、自作テキストエディタのテキスト管理方法について記事にしました。今回は実際に行追加と行削除をした場合、処理性能はどうなのかを自作エディタで検証してみました。結論としては、実行するPCのマシンスペックにもよりますが、List で管理しても...
0
C#

【C#】MDIの子フォーム最大化時のメニューバーに表示されるアイコンを消す方法

自作エディタがMDIの時に、フォームのタイトルバーとメニューバーに同じアイコンが表示されるのが気にいらなかったので消す方法を調べた内容です。 MDI の子フォームを最大化するとメニューバーに子フォームのアイコンと最小化、元に戻す、閉じるの4...
0
C#

【C#】MDIの子フォームの表示時のチラツキをなくす方法

自作エディタの開発当初は MDI で作成していました。色々実装が大変だったのと子フォーム表示が遅いため、最終的にはタブ形式になりました。その当時に悩んだ子フォーム表示時のチラつきをなくす方法です。 最近減りましたね MDI のアプリ。あの代...
0
テキストエディタ開発

完全差分折り返しで折り返し最速を目指します

クリップボードのエラーをキャッチできるようにしてから、その後一回も発生しないんで、なんでなん?って思いながら折り返しのテストを進めています。もーすぐ終わりそうなんですが、1個気になる点が…。 気になる点 自作エディタは折り返し情報を差分で作...
0
テキストエディタ開発

クリップボードのエラーがようやく解決できるかも

前々から発生していたクリップボードのエラー。原因は他のアプリとクリップボードの操作が競合すると発生するとのこと。発生してもキャッチできないので急に落ちちゃうんですよね。回避策が無くて困っていましたが、何気に検索してたらキャッチする方法を見つ...
0
テキストエディタ開発

自作テキストエディタ(OTZEditorコントロール)の行管理方法

さくさくエディタの作者さんの記事を読んで、テキストの持ち方を改めて考えてみたんですがテキストを保持する方法として「配列」、「双方向リスト」、「ギャップバッファ」が一般的とのこと。自作エディタは何なのか?って話です。う~ん。よくわからないです...
0
QooQカスタマイズ

【QooQ】トップ画面(記事一覧)の横幅を変更する方法【カスタマイズ】

記事一覧が表示されているメイン画面の横幅を変更する方法です。スマホだといい感じなんですがPCで見ると若干、幅が広いかなって思う人向けです。本ブログはQooQのリスト形式を利用していますが、通常版も同様の修正で変更できます。 表示幅は Qoo...
0
テキストエディタ開発

現在の開発状況と今後の対応

もうあれですね。ブログやっちゃうと開発時間削られてますます進捗に影響出ちゃいますね。現在は折り返しを実装しているんですが、行跨ぎのハイライト以外はほとんど終わっています。 今はキャレットが見えないところで、DELキーとか、文字入力したりして...
0
テキストエディタ開発

1行32万文字の行末移動と折り返し

1行32万文字を色々試してたら、java scriptみたいなハイライトとかコメントとかを判断する必要のあるテキストの行末移動はめちゃくちゃ遅いです。試しに普通のテキストで確認してみました。そうなんですよ。そこまで遅くないんですよね。ただ、...
0
C#

【C#】多重起動を禁止し起動アプリにパラメータを渡す方法

多重起動を禁止し起動アプリに引数を渡す方法です。テキストエディタだと定番の処理ですね。プロセス間通信を利用しています。参照設定に System.Runtime.Remoting を追加します。自作エディタもこの方法で実装しています。 サンプ...
0
テキストエディタ開発

【課題】横移動を高速化したい

VS CodeのMarkdown PDFで出力されるHTMLを自作エディタで開いたら急にフリーズしたのでなんで?ってなったんですが、どうやらファイルの1行に32万文字のjava scriptがあって行末移動しようとすると固まりました…。 前...
0
C#

【C#】標準コントロールに存在しないプリンターの設定ダイアログを表示する方法

.NETでテキストエディタを作成してて、そろそろ印刷関連を作ろっかなぁーってなって、どれどれどんな感じなん?って他のエディタを見ると、当たり前のように利用している「 プリンターの設定ダイアログ」が表示できないことに気付くと思います。そうなん...
0
QooQカスタマイズ

【QooQ】トップ画面にコメント件数を表示する方法【カスタマイズ】

エディタ作成よりもブログのカスタマイズ方法を調べていました。知りたかったのは記事のコメント件数をトップ画面に表示する方法です。私のブログは多分コメントが書き込まれることは無いと思うんですけど(コメントして頂けました。ありがとうございます)、...
2
C#

【C#】トリプルクリック以上の実装方法について考える

だいたいのエディタだと下記みたいになっていますよね。自作エディタにもトリプルクリック以上の処理を追加しようと思っています。 シングルクリックすると選択した位置にキャレットが移動するダブルクリックすると単語選択するトリプルクリックすると行選択...
0
C#

【C#】メニューにダークモードテーマを適用する方法

Windows Forms アプリケーションのメニューバーやツールバーにダークモードテーマを適用する方法です。.NET 6.0 を対象にしています。 適用イメージ 自作テキストエディタに適用してみました。タイトルバーは独自に実装しています。...
0
C#

【C#】キーリピートを判断する方法

ずっと同じキーを押した場合の処理を実装してみました。使いどころはカーソルの移動とか音量の調整とかによさそうですね。 キーリピートに対応してみた 実装方法 OnKeyDownイベントでキーが押しっぱなしかの情報を取得できればいいのですが、取れ...
0
テキストエディタ開発

テキストエディタを作ろう

これで何回目か忘れましたが、またブログをやろうと思います。独自ドメインを取得してこっちに移動しました。C# で OTZEditor コントロールと TZEditor っていう名のテキストエディタを作成していました。以前はアメブロ → Blo...
0
スポンサーリンク