【GUI】wxWidgets(旧w ..
[2ch|▼Menu]
962:デフォルトの名無しさん
08/06/10 11:19:56
>>961
wxTE_RICH は wxMSW 専用。ほかの環境では意味をなさない。
(リッチエディットコントロールを使う指定だから)

>>959
入力した文字列をリアルタイムに強調表示したいのであれば、
OnChar(wxKeyEvent &)
あたりを使えばいいんじゃないかな。やってみないとわからないけど。

963:デフォルトの名無しさん
08/06/10 11:25:22
>>961
ちょっと説明不足だったけど、強調表示などは
wxTE_RICH を指定しなくても wxTextCtrl::SetStyle() と
wxTextAttr を使えば、実現できるんじゃないかな。

964:957
08/06/11 00:01:42
wxTextCtrl::SetStyle
URLリンク(wxwindowsjp.sourceforge.jp)
「選択された部分の」スタイルを変更する。
この部分見逃していました。。

OnChar()ってのはMSW専用なんでしょうか。
msw/textctrl.h には書かれていますが普通のtextctrl.hには無いみたいです。
univ/textctrl.hってのにもありますが、univってのは何用なのか・・

でもとりあえずEVT_KEY_DOWNキーイベント用のハンドラをSetStyle()使って書けば実現できる気がしてきました。
ご丁寧に何度もありがとうございましたm(_ _)m

965:デフォルトの名無しさん
08/06/11 10:46:47
>>964
univ ってのは、たぶん Universal Version のこと。
Windows の例で言えば、Windows のコントロールを使わず、
全部自前で処理するようにすること。
いろいろなプラットフォームで共通した動作をするようになる。


966:957
08/06/18 18:21:31
なるほど、ありがとうございます。
返信遅れてすいません。

EVT_KEY_DOWN とか EVT_CHARとか使って強調表示機能っぽいものが出来始めたのですが、一つ分からないことが出てきました。

EVT_CHARは、ASCII文字の入力のタイミングは拾えるようなのですが、どうも全角文字の入力タイミングは拾えないみたいなんです。
全角文字でも強調表示したい単語があるので、全角文字が一字書き込まれる毎にそのタイミングを拾って、そのイベントが終了したらwxProcessEventでキャレット周辺の文字列を取得して、所定の文字列が含まれていたら強調表示〜みたいなことがしたいのですが、
そもそも全角文字入力の際に発生しているイベントはなんなのでしょう??

967:デフォルトの名無しさん
08/06/18 21:37:04
>>966
2度EVT_KEY_DOWNが飛んできませんか?
内部で捨てていない限り2度飛んでくるので、
それを漢字1文字分にすればいいと思います。

968:デフォルトの名無しさん
08/06/18 23:14:50
>>966
キー毎に強調表示するんでなくて、タイマーで1秒ごとに処理するとか ...


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5188日前に更新/262 KB
担当:undef