なうろーでいんぐ
キーボード↑↓
でもいいぞ
旧サイト形式へ帰りたい人
IME変換文字入力
2011年04月16日12時03分
これでほぼ想定通り完成。
ファイル 372-1.png
IMEを開いたエディットコントロールウィンドウの
スタイルにWS_VISIBLEを入れずにサイズだけを
適切に指定する事で、ウィンドウは非表示のまま
変換状態だけ指定の位置に表示する事が出来た。
これと別に文字列取得バッファ及び親ウィンドウへの
描画を用意すれば、あたかも文字入力がその場で
行われている様に見えるという寸法。

一方、先日から言っているアニメーションについて。
アニメーションはタイマー回転中のフレーム数によって、
条件分岐で描画する画像を入れ替えるのが基本である。
・・・描画速度を早くするにはどうすればいいだろう。
記事カテゴリ:プログラム関連
IMEが答えだったようだ。
2011年04月15日16時49分
結局、リッチエディットでは望んだ形に出来ない様
だったので、IMEで文字を取得しては描画をフォント
描画関数の方に回す、というやり方で上手く行きそう。
解決策も見つかった事だし、先に進むべ。
IMEは別途かなり勉強必要だろうし;


4月15日 2:25
某N社の元企画職様の講演の雑談で、延々と話をしていたらこんな時間;まぁ、プログラム今からやります;
記事カテゴリ:プログラム関連
テキスト関連
2011年04月14日14時55分
リッチエディットコントロールと透過ウィンドウを
併用すれば、文字入力システムが高級に見えるかも
と、数分前に思い当たる。
エディットコントロールも所詮ウィンドウに変わり無く、
文字スタイルを変更したいだけならリッチエディットに
してしまえばいいよねきっと。


同日 22:47
実行サンプルがMFCでしか見つからなかった・・・
というのも、WS_EX_LAYEREDでリッチエディットを
CreateWindowExすると失敗する仕様みたいだから。
唯一発見したサンプルでは、そもそものWNDCLASSEX
のhbrBackgroundにNULL_BRUSHを返してると
思われる。さて、解決方法は見つかったが、
どうしたもんかねこりゃ・・・。

GetClassInfoEx使って書き換えてみたが、どうやら
このテキスト領域、背景では無いというトンデモ回答が
帰ってきた、どうしろとwwwまぁ、また調べ直す。


4月15日 0:13
色々試してみた結果、このテキスト領域、曲者。
デバイスコンテキストでもねぇし、唯一言う事聞くのが
SendMessageでシステムカラーにする時ぐらい。
MFCの方ではOnCtlColorで処理してたが、これが
どうC++で表現できるのかイマイチ漠然としてる。
ひょっとしたら表現できないオチも予想。
まぁ、グダグダやってもしょうがないので保留する。
次はちょっとした小技で簡単な背景アニメーションかな。
記事カテゴリ:プログラム関連
ファイルが無い際の処理
2011年04月13日12時59分
書き出し時に、読み込み必須ファイルが無い場合、
既存のパッケージファイルからファイルを読み書き
しなければならないと気付いてかなり時間食った。
こんな時にこそ、std::mapのイテレータが物を言う。
最初のパッケージファイルからの読み込み時に、
各情報をstd::mapを用いて格納してれば、検索を
超楽チンにできる、という事を知ったのがつい先程。
外出して、帰ってきたら早速それで組み立てよう。
画面解像度の件はまだちょっと思考中。


同日 21:30
パッキング一段落ついたので、配布してみます。
エラー多いけど。

*既に更新版が上がっています。

中に見難いreadmeアリ。ここまで作るのにかなり
時間かかったわ…。ぼちぼちまだ進めていきます。


同日 3:12
ウィンドウサイズ処理実装。フルスクリーンは
サイズに合わせた最大化への変更とし、基本サイズは
変更不可能にした。最小化した時にスレッドを
停止するのも忘れない。次はフォーム入力関連。
いずれにせよ文字列は使う時が来るからね・・・。
記事カテゴリ:プログラム関連