DOSEIの日記

技術メモ+日常ログ

.NET

ファイルとか文字列の読み書き

System.IO にあるいろいろなクラスのまとめ。まず、扱う対象として 2 つの側面がある。 読み書きの対象として、文字列 (string クラス) と、ファイルやメモリのようなストリームがある。ストリームは、 Stream 抽象クラスで抽象化されている。というわけで、…

Visual Studio 系 SP1

SP1 ktkr. Express Edition の SP1 を探してたら、普通版の最初入れようとして、 Express エディションとは互換性ないから一昨日来やがれ的なダイアログに遭い、でも "Express のサイト" には、そこにリンク貼ってあるし…とおもったら、そのページの書く言語…

doublebuffered なコントロールを作る

以下, Visual C# 2008 Express での操作メモ. Form は Doublebuffered = true にできるので, ちらつかずにお絵描きできる モダンなコントロール MenuStrip や ToolStrip はクールだが, 伝統的なメニューとかと違い, クライアント領域の上に乗っかってるので,…

Graphics クラスの注意点

注意というか、使えないと思うところ。 FillRectangle(Brush, RectangleF) はあるのに、 DrawRectangle(Pen, RectangleF) は何故か無い。(****Ellipse() は対照的なのにね!!) C# によるプログラミング Windows - 第 15 章 直線、曲線、領域塗りつぶし に…

ワールド座標変換

今, 考えるワールド座標系を x軸右向き, y軸上向きの数学で良く使う座標系であるとする. GDI+ で描画の際に与える座標系や幅の単位はこの座標系で指定する。ウィンドウのクライアント領域に対して, 左上を原点(固定です), 右下に向かって正である(これも…

GDI+ のコスメティックペン (cosmetic pen on GDI+)

Pen.Width を 0 にすると、幅1のコスメティックペンになる。…というのは、MSDN の記述からは読み取れないなぁ…。 コスメティックペンとは、Graphics に幾何変換をかけている場合でも幅が常に1のペン。やっぱり幅が任意に指定できるコスメティックペンは作れ…

方位記号さんから、 RichTextBox は使ったことがないのでできるかは知りませんが、単純にそのイベント内で処理(文字列挿入)すればよいのではないでしょうか?あーBeepがなりがまずいのかな?Form.WndProc をオーバーライドすれば EN_PROTECTED を拾えるので後…

RichTextBoxクラスのプロテクト機能の問題点

RTFでは、文字列にプロテクト属性がつけられる。そしてプロテクト属性が付いた文字列を編集しようとすると、イベントが発生する。たとえば、次の文字列でABCにプロテクトがかかってるとする。 slimeABCpanda ここで、ABCを消そうとしたり、上書きしようとし…

おぉ、いろいろ便利にカプセル化されてるな。C#特有の文法はぜんぜん理解してないけど、使えそう。 で、XHTMLエディタを作る計画を立てる。ま、すげー前から作る気はまんまんだったんだが。HTAとかでも作れるかなーとか思ったけど、めんどっちぽかったので.N…