【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
1-

97: 2010/11/13(土)11:34 AAS
これかな
http://yomi.mobi/read.cgi/pc8/pc8_tech_1097524712/515-
98
(1): 2010/11/13(土)11:54 AAS
wxRIchTextCtrlの日本語インライン入力パッチありませんか?
99: 2010/11/23(火)18:39 AAS
おや規制明けてる。
>>98
もう解決してる気がするけど、OS毎で処理系が全く異なる上、
日本と中国と韓国くらいしか影響がないのでそんな便利なパッチはたぶん無い。
RichTextはわからんが、Win上のwxStyledTextCtrlと同じなら、
MSWWindowProcをオーバーライドして、
WM_IME_STARTCOMPOSITION、WM_IME_COMPOSITIONあたりを捕捉、
Caretの位置から自分で逐次IMEの位置情報を変更してやればいいと思う。

しかし上でwxURLの話もされてるけど、HTTP通信周りの処理、
結構ボロボロだなコレ。
そういう用途で使ってるユーザがほとんどいないんだろうが・・・。
100: 2010/11/23(火)19:22 AAS
UI以外の部分でwx使う意味ってあんまりないからじゃない?
101: 2010/11/24(水)19:51 AAS
そうか
102: 2010/11/25(木)23:22 AAS
もう誰か作ってるだろと探したけど
wxOnigurumaとか無かった。残念。
103
(1): 2010/11/26(金)07:32 AAS
詳しい方ちょっと教えて下さい…。

ちょっと前からxchmというヘルプビューアを日本語表示できるようにしているのですが、
ShiftJIS->Unicodeの変換がうまくいきません。

一応wxString、wxMBConv、wxCSConv、wxEncodingConverterのリファレンスと
ヘッダにある関数の組み合わせは一通り試したつもりですが、変換されるはずが
変換されなかったり、Initに失敗したりと散々です。

結局g_convert関数(GLibのiconvラッパー)で逃げましたが、wxWidgetで
書かれているソースに突如異物混入みたいで非常に美しくありません。
動作はしたので後は趣味の問題ですが、なんとかならないでしょうか?

環境はDebian、wxWidgets 2.6.7.1です。
104
(2): 2010/11/26(金)21:51 AAS
2.9のドザーな俺にはアドバイスはできんが、
この辺で問題視されてる「wxMBConv はいくつかのサブクラスを持っていて、
こいつらはことごとく wchar_t の内部表現が UCS であることを仮定してる。」
あたりが原因じゃないのか?
http://diary.imou.to/~AoiMoe/2004.09/middle.html#2004.09.13
105: 2010/11/26(金)23:29 AAS
>>104
早速感謝。

あー、そのページ、自分も見ました。
今ネット上にある日本語ページの中では一番内容が濃そうでしたね。

wxWidgetsが文字コード回りで大分無茶をしてるらしいことだけは判りました。
実際、文字コード変換には一旦wchar_t型を経由しないとならんのですけど、
 charのSJIS->MB2WC->WC2MB
とかやると、SJISでもUTF8でもない謎コードになっちゃうんですよね。

ちなみに、前スレでもWin使いの方が全く同じ趣旨の質問されてましたけど、
結局やはりWinAPIでなんとかしたらしいですね。
やっぱり無理ですかねぇ…。
106
(2): 2010/11/27(土)00:43 AAS
wchar_t の中身がUCS前提なのはこの場合問題じゃないだろ…
>>104 の言っているUnicodeって、具体的に何?wxはUnicodeビルドで、wxStringにしたいの?

SJISからwxStringにしたいのなら、 wxString s(sjis_string, wxCSConv('cp932')); を試した?
コード出さないで質問しても、エスパーじゃない限り回答できないよ。
107
(2): 2010/11/27(土)02:06 AAS
>>106
あ、書き忘れてましたね、すいません。
入力はマルチバイト(char)のShiftJIS、欲しい出力はマルチバイト(char)のUTF-8で、
wxはDebian etchのものなのでUnicodeビルドです。

上のコードはもちろん試しました。
で、そこからどうすればchar型のUTF-8が得られるのか、もしくは別の方法を使うべき
なのかで悩んでいるのが現状です。

ちなみに、成功例はこちら
#include <glib.h>
char *utf8_str = g_convert(sjis_str, -1, "utf-8", "cp932", NULL, NULL, NULL);
で、これと同等のことをwxで行うにはどう書けばいいか?という質問です。
(この前後にwxベースのコードとやりとりするための処理が入るのですが、それが
また汚いので、できれば回避したいです…)
108
(1): 2010/11/27(土)08:39 AAS
言い訳はいいから問題起こしてる例のコードだせよ
109: 2010/11/27(土)11:28 AAS
>>108
えー、失敗コードはもう全部消しちゃったんですよね…。
てか、ここまでの説明で判る方は判るし、判らん方はそこまででしょう。
この場合、頑張って失敗コード再現しても結果は後者だと思うので、No thank you.
110: 2010/11/27(土)11:41 AAS
エスパーのかたのみお答えください
111
(2): 2010/11/27(土)13:14 AAS
便乗して質問してもいいかな?

wxMBConvとwxCSConvの違いって何?
ヘルプ見てもよくわからん…
112
(1): 2010/11/27(土)13:26 AAS
>>111
wxMBConv は、変換系の抽象クラス。
wxCSConv は wxMBConv を継承した具象クラスで、 >>106 みたいに任意のエンコーディングとの変換を行う。
wxMBConvUTF8 も wxMBConv を継承した具象クラスで、 UTF-8との変換を行う。
113: 111 2010/11/27(土)13:34 AAS
>>112
なるほど。ありがとう。
114
(1): 107 2010/11/27(土)15:03 AAS
http://ja.pastebin.ca/2003497
少なくともUbuntu 10.10では、wxCSConvでちゃんとcp932からUTF-8への変換ができたよ。
Debian etch とか古すぎて使う気にならないけど。
115: 2010/11/27(土)17:00 AAS
>>114
多謝!!

こっちでも試してみましたけど、できた!?ばかな!?

記憶を頼りに前回のコードと比較してみたら、違いが判りました。
OK: wxCSConv(wxT("cp932"))
NG: wxCSConv(wxFONTENCODING_CP932)
…こいつら違う意味なのかよ!?
ちなみに、後者だとSJISでもUTF-8でもないデータになりました。

で、wxWidgetsのソースを読んでみました。

wxCSConv::wxCSConv(const wxChar *charset)
{
  ...
  m_encoding = wxFontMapperBase::GetEncodingFromName(charset);
}

wxCSConv::wxCSConv(wxFontEncoding encoding)
{
  ...
  m_encoding = encoding;
}

で、wxFontMapperBase::GetEncodingFromName(wxT("cp932"))は87でした。
wxFontEncodingはenumなので、じゃあ87はなにかというと、
wx/fontenc.h: wxFONTENCODING_MAX, // highest enumerated encoding value
うん、意味が判らないんですが、これってwx使ってる方からしたら常識だったりしますか?

それと間違えてました、使ってるのはetchでなくlennyでした、スイマセン。
116: 2010/11/27(土)17:17 AAS
C++ の勉強からやり直せ
117
(1): 2010/11/27(土)17:40 AAS
xchmのコード変更完了!
おかげさまで変更箇所が50行が4行になり、かなりすっきりしました。

相談に乗って頂いた方、大変有難うございました。
118
(1): 107 2010/11/27(土)18:21 AAS
fmapbaseの中にwxFONTMAP_CP932のエンコーディング名として最初にWINDOWS-932という
文字列が登録されていて、iconv にはこの名前のエイリアスが登録されていないから iconv に
失敗する、、、んだけど、iconv_open に失敗したらWINDOWS-932の次のCP932が利用されるように
見える。なのに失敗してる。

深追いはしてないからどこでコケてるのか判らないけど、とりあえず wxCSConv にはエンコーディング名を
直接渡したほうが、その名前が直接 iconv に渡るから落とし穴が少なそう。
119: 2010/11/27(土)18:27 AAS
なるほど。ありがとう。
120: 2010/11/27(土)18:41 AAS
>>118
あー、そういうことでしたか、なるほど。
感謝!
121
(1): 106=114=118 2010/11/27(土)20:54 AAS
名前を間違えて107にしてしまった。
>>117 xchm の修正って、本家にフィードバックする予定ありますか?
Linuxでもchmファイル読めたら便利そう。
122: 2010/11/27(土)22:36 AAS
>>121
フィードバックの予定は特に無いです。
というか本家、まだ生きてるんだろうか?

Ad-hocだけど、ここにパッチ貼っときます。
これでコンテンツと索引がちゃんと日本語で表示されるようになります。
検索の日本語対応は、ぱっと見かなり難しそうだったので保留中です。
むしろ誰かやって下さい…。

ちなみに、Linuxでchm読むだけでしたら他にもいくつかビューアがあるようですよ。
ご参考まで。
123: 2010/11/27(土)22:37 AAS
+diff -urN xchm-1.17.orig/src/bitfiddle.inl xchm-1.17/src/bitfiddle.inl
+--- xchm-1.17.orig/src/bitfiddle.inl 2010-11-27 17:21:37.000000000 +0900
++++ xchm-1.17/src/bitfiddle.inl 2010-11-27 18:00:13.000000000 +0900
+@@ -194,10 +194,10 @@
+ return wxEmptyString;
+
+ if(enc != wxFONTENCODING_SYSTEM) {
+- wxCSConv convFrom(wxFONTENCODING_ISO8859_1);
+- wxCSConv convTo(enc);
+-
+- return wxString(input.mb_str(convFrom), convTo);
++ if (enc == wxFONTENCODING_CP932)
++ return wxString(input.To8BitData(), wxCSConv(wxT("cp932")));
++ else
++ return wxString(input.To8BitData(), wxCSConv(enc));
+ }
+
+ return input;
124: 2010/11/27(土)22:39 AAS
+diff -urN xchm-1.17.orig/src/chmfile.cpp xchm-1.17/src/chmfile.cpp
+--- xchm-1.17.orig/src/chmfile.cpp 2010-11-27 17:21:37.000000000 +0900
++++ xchm-1.17/src/chmfile.cpp 2010-11-27 19:35:02.000000000 +0900
+@@ -1056,10 +1056,8 @@
+ #endif
+ topic = CURRENT_CHAR_STRING(combuf);
+ #if wxUSE_UNICODE
+- else {
+- wxCSConv cv(_enc);
+- topic = wxString((const char *)combuf, cv);
+- }
++ else
++ topic = translateEncoding(CURRENT_CHAR_STRING(combuf), _enc);
+ #endif
+ }
+
125
(1): 2010/12/01(水)16:15 AAS
wxPythonでとあるチャットのクライアントを作っているのですが
wx.(Rich)TextCtrlでは打ち消し線は使えないのでしょうか?
126: 2010/12/03(金)00:13 AAS
>>125
wxFONTFLAG_STRIKETHROUGHを指定したフォントを適用してやるとかで
できるんじゃない?
127
(1): 2010/12/04(土)15:45 AAS
ありがとうございます。

font = wx.FFont(8, wx.DEFAULT, wx.FONTFLAG_STRIKETHROUGH)
self.target.SetFont(font)

FONTFLAG_STRIKETHROUGHを指定してみたのですが、打ち消し線が表示されません。
128: 2010/12/05(日)00:26 AAS
wxWidgets2.8.xに実装されているウィジェットの表示サンプル一覧とかないですかね?
サンプルを実行してみないとどのように表示されるのか判らないのはかなり不便・・・('A`)
129: 2010/12/05(日)02:32 AAS
demosも一緒にインストール汁
130
(1): 2010/12/06(月)23:39 AAS
>>127
http://trac.wxwidgets.org/ticket/9907
打ち消し線が有効化されるパッチ。
ただし2.9。
131: 2010/12/25(土)00:41 AAS
>>130
遅れましたが、ありがとうございます。
wxWidgets用のパッチのようなのですが、
wxPythonに適用させる方法がわかりません・・・
132: 2011/01/01(土)17:37 AAS
Androidに対応してくれないかなぁ・・・
133: 2011/01/02(日)03:08 AAS
AndroidやiPhoneもそうだけど、Mac対応(wxCocoa)もしっかりして欲しい。
このままじゃ何時まで経っても64bit化出来ない。
やっぱり企業の後ろ盾がないプロジェクトはきついかもね。
134
(1): 2011/01/15(土)01:11 AAS
Qtは人気あるのに、こっちは盛り上がらないね。
135: 2011/01/15(土)01:25 AAS
QtはLGPLがヤダ
136: 2011/01/15(土)01:32 AAS
>>134
枯れてるからね
137: 2011/01/15(土)14:18 AAS
ほとんど同じ時期じゃね?
wx Initial release 1992
Qt Initial release 1992; 19 years ago
wxの敗因は、やっぱ製品として売り出してないからじゃね?
138: 2011/01/15(土)20:08 AAS
Android => Java, Google
gtk,Mono => Suse, Microsoft
Qt => Nokia, Google, Intel
wxwidget => ???
139: 2011/01/15(土)20:12 AAS
何の矢印だよ、それ。
140
(2): 2011/01/18(火)00:04 AAS
wxRubyノート - ListCtrl を使ってサムネイル一覧を表示してみる - Alone Like a Rhinoceros Horn
http://d.hatena.ne.jp/h1mesuke/20100427/p1
のコードを動かしたいのですが日本語パスが使える状態で動かせません

Ruby 1.8.7+wxRuby 2.0.1
 動作するけど日本語を含むパスが認識しない
 (Ruby 1.8.xがUTF-8のパスを処理出来ないためっぽい
 S-JISだと今度はwxRubyがパスを認識出来ない)

Ruby 1.9.2+wxRuby 2.0.1
Ruby 1.9.1+wxRuby 2.0.1(mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe)
Ruby 1.9.1+wxRuby 2.0.0(mingw32-ruby-1.9.1-wxruby-2.0.0-setup.exe)
 RubyはUTF-8のパスを処理出来るけど
 >@thumb_list.clear_all
 のところで固まる

日本語パスが使える状態で動作させる方法があったら教えてください
よろしくお願いします
141
(1): 2011/01/18(火)06:48 AAS
http://codepad.org/SaG84FKe
142
(1): 140 2011/01/23(日)01:33 AAS
レスありがとう。ってPython!?Σ(゚Д゚)
わざわざ書き直してくれたのに申し訳ないけどRubyでコーディングしたいので・・・

とりあえずいじり回していたら思いついた案
1.Ruby 1.8系を使用。wxImage::load_streamを使う
  ファイルの自動判別が出来ない
2.Ruby 1.8系を使用。Rubyのファイルパスを扱うメソッドをUTF-8に対応するように再定義
  数が多くコーディング量が多い。デバッグも大変
3.RubyでwxPythonを使う
  まだ実験していない。動いたとしても関連ライブラリのサイズがでかくなりそう?
どれもイマイチだ(´・ω・`)
143: 2011/01/23(日)03:01 AAS
Ruby知らんけど、単に文字コード変換するんじゃダメなの?
144: 2011/01/23(日)17:59 AAS
コントロールに画像使うとリソース食うから
サムネにはお勧めできない
145: 2011/01/23(日)19:23 AAS
GUIやるならPythonの方が良いと思うけどなぁ。
Windowsと日本語はもちろんだけど、>>140のBlog見てるとスレッド周りにも
問題あるみたいだし。
146
(1): 2011/01/23(日)20:59 AAS
>サムネイルを作成する間ウィンドウがブロックしないよう、サムネイルの作成は別スレッドで行っている。
>(ただし、サンプルということで、排他制御は一切やっていない)
>
>イベントループのあるメインスレッドからのスレッド切り替えが円滑に行われるよう、
>メインスレッドではタイマーを使って定期的に Thread.pass している。
>
> Wx::Timer.every(100) do
> Thread.pass
> end
>
>これが必要になる理由については次のエントリでやる予定。

謎のコード
147: 141 [あきらめたら終わり満足してしまっても終わり sage] 2011/01/23(日)21:11 AAS
>>142
べつに謝らんでもええよ
漏れは困ってへんから
148: 2011/01/23(日)21:38 AAS
>>146
http://d.hatena.ne.jp/h1mesuke/20100508/p1
ここのコメ欄の方が怖いぞ。
149: 2011/01/24(月)05:23 AAS
Ruby使ってないから気にしない
150
(3): 2011/01/27(木)23:54 AAS
wxWidgetsでアニメ(not 動画ファイル。MNG or 連番PNGを想定)を表示したいのですが
単に表示されている画像をインターバルで書き換えていく方法だとフリッカーが出てしまいます
再描画と画像の書き換えの同期が取れていないためだと思いますが同期させる方法が判りません
何か良い方法があったら教えてください。よろしくお願いします
151: 2011/01/28(金)01:18 AAS
ソース貼れ
152
(2): 2011/01/28(金)23:04 AAS
>>150
wxBufferedPaintDC使え。
153: 150 2011/01/30(日)00:53 AAS
レスthx

>>152
なるほどそう言うのがあるのか。試してみます
154
(1): 2011/01/30(日)16:14 AAS
2.9.1が出てから音沙汰無いな
155: 150 2011/01/31(月)00:06 AAS
>>152
フリッカーを無くせました。ありがとうございました
156: 2011/02/05(土)22:36 AAS
>>154
http://wx.ibaku.net/changelog/
連日どんどん更新されてるけど音沙汰ない?
157: 2011/02/11(金)06:24 AAS
前スレがやっと埋まったぽい。埋めた人お疲れさま。
158: 2011/02/11(金)23:54 AAS
つうか次スレ立てるの早過ぎだろ
159: 2011/02/13(日)21:55 AAS
このライブラリタダ?
160
(1): 2011/02/18(金)08:33 AAS
EVT_LEFT_DCLICK で bind して処理しようとすると
EVT_LEFT_UP EVT_LEFT_DCLICK が同時に来るみたいなのですが
EVT_LEFT_DCLICK だけ受け取るにはどうすれば良いでしょうか?
161: 2011/02/18(金)20:45 AAS
>>160
wxMouseEventのLeftDClickで判別すればいいんじゃないの?
162
(1): 2011/02/18(金)21:35 AAS
GoogleIME使ってるんだが、TextCtrlで未変換文字列とか変換候補とかが表示されないのは仕様か?
MSIMEならちゃんと表示された
163: 2011/02/18(金)22:05 AAS
>>162
ありがとうございます
試してみましたが
結局 EVT_LEFT_DCLICK に bind された handler 内では LeftDClick なのですが
同時に EVT_LEFT_UP に bind された handler も呼ばれてしまっていて
そっちでは LeftDClick じゃないとみなされるので区別出来ないんです ><
164
(2): 2011/02/27(日)19:42 AAS
wxApp の OnInit で wxFrame *frame = new wxFrame(hogehoge);
としたとき wxFrame を delete しないようですが
勝手に GC してくれるんでしょうか?
SetTopWindow(frame);
を実行したときとしないときでは違いますか?
165: 2011/02/27(日)20:07 AAS
メモリ以外の資源の解放をGC任せにする男の人って
166: 2011/02/28(月)14:53 AAS
>>164
wxWidgetsでは自分で解放すると返って二重解放になる。
http://www.wxwidgets.org/docs/faqcmn.htm
FAQに書いてあるから今後はよく読もうな。
167
(1): 2011/03/04(金)16:28 AAS
主にwindowsで使っていますがlinuxでも同じソースで動くようにしたいです
wxStringで与えられたあるパス名がフルパスか相対パスかをwxWidgetsのクラス
(例えばwxFileName等)を使って判断出来ますか?
168
(1): 2011/03/04(金)20:23 AAS
>>167

wxFileNameにIsAbsoluteというのがあるけども。
それすら調べられないようだとwxに限らずプログラミングは厳しいと思う。
169: 2011/03/04(金)20:25 AAS
ポインタ置いときますね。皆さん先刻ご存知かもしれませんが。

wxWidgets(wxstd.moの日本語版, ja.po)をお使いの皆様へ
http://suzumizaki.blog6.fc2.com/blog-entry-207.html
170: 2011/03/04(金)20:34 AAS
>>164
こっちも読んでおくといいよ。
二重開放以外にもdeleteがまずい理由があるようだから。
http://docs.wxwidgets.org/trunk/overview_windowdeletion.html
171: 2011/03/04(金)21:31 AAS
>>168
出来ました!!
ありがとうございました!!!
172: 2011/03/07(月)03:32 AAS
wxListCtrl の
SetItem - GetItemText とか
SetItemText - GetItem とか
なんか変な対応してるみたいなんですけど
こんなもんなんですか?
他にも IsIconized とか IsShown とか
ドキュメント通りじゃなくて
めちゃくちゃな感じがするんですが
設計者ってパラノイア?
173
(1): 2011/03/07(月)04:30 AAS
馬鹿には無理
http://wiki.wxwidgets.org/WxListCtrl
Get the String Contents of a "cell" in a LC_REPORT wxListCtrl
174: 2011/03/07(月)07:16 AAS
>>173
出来ました!!
ありがとうございました!!!
175
(1): 2011/03/07(月)11:00 AAS
質問です
wxWidgetsにはMD5やSHAを計算してくれる関数はありますか?
176: 2011/03/07(月)11:32 AAS
http://wxwidgets-hash-md5.fyxm.net/
177: 2011/03/07(月)22:35 AAS
>>175
176じゃないけど、MD5単品ならこういうのとか。
http://www.koders.com/cpp/fid80078010DEFC2265E917FE6436718F0AE038CBE6.aspx
178
(1): 2011/03/08(火)09:26 AAS
>>178
ありがとうございます
とりあえず別のMD5ライブラリが見つかったのでそちらで間に合わせたのですが
ライセンスの問題とか考えると教えて頂いたもので置き換えた方が良いかも知れません
余力があったら後でご報告します
179: 2011/03/09(水)04:31 AAS
wxHTTP::GetResponse が 200 とか 403 とかじゃなくて 0 を返すんですけどバグですか?
180
(1): 2011/03/09(水)04:46 AAS
http://wiki.wxwidgets.org/WxHTTP
181: 2011/03/09(水)05:29 AAS
>>180
出来ました!!
ありがとうございました!!!
182
(2): 2011/03/09(水)17:04 AAS
文字コードの変換というか
変換出来ない文字が含まれているかどうかのチェック方法について質問です。

UTF8 の文字列を SJIS に変換しようとしています。

static wxString wxString::FromUTF8(const char *s);
の注意書きに、
Note that this method assumes that s is a valid UTF-8 sequence
and doesn't do any validation in release builds,
it's validity is only checked in debug builds.
というのがありまして、
実際に HTTP 経由で取得したデータ (UTF8 であることは確認済み) に
「〜」の上下反対の文字 (SJIS に変換出来ないコード) などが入っていると、
wxString utf8_data;
wxStringOutputStream ostream(&utf8_data);
httpStream->Read(ostream);
wxString sjis_data = wxString::FromUTF8(utf8_data.c_str());
なコードで変換しようとすると
sjis_data の中身が空っぽになってしまいます。
リリースビルドなので無視された結果だと思いますが、
wxWidgets 自身に事前にチェックするための関数などはありますか?

utf8_data には確かに UTF8 のデータが入っています。
問題を起こす文字が含まれていないときは正常に動作するようです。
OS は Windows で wxWidgets は ANSI 版のを使っています。
183: 2011/03/09(水)17:16 AAS
むしろUTF-8のまま扱うかUNICODEにしてしまった方が良いのでは?
184
(2): 2011/03/09(水)20:02 AAS
>>182
wxStringOperations::IsValidUtf8String
185
(1): 2011/03/10(木)08:17 AAS
>>184
ありがとうございます。
今レス見たばかりなのでまだ試していませんが、
http://docs.wxwidgets.org/trunk/annotated.html
を見ても wxStringOperations は見当たらず
ネームスペースかとも思うのですが、
こういったものはどうやって見つければ良いものですか?
186
(1): 2011/03/10(木)08:25 AAS
>>182
wxString::FromUTF8Unchecked
187
(1): 2011/03/10(木)08:27 AAS
>>185
http://trac.wxwidgets.org/wiki/DebugRelease
188: 2011/03/10(木)08:34 AAS
>>186
ありがとうございます。
しかしそれは Valid じゃない UTF8 データが渡されたときの
動作は undefined だと書かれていますね。
結局事前に調べないといけないことにかわりないようです。

>>187
ありがとうございます。
中身を読んでも良く判りませんでした。
どういう意味でしょうか?
189: 2011/03/10(木)08:38 AAS
ん?
「〜」301C(E3809C)
はValidじゃないのか?
190: 2011/03/10(木)09:19 AAS
問題なのはUTF-8として正しいかどうかじゃなくて
cp932に変換出来るかどうかってことなんだよな
そうなるとスレ違いかもな
191: 2011/03/10(木)13:58 AAS
wxWidgetsって、けっこうS-JISの処理が弱いので、そこの部分だけはネイティブの処理にしたほうがいいかも
俺もアプリ作った事あるけど、S-JISに変換する部分だけはWideCharToMultiByte関数を呼ぶようにしたよ
192
(1): 2011/03/10(木)16:16 AAS
>>184
残念ながら使えませんでした。
193: 2011/03/10(木)16:24 AAS
>>192
wxUSE_UNICODE_UTF8 を定義してないと使えないよ
http://docs.wxwidgets.org/trunk/overview_string.html
194: 2011/03/10(木)22:06 AAS
みなさん色々とありがとうございます。
wxString sjis_data = wxString::FromUTF8(utf8_data.c_str());
のところで例外出して死ぬパターンと sjis_data が空になるパターン
それからちゃんと成功するパターンとがありました。
結局アクセスしていたサイトに広告が入っていて、
時間帯によって内容が変わるようなのですが、
どうも本体は UTF8 なのに広告部分だけ SJIS とか、
お粗末なサイトだったのが混乱した原因の一つでした。
195: 2011/04/19(火)00:00 AAS
3.0マダー(AA略)
196: 2011/05/25(水)00:30 AAS
サイザーage
1-
あと 764 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.213s