[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/05 01:38 / Filesize : 262 KB / Number-of Response : 969
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【GUI】wxWidgets(旧wxWindows) その3【サイザー】



1 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 00:06:30 ]
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)について語りましょう。

本家
 www.wxwidgets.org/
wxWindows日本語プロジェクト
 wxwindowsjp.sourceforge.jp/
Let's wxWidgets
dot-gray.s33.xrea.com/
(*)準備中(*)
www.geocities.co.jp/SiliconValley-Cupertino/8526/
wxWindowsで始めるC++ GUIプログラミング
www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
namazu.org/~satoru/pub/uu-2004-08/
dW : Linux : wxWindowsの概要
 www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html
SunWorld Online:wxWindows――無名だが成熟したGUIツールキット
 www.idg.co.jp/sw/back/200102/20010219_01_report.html

684 名前:デフォルトの名無しさん [2008/02/24(日) 10:02:28 ]
C言語でクロスプラットフォームなGUIプログラミングしようと思ったら
wxWigets or QT or GTK どれが良いですか?

wxWigets の環境をうまく作れなかったので、QT入れてみたのですが・・・。

685 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:26:47 ]
初体験するなら、恋人、ナンパ娘、風俗嬢の誰がいいですか?
恋人をうまく作れなかったので、風俗嬢に挿れてみたのですが・・・。

686 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:31:45 ]
>>684 が挙げた3つの中でC言語なのはGTK+だけ

687 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 11:55:18 ]
妹に一緒にお風呂に入ろうと誘われたんですがどうすればいいですか?

688 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 15:11:32 ]
>>685
初体験なのに3つも選択権をもっているような人は
このスレに来てはいけません

>>687
具体的に何を迷っているのか分からない。
なぜ考える必要があるの?

689 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 16:07:33 ]
妹=42歳(千代大海似)

690 名前:デフォルトの名無しさん [2008/02/24(日) 19:56:56 ]
wxを使ってMindmapエディタを自作したいと思ってるんですが、
複数のテキストボックス(サークル)間にリンクを張って
表示するのに便利なモジュールってありますか?
# うまく説明できなくてすみません。

snapshotを見ると、UML図を書けるようなアプリはあるようですが、、、

691 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:22:27 ]
そんな程度の考えでマインドマップ作ろうってのは無謀な気がするが
それはおいとくとして、
けっこうプラットフォームによってまちまちな部分があるので、
マルチプラットフォームを考えてるなら、ありもののパーツで
なんとかならない場合はwxはやめといた方がいいかも。
たとえばマインドマップとかペイントソフトとかだとキャレットの操作が必要になると
思うけど、Win版はちゃんとネイティブのキャレットを操作してるが
GTK版なんかは自前でキャレットらしき棒を描く場所を変更してるだけ。

692 名前:デフォルトの名無しさん [2008/02/25(月) 00:33:32 ]
wxGladeのTextCtrlのlayoutプロパティでoptionっていう項目がありますが、これってなんの値なんでしょうか??



693 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 01:06:09 ]
>>692
最近のはproportionと呼び名が変わったようだ。
>>523 の説明がわかりやすいと思う。

694 名前:デフォルトの名無しさん [2008/02/25(月) 09:50:19 ]
親ウィンドウと子ウィンドウを連動しようと思い。
親ウィンドウのMoveEventから
子ウィンドウのMoveを呼び出したのですが、
エラー落ちしてしまいます。

何か方法があるのでしょうか?

695 名前:692 [2008/02/26(火) 01:20:38 ]
>>693さん
なるほど。523見てなんとなく分かりました。
ありがとうございました。

696 名前:694 mailto:sage [2008/02/26(火) 08:35:58 ]
コンストラクタ内でMoveEventが呼ばれ(たぶんCenter関数)
その時にはまだ子ウィンドウが生成されてなかった。

しかも初期化が完了してない無効なポインタだったので
当然エラーということだった

コンストラクタで始めに関数が呼ばれる前に
事前初期化してないとエライことになる可能性があるという教訓でした。


697 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 16:20:52 ]
メニューのフォントを変更しようと思い、
wxMenuBarにフォント設定したけど反映されない・・・
なぜ・・・

698 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 09:25:53 ]
wxMenuBar

wxWindowsを継承しるのになんでそのフォント使わないで
インラインで別のフォント使うのか理解できん。



699 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:01:34 ]
早くwx-usersに要望を出す作業に戻るんだ

700 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 21:31:15 ]
メニューバーが自前で描画するモノなんかあったっけ?

701 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 00:38:09 ]
wxWidgetsってWindows Mobile環境でも動作するんでしょうか?
あと、その場合、バインディング言語(wxPython等)でも利用可能なんでしょうか?

702 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 09:36:44 ]
wxpyce.wikispaces.com/



703 名前:701 mailto:sage [2008/03/01(土) 09:55:26 ]
>>702
サンクスです。

704 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:02:32 ]
あるウィンドウのZオーダーを動かしたい(一番手前に表示したい)
のですがどうやればいいのでしょうか?
よろしくお願いします。

705 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 01:36:52 ]
>>704
Raise()

706 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 18:51:07 ]
2年以上開発版のままだったCode::Blocksが2/28に8.02をリリースしてた。
www.codeblocks.org/


707 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 18:52:50 ]
使えそう?

708 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 19:22:07 ]
>>705
できました。ありがとうございました

709 名前:706 mailto:sage [2008/03/03(月) 20:05:07 ]
>>707
Fedora8で昔使ってみたときのプロジェクト試してみたけど、
Buildしたときのerrorとwarningが入れかわってる気がする。一応動いたけど。
ちょっと前にチェックしてたけど、
2、3日に一回くらい開発版だしてて追いつけなかったからリリースをまってた。
いろんなOSで動くところが好きなので、そのうち本格的に使うかも。
macportsにもきてた。


710 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 01:37:13 ]
wxGladeで画面を作成しているのですが、
widgetを配置する画面(Frameをダブルクリックして出てくる画面)に、
配置してあるボタン等が収まりきらなくなりました。
しかしながら、Previewで見るときちんと全部収まっています。
Panelを削除するとこの現象は出ないのですが、どこか作り方が
おかしいのでしょうか?
どなたか教えてください。


711 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 01:50:20 ]
>>710
Previewの方が正しい。
wxGladeを立ち上げ直すと直ることもある。
けど,まあそんなもんだと思っている。

712 名前:710 mailto:sage [2008/03/04(火) 23:36:30 ]
>>711
レスありがとうございます。
そうですか。
Panelを捨ててしまうと、タブ移動が出来なくなるので困っていました。
wxGladeのバージョンアップに期待というところでしょうか?
sizerの入れ子の数とかでおかしくなるのかなー。



713 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 16:00:25 ]
wxRubyでXRCでGUI部分作って、メニューアイテムやら押したときにメッセージボックスを表示させたいんだがどうやればいいんだ?

ボタンを対象にfind_window_by_name('TEST')とかやって
evt_button(@update.get_id){
Wx::message_box("テストだよ", "test", Wx::OK | Wx::ICON_INFORMATION, self)
}
とかするとちゃんとメッセージボックスやらが出せるんだけど
find_window_by_name('MENUBAR')とかやってもnilが返ってきてしまうんだ…

714 名前:デフォルトの名無しさん [2008/03/15(土) 16:01:46 ]
下がってるのであげてみることにする

ちなみにwxRubyについてるサンプルソース読むと、XRCのサンプルでもコード上でメニューバーとか追加してた

715 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 20:02:14 ]
事故解決した
Wx::Frame#get_menu_bar
ちぅのがあるのね…

716 名前:デフォルトの名無しさん [2008/03/16(日) 09:00:11 ]
widestudioとどっちがいいですか??

717 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:25:52 ]
どっちがいいか言い切れるんならもう片方は消滅してるよ

718 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 02:22:43 ]
wx-gladeでseparate for each classというオプションにチェックを入れてコードを吐かせてみたのですが
wxAppクラスを継承したMyAppクラスの宣言部がmain.cppとして一個増えただけでした。

www.h3.dion.ne.jp/~k5_n/wxwin/memo/ver0_0.html
このページみたいにモジュールを分割していきたいのですが、wxTextCtrlを継承させる予定のwxTextCtrl2クラスのコードを別ファイルで吐かせたりするにはどうすればよいのでしょうか。


719 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:24:25 ]
長らく使ってないけど
wxTextCtrl2っていうCustom Widgetを作るんじゃなかったかな

720 名前:デフォルトの名無しさん [2008/03/18(火) 16:17:05 ]
EditDlg *dlg = new EditDlg(this);
dlg->ShowModal();
dlg->Destroy();

メニューの実行で、上記を実行していますが、
最後のDestroyでアプリが落ちてしまいます。
Destroyは不要ですか?

環境は、Mac OS X 10.4 /wxMac-2.8.7を使っています。

721 名前:720 mailto:sage [2008/03/18(火) 16:28:26 ]
もう少し状況が分かりました。

ダイアログのシステムボタンで閉じる → ×
Close()で閉じる → ×
Hide()で閉じる → ○

つまり、閉じ方によって、ウィンドウのDestroyが呼ばれるかどうかが決まるんですね?

詳しい方、情報もしくは、同意よろorz

722 名前:デフォルトの名無しさん [2008/03/19(水) 14:39:14 ]
wxWidgetsの環境変数で、
ファイルのパスのデリミタや、
実行ファイルのディレクトリを
取得できますか?



723 名前:デフォルトの名無しさん [2008/03/19(水) 16:01:40 ]
argv[0]を参照する方法はありますか?

724 名前:723 mailto:sage [2008/03/19(水) 16:07:02 ]
みつけますた ---> ttp://wxwindowsjp.sourceforge.jp/docs/html/wx/wx30.htm#wxappargv

725 名前:723 mailto:sage [2008/03/19(水) 16:29:58 ]
で、wxAPPのインスタンスってダイアログ側からどうやって取るんでしょう?


726 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 16:33:30 ]
::wxGetApp

727 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 16:44:51 ]
thx!>>726
orz

728 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 13:36:28 ]
>>722
デリミタは、wxFileName::GetPathSeparator()

実行ファイルディレクトリは、
wxFileName exepath(wxStandardPaths::Get().GetExecutablePath());
wxString exedir = exepath.GetPath();
でexedirに入る。


729 名前:718 mailto:sage [2008/03/20(木) 19:48:39 ]
>>719さん
レスありがとうございます。試してみます!
お礼遅れてすいません。


730 名前:729 mailto:sage [2008/03/20(木) 19:58:09 ]
と・・調べてみたのですが、custom widgetsってwx-gladeのパレットに新しい項目追加するような感じで自分でカスタムしなければいけないのですね。
これだとクラス継承する毎にパレットに追加しなくてはならなくなりますよね。。(当然ですが)

クラス継承して使いたい場合、みなさんどうやってコードを書いているのでしょうか??
自分で継承して作ったクラスを全部wx-Gladeで描画できるようにするのはけっこう面倒くさそうですし・・
あんまりファイル分割しない方がいいんでしょうか。
それとも、wx-gladeはあんまり使わない、とか・・


731 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 20:29:23 ]
wx-gladeはあんまり使わない

732 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 20:50:35 ]
wxFormBuilderがおすすめ
適当なコントロールから継承したカスタムコントロールやウィンドウなら、
継承元の見た目で作って、クラスを指定してヘッダファイル名まで指定できる。



733 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 22:55:02 ]
>>728
有難うございます。まだ調査している最中だったので助かりました。

>>732
そうなんですか。。。
知らなかったのでwxDev C++ を使ってますorz



734 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:19:46 ]
Windows環境だと、
>std::string str;
>wxString wstr = str;
と書けるんですが、
wxMacだと、
>wxString wstr = str.c_str();
と書かないとコンパイル通らないみたいです。

何でだろ。。。

735 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:09:27 ]
ユニコードを使ってるかどうかかな?

736 名前:734 mailto:sage [2008/03/21(金) 16:19:02 ]
あ、なるほど。>>735

wxMacは、環境設定でユニコードをオンにしてmakeしたようなかすかな記憶。
Windows版は、wx-debcppをインスコしただけだったような記憶。

この問題って難しい問題ですね。

737 名前:デフォルトの名無しさん [2008/03/21(金) 23:32:17 ]
すみません。初心者です。
wxDev-C++で作成したコードをLinuxでコンパイルできますか?
できるとしたら、makefileは自作ですか?
分かる方がいましたらよろしくお願いします。

738 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 23:59:59 ]
自作でもいいが、autotools(automake/autoconf)あたりがおすすめ

739 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 04:43:56 ]
wxが採用してるbakefileがいいんじゃないの。

740 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 10:55:32 ]
>>738 >>739
ありがとうございます。試してみます。
まず、configure自体を知らないとダメなんでしょうね。勉強します。

741 名前:730 mailto:sage [2008/03/23(日) 13:31:54 ]
情報ありがとうございます!
wxformbuilder、インストールしてみようと思ったのですが

Dependency is not satisfiable libwxbase2.8-0

とエラーが出てインストールできず・・

libwxbase2.8-0の再インストールとかしてみたのですがダメでした。
解決方法分かる方いらっしゃったら教えて頂けるとありがたいのですが・・

742 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:07:53 ]
wxのC言語バインディングってないのかのう?



743 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 15:26:47 ]
>737
wx-configを調べてみて
wxConfigクラスではなくてwx-configってコマンド

744 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 15:26:51 ]
>>741
とりあえず、ver3 RC8を落として、解凍すればインストールいらないのでは?
downloads.sourceforge.net/wxformbuilder/wxFormBuilder_v3.0.56-RC8-archive.exe?download
wxFormBuilder.exe起動したら動いたよ?ソースからビルドしようとしてる?

745 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:33:15 ]
>741
ちょいと使ってるOS回りの詳細を書いてくれ
なんとなくLinuxじゃないかと思うが、だとすっとdistroとバージョンは?

746 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:59:32 ]
wxDev-C++でデバッグしていて、ブレイクポントの2、3ステップ先で止まる
んですけど、こういうもん?Code::Blocksの方が使いやすいですかね?(Windowsです)

747 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:01:31 ]
>>741
>Dependency is not satisfiable libwxbase2.8-0
の時点でUn*x系だろうけど…
wxがちゃんと動いてるなら自前でビルドした方が良いんじゃないか?

748 名前:730 mailto:sage [2008/03/23(日) 22:34:56 ]
ご親切にありがとうございます!

OSはUbuntuで7.10です。wxWidgets自体は動いてます。

downloads.sourceforge.net/wxformbuilder/wxFormBuilder_v3.0.56-RC8-archive.exe?download
の方、試しに落として起動しようとしてみたのですが、エラーが出て起動できませんでした。

自分が落とそうとしていたのはこっちです。
sourceforge.net/project/downloading.php?group_id=135521&use_mirror=jaist&filename=wxformbuilder_3.0.56-0ubuntu1dapper1_i386.deb&93744357

こっちの方をダウンロードすると勝手にgdebi-gtkというので開かれ、パッケージインストーラというのが出るのですが、そこで

Dependency is not satisfiable libwxbase2.8-0

と言われます。

ubuntuforums.org/showthread.php?t=536984
とか
www.developpez.net/forums/showthread.php?t=369200 (イタリア語・・?)
とか見て色々試してみたのですが、解決しません・・

wxwidets の導入に手間取って、色んなパッケージのインストールとアンインストールを繰り返しまくってたのでなんか完全にインストールできてない状態になっているのかなと思ったのですが、libwxbase2.8-0をSynapticで完全削除後再インストールしても状況変わらず・・。

sudo apt-get install libwxbase2.8-0 でも 既に最新のパッケージです と言われてしまう状態です。


749 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 01:25:04 ]
>>748
ダウンロードしたら、パッケージのあるディレクトリ行って
%sudo dpkg -i wxformbuilder_3.0.56-0ubuntu1dapper1_i386.deb
みたいな感じじゃなかったか
…物凄い基本だった気がするが、Linuxやめちゃったからよく覚えてないや

つーかWindowsバイナリ走らせようとするなwwww

750 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 01:25:44 ]
Linuxじゃない、Debianだ

751 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 08:27:41 ]
debでインストールしようとするならubuntuスレで聞け

./configure & make & sudo make install
ならこのスレでもok...か?

752 名前:730 mailto:sage [2008/03/25(火) 00:08:06 ]
レスありがとうございます。
Linux初心者なもので・・ご親切にありがとうございます。

sudo dpkg -i wxformbuilder_3.0.56-0ubuntu1dapper1_i386.deb
これをやってみると、

wxformbuilder は以下に依存 (depends) します: libwxbase2.8-0 (>= 2.8.7.1) ...しかし:
システム上の libwxbase2.8-0 のバージョン は 2.8.4.0-0ubuntu3 です。

のようなエラーが出ました。どうもlibwxGtkとかlibwxbaseのバージョンが古かっただけみたいです汗
再インストールするのがめんどくさいのでwxformbuilderの方のバージョンを前のにしてインストールしてみたら今度は成功しました。
wxWidgetsのソース群はsynapticでインストールしたのですが、レポジトリが最新じゃないのですね・・

というわけで、解決しました。
微妙にスレ違いすいません&ありがとうございましたm(_ _)m




753 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 18:13:28 ]
wxWidgetsのUTF-8版はありますか?

754 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 18:22:01 ]
>>753ググレカス
www.wxwidgets.org/wiki/index.php/Development:_UTF-8_Support

755 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 02:19:49 ]
すみません。wxDev-C++でBreakPointに止まってくれないのですが、そういう症状出たことある人いますか?
バージョンは6.10です。VB感覚で作成できそうなので、残念です。
もしwxDev-C++が候補から外れると、
Code:Blocksを使ってみようかと重うのですが、そちらはちゃんとデバッグできますか?

756 名前:753 mailto:sage [2008/03/27(木) 08:58:47 ]
>>754
ありがとう。
UTF-8は目標ですか。

AnsiToUnicode/UnicodeToAnsiみたいな関数が欲しいですが、
wxWidgetsにあるんだろうか。。。

>>755
そういう症状でます。
自分の場合、ターゲットOSのデバッガでデバッグできました。
デザイン用のGUIエディタと割り切って、デバッグIDEは別のものにしてみたら?

757 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 10:08:28 ]
何でwxWidgetsだけで何でもかんでもやろうとするんだ・・・

758 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 11:24:28 ]
>>756ググレ(ry
・・・っていうかAPIリファレンスくらい目を通しておけ
wxwindowsjp.sourceforge.jp/html/2.8.4/wx_wxstring.html#wxstringwcstr

UTF-8の事だけど、試してないから正確なことはわからないが
未完成なだけで、一応使えるんだろ?
これから使うんだったら報告よろ



759 名前:756 mailto:sage [2008/03/27(木) 11:53:38 ]
>>758
さんくす。

実際にwxConvUTF8.使ってるサイトハッケソ
ttp://diary.imou.to/~AoiMoe/2004.09/middle.html
今すぐ動作させてみます。



関係ないけど、マニュアルのuft8_strを使うとコンパイルエラー、みたいな。

760 名前:756 mailto:sage [2008/03/27(木) 13:42:08 ]
>wxString SBuf;
>SBuf = "UTF-8文字列";
>wxMessageBox(SBuf, wxT("SBuf"), wxOK);
>SBuf = wxConvUTF8.cMB2WC(SBuf);
>wxMessageBox(SBuf, wxT("SBuf"), wxOK);

2番めメッセージで、空文字になってるようなorz


761 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 17:01:21 ]
Windows上で使っています。
wxWidgetsでIMEを制御する方法があったら教えてください。

TextCtrlにフォーカスが移ったらIMEがONになる、などの使い方がしたいです。

762 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 17:23:15 ]
>>760
気分転換にデバッガで追ってみた
原因はよくわからんが文字列に日本語が入ってるのがいかんらしい
"UTF-8String"で問題なかった

>>761
公式にはないようだから
自分で作るか適当に探してみ

あとwxTextCtrlはデフォで日本語入力ができるから
IMEが制御できてもあんまり意味ないとおも



763 名前:761 mailto:sage [2008/03/27(木) 17:36:16 ]
>>762
ありがとうございます。
数値を入れるTextCtrlではIMEが自動でOFFになる、と説明すればよかったです。
ググっても出てこないので、自作の道を考えてみます。

764 名前:760 mailto:sage [2008/03/27(木) 18:10:35 ]
>>762
調査ありがうとうございます。
言われるとおり日本語があるかないかで動作変わるみたいです。

ソースの日本語表記の問題ではないことを確かめるため、
コントロールから日本語入れてみました。

>wxString SBuf = WxEditPath->GetValue();
>SBuf = wxConvUTF8.cMB2WC(SBuf);

これで、Editに"aaa"と入れると、SBufは"aaa"で、sizeが3でした。
しかし、"あああ"と入れると、SBufは""でsizeは0。
日本語入れると動作しないUTF-8コンバートだなんて(><)


765 名前:760 mailto:sage [2008/03/27(木) 18:44:31 ]
>wxUSE_UNICODE
を定義してコンパイルすると、

>catch (std::logic_error &e) {
> wxMessageBox(wxT(e.what()), wxT("Error"), wxOK);
>}

といったwxMessageBoxがコンパイルエラー起こすんですが、何でですか?
ソースコードのファイルはSJISですが関係あるのかなぁ。


766 名前:760 mailto:sage [2008/03/27(木) 18:53:43 ]
あれ、wxDev-C++で、新規プロジェクトを作った直後wxUSE_UNICODEをつけてmakeすると、
コンパイルは通るけど、リンクエラーだ。
なんか難しいなorz

767 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 18:59:21 ]
>>766
wxDev-C++なんてよくわからないもの使わないでVC++を使ってください

768 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 22:22:51 ]
>>765
ソースがSJISならwxConvUTF8は使えないと思う

769 名前:755 mailto:sage [2008/03/27(木) 23:57:05 ]
>>756
ありがとうございます。デザインだけwxDev使えば良いんだね。
そういう使い方もあったか。

770 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 07:02:56 ]
>>764
根本的にわかってないなあ。overviewとかリファレンスとか読めよ。
なんでこう手探りでやろうとするかね。

c??2?? というのは MB, WC, WX があって、MBはマルチバイト文字列、
WCはwchar、WXはwxChar。
wxWidgets的にはwcharとwxCharは違う。陽にwcharを操作する状況でない限りはWXを使うべき。で、
wxConvUTF8.cMB2WC
はUTF-8表現されたマルチバイト文字列からwcharへの変換。
そこにWindowsでANSIビルド使ってるならSJISか? を渡せば変換に失敗して
何も出てこないのは当たり前の話。

>> 765
> >wxUSE_UNICODE
> を定義してコンパイルすると、

それはwxをビルドするときの設定で定義されるものだ。必要ならANSIビルドと
unicodeビルドと両方入れて、wx-configのオプションによって使い分けるんだよ。

771 名前:764 mailto:sage [2008/03/28(金) 09:28:54 ]
ありがとう。>>770

文字変換関数のみはunicodeビルドをするしかないですね。

>wx-configのオプションによって使い分けるんだよ。

難しいorz

772 名前:764 mailto:sage [2008/03/28(金) 09:32:44 ]
>wx-configのオプションによって使い分けるんだよ。

あ、wxConfigオブジェクトとwxAppオブジェクトの連携かと思って劇しく難しいのかと思ったら、
コンパイルのコマンドラインの話ですね?

なら、文字変換関数のみ別プロジェクトでwxUSE_UNICODEを定義してコンパイルしてオブジェクトモジュールを作っとくだけですよね。

その後、>>766 のリンクエラーを対処すれば終わり?



773 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 15:58:39 ]
そんなうまくいくかどうかわからんような小細工は
ここで質問してるような奴がやることじゃないと思うがなあ。

774 名前:764 mailto:sage [2008/03/28(金) 16:12:19 ]
その通りかもしれない。

wxWigetsの文字変換はやめときます。

ドズで動作するのは、ICUだけですか?
iconvは動作しませんよね。

775 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 17:27:03 ]
iconvはない。でもWindowsならOS自体に変換APIがあったと思うけど。詳細は忘れた。

776 名前:デフォルトの名無しさん [2008/03/28(金) 19:56:57 ]
windowsならmlang.dllが使える。
iconvのI/Fがいいなら

ttp://gtklab.sourceforge.jp/iconvmlang/index.html
なんかどう?


777 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 20:28:23 ]
もしかして、新Mac板にいたwx君なのか?

778 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 12:27:39 ]
ListCtrlを使っているのですが、MFCでいうオーナードローとかカスタムドローって
できないのでしょうか?
描画時のイベントやメソッドが見つからないのですが・・・


779 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 19:32:18 ]
wxFormBuilder使ってみたのですが、C++Editorでソースをいじってみようとしたら、文字の書いたり消したりが全くできませんでした。(ショートカットメニューのCopy と Select ALLだけが動く・・)
これはバグではなくて、wxFormBuilderはそういうもんなのでしょうか?
ショートカットメニューにcutとかpasteとかもあるのにdisableになっている感じなので、バグのような気がするのですが・・。

780 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 08:47:27 ]
>>776
それ、良いですね。

何でかというと、wxDev使ってるせいで、デザイン中はWinなんです。
そこで、iconvでWinとUNIX系と同じコードにできるなんて理想。

781 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 18:16:01 ]
wxLocalのオブジェクトってグローバルであるのでしょうか?
どうやって取得すれば。。。

それとも自分でnewするもんでしょうか。

782 名前:781 mailto:sage [2008/03/31(月) 18:45:34 ]
なんか分らないけど、
>include
して、
>wxLocal::メソッド
と書くと、
コンパイル&動作しました。

グローバルオブジェクトなのか、スタティックメソッドなのかどっちかでしょう。



783 名前:デフォルトの名無しさん [2008/03/31(月) 19:25:03 ]
>wxLocale::GetSystemEncodingName()
>windows-932

この値は、iconv_openで使う文字列でしょうか?

784 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:05:31 ]
>>782-783
理解できないまま、推測だらけでコーディングするのは良くないよ
自分で試したり、質問する前にちゃんとドキュメント読んだり、検索してる?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<262KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef