C#
ImmGetCompositionString() の、文字列を返すパラメータについての処理。 で、GCS_COMPSTR, GCS_COMPREADSTR, GCS_RESULTSTR, GCS_RESULTREADSTR で文字列を取得する処理は、こんな感じになる。
ImmGetCompositionString() 全般についての処理。 ImmGetCompositionString() で返されるバッファは、あらかじめ null を入れてその大きさを取得して、それからバッファを確保して、もう一度呼び出して取得する。 これは、どの ImmGetCompositionString() で…
Imm 系の WindowsAPI のラッパ関数について。 IME 操作をするためには入力コンテキストハンドルが必要なのだけれども、これはウインドウハンドルさえあればいつでも取得出来るので、速度を気にしないなら最低限しか取得しないようにしたほうがいいと思う。 …
ImmGetCompositionString() で文字の読み仮名を返してもらう場合、半角カナで返ってくるので、全角に直すための関数を用意しておく。
ImmGetCompositionString() の動作は、 http://nienie.com/~masapico/api_ImmGetCompositionString.html ここを見れば大体分かる。 でも、 GCS_RESULTCLAUSE 最後に変換を行った際の各文節の位置をバイト単位で表す、32bit整数のオフセット値の配列が、bufに…
どうやら .NET Framework には無いみたいです(´・ω・`) Imm 系の WindowsAPI を使って wrap しますか……。
C++ を使ってるときは、コンポーネントなんか全然使う気がしなくて、こんなもの使うぐらいなら自分で実装してやるみたいな感じだった。 けど、C# になってからは全然違う。 むしろコンポーネントとして再利用出来ない(Control を継承していない)ような自作…
出来そうで出来ねええぇぇぇぇ!!! コントロールを Bitmap に変換するのは DrawToBitmap() 使えばいいんだけど、こいつは Visible を false にしてると、再描画されなくて Bitmap に変換してもちゃんと表示されないから、どこかに描画してやらないといけな…
CodeDOM を使えば、簡単にスクリプトを作れるような希ガス。
↑のコンポーネントを使って、連続してメッセージボックスを表示出来るようにしてみました。 ScenarioBox の使い方: scenario.csv というファイルを ScenarioBox.exe と同じフォルダ作って、CSV 形式でメッセージボックスを記述していきます。 1行が1つの…
id:honestaholic:20060529 を使ってダイアログ作ってみました(´・ω・`)
古い記事ですけど、id:enra:20041224 より。 どっちかというともうC#に染まってしまって、C++なんか触りたくないのですが。構文だけC#でBREW開発が出来る環境出てこないかなぁと毎日思ってます。ILからmodにコンバートするアプリは作れますが、エミュレータ…
C# って言語もスゴイけど、.NET Framework もスゴイ。 ちょっとビットマップのパレット変換をやりたいと思ったんだけど、System.Drawing.Bitmap だとどうせ内部で ARGB8888 とかに変換してるだろうから、unsafe コードを使わないと無理だろうなぁとか思って…
C# の文法はやばい。かっこよさ過ぎる。 foreach がキーワードとして用意されてて、しかもユーザ側が IEnumeratable を実装すれば何でも iterate 出来る部分とか、同じく IDispose を実装すれば、using ブロックの中で失敗したら Dispose() が呼ばれる部分と…
インテリセンスが楽しすぎる。 周りの人が C++ を使う気が失せるのも分かる気がする。
リンク元:id:melpon:20070222 Sound_v2.cs
リンク元:id:melpon:20070217 Sound.cs ※再生中に SetPosition するとおかしくなります