【GUI】wxWidgets(旧wxWindows) その5【サイザー】at TECH
【GUI】wxWidgets(旧wxWindows) その5【サイザー】 - 暇つぶし2ch1:デフォルトの名無しさん
10/04/09 15:12:36 .net
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)についてのスレ。

本家
 URLリンク(www.wxwidgets.org)
wxWindows日本語プロジェクト
 URLリンク(wxwindowsjp.sourceforge.jp)
Cross-Platform Programming with wxWidgets
 URLリンク(wxwidgets.info)
Let's wxWidgets
 URLリンク(dot-gray.s33.xrea.com)
wxWindowsで始めるC++ GUIプログラミング
 URLリンク(www.h3.dion.ne.jp)
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
 URLリンク(0xcc.net)

前スレ
【GUI】wxWidgets(旧wxWindows) その4【サイザー】
スレリンク(tech板)

2:デフォルトの名無しさん
10/04/09 15:13:33 .net
>>1


3:デフォルトの名無しさん
10/04/09 16:33:22 .net
早すぎね?

4:デフォルトの名無しさん
10/04/09 19:39:56 .net
関連スレ

【RAD統合環境】 Qt 総合スレ 7 【Win/Mac/Linux】
スレリンク(tech板)

5:デフォルトの名無しさん
10/04/09 19:46:45 .net
早すぎだろ

6:デフォルトの名無しさん
10/04/09 19:47:35 .net
>>1


7:デフォルトの名無しさん
10/04/09 19:48:52 .net
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

8:デフォルトの名無しさん
10/04/09 19:52:37 .net
━━━━〓〓〓〓〓〓〓〓 アイちゃんキター 〓〓〓〓〓〓〓〓━━━━

とりあえず>>1


9:デフォルトの名無しさん
10/04/09 22:06:50 .net
>>1

10:デフォルトの名無しさん
10/04/09 22:36:04 .net
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!


11:デフォルトの名無しさん
10/04/09 22:38:54 .net
    ヘ⌒ヽフ
   ( ・ω・) ㌧㌧
   / ~つと)


12:デフォルトの名無しさん
10/04/10 01:23:32 .net
この早漏め

13:デフォルトの名無しさん
10/04/10 11:40:00 .net
.Netスタイルのメニュー表示できないの?

URLリンク(www.dotup.org)
左:.Net 右:wx

14:デフォルトの名無しさん
10/04/10 13:16:01 .net
>>13
無理なような希ガス。自作するしかないような…(ツールバーならwxAuiでそれらしく見せれるけど)

15:デフォルトの名無しさん
10/04/14 16:37:31 .net
    ヘ⌒ヽフ
   ( ・ω・) ㌧㌧
   / ~つと)

16:デフォルトの名無しさん
10/04/24 09:25:04 .net
wxPython で作った pnl (=wx.Panel) に書いた画像は取得&保存できた

from wx.lib.colourchooser.canvas import BitmapBuffer
import wx
bb = BitmapBuffer(width, height, wx.Colour(0, 0, 0))
bb.Blit(0, 0, width, height, wx.WindowDC(self.pnl), 0, 0)
bmp = bb.GetBitmap()
bmp.SaveFile(u'できたよ.png', wx.BITMAP_TYPE_PNG)

ちなみに Win32API を使うとこんな感じになるみたい
URLリンク(www.sm.rim.or.jp)

17:デフォルトの名無しさん
10/04/26 14:59:40 .net
    ヘ⌒ヽフ
   ( ・ω・) ㌧㌧
   / ~つと)

18:デフォルトの名無しさん
10/05/02 20:44:44 .net
    ヘ⌒ヽフ
   ( ・ω・) ㌧㌧
   / ~つと)

19:デフォルトの名無しさん
10/05/02 21:09:14 .net
クライアント領域だけ透過させることって出来ないか?

20:デフォルトの名無しさん
10/05/03 11:45:01 .net
出来る

21:デフォルトの名無しさん
10/05/09 16:02:55 .net
こういう画像表示をwxPythonでやりたいのですけど

Osiva transparent image viewer, Kent Stork
URLリンク(www.noping.net)

画像を、ウインドウ枠無しで、デスクトップにずらずらと表示したいのですが、どこらへんをとっかかりにして始めたらいいのか分かりません。
「このサンプルが役に立つんじゃねえか?」みたいな意見を聞かせてもらえると嬉しいです。

はねまわるウインドウな例
URLリンク(python.matrix.jp)

たぶんこのサンプルが役立ちそうな気はしてるんですが、このサンプルでは1つのframeしか表示してなくて…
複数のframeを表示することなんて、wxWidgetsで可能なんでしょうか?
もし、できないとしたら、frameの代わりに何が使えそうなのでしょうか…?
あるいは、1つの透明なframeの中に、個別にbitmapを表示する感じになるのでしょうか?

22:デフォルトの名無しさん
10/05/10 00:17:11 .net
可能

23:デフォルトの名無しさん
10/05/10 01:27:50 .net
>>21
サンプルの

  app = wx.App(False)
  frame = MainFrame()
  app.SetTopWindow(frame)
  frame.Show()

のところを

  app = wx.App(False)
  frame = MainFrame(None)
  frame1 = MainFrame(None)
  frame2 = MainFrame(None)
  app.SetTopWindow(frame)
  frame.Show()
  frame1.Show()
  frame2.Show()

と書き換えて実行してみ

24:デフォルトの名無しさん
10/05/10 03:30:29 .net
WinMainから始まる既存のC&Win32ソースに
wxを組み込むのはどうすればいいのでしょうか?
SDKメインフォーム+モードレスダイアログ
のダイアログ部分を差し替えるイメージです

以下のソースではOnRunを呼ぶと制御が戻ってきません。
それ用のthreadを作れば何とかなるのですが
もっとシンプルに出来た記憶があったのですが・・・
wxApp* app = new MyApp();
wxApp::SetInstance(app);
int argc=0; wxChar** argv=NULL;
wxEntryStart(argc,argv);
wxTheApp->CallOnInit();
wxTheApp->OnRun();
while(GetMessage(&msg , NULL , 0 , 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
wxTheApp->OnExit();
wxEntryCleanup();


25:デフォルトの名無しさん
10/05/10 06:23:29 .net
答えは前スレにて

26:デフォルトの名無しさん
10/05/10 16:42:05 .net
>>25
前スレのどこ?アンカおねがい

とりあえずOnRunをコメントアウトしたら上手く動いているようではあるけど
もっときれいにやれてた気がするんだよなぁ

27:デフォルトの名無しさん
10/05/12 00:56:04 .net
>>23
ありがとうございます!
やってみたらframeが複数表示できました。
件のサンプルを参考にして勉強したいと思います。

28:デフォルトの名無しさん
10/05/17 04:01:10 .net
>>24
wx.netに入ってるwx-c.dllを使う

29:デフォルトの名無しさん
10/06/07 13:24:17 .net
wxWidetsをlinuxでコンパイルしてdemoやsamplesが正常に動くことを確認.

しかし
そのlinuxにOSXからssh-Xとかssh -Yとかで接続して,
sapmeles/openglのcubeとかisosurfとかpenguinを実行すると
ウインドウは出てくるけどopenglの描画がされないんだけど仕様なの?

ssh越しでもdemo(lifeとか)やopenglを使わないsamplesは普通に動くんだけど.

30:デフォルトの名無しさん
10/06/21 12:42:42 .net
WindowsのwxWidgetsってウィンドウの状態おかしくなってHideやShowが効かなくなったりIsShownOnScreenが変な値返してると思ってたら
他プロセスからのShowWindow、SendMessage、PostMessageとかメッセージ全部拾わずそのままDefWindowProcに渡してイベント上げてこない
そのくせ、自分自身でウィンドウの表示状態管理してるから不整合起きまくり

HWND取得してWin32APIで状態確認してWin32APIで処理しなきゃダメだ
自プロセスが出した命令のイベントしか上げてこないならEVT_SHOWなんていらないだろ

31:デフォルトの名無しさん
10/06/21 13:01:24 .net
>>29
オーバーレイをお古
かくかくのろのろだけど

32:29
10/06/21 16:22:58 .net
>>31
駄目.なんにも変わらない.

33:デフォルトの名無しさん
10/06/21 22:49:06 .net
gtkより歴史が古いことに驚愕

34:デフォルトの名無しさん
10/06/22 01:04:39 .net
gtkは糞

35:デフォルトの名無しさん
10/06/22 01:10:45 .net
>>34
頑張って置き換えてくれ

36:デフォルトの名無しさん
10/06/24 03:29:19 .net
gtkしかよう知らん.あれは糞なのか?
qtとwxだとどっちが糞なんだ

37:デフォルトの名無しさん
10/06/24 04:07:38 .net
ライセンス的には一部デフォルト設定から機能オフしないといけないけどwxが自由度高い

38:デフォルトの名無しさん
10/07/10 02:27:34 .net
>>37
その辺の話ってどこかにまとまってたりしますか?

39:デフォルトの名無しさん
10/07/10 02:56:56 .net
URLリンク(bf109.seesaa.net)

40:名無しさん@そうだ選挙に行こう
10/07/10 07:39:43 .net
スレ2にまとめがあったけど

GPL - コピペしてもリンクしても感染
LGPL - 動的リンクすれば影響しないが、静的リンクやコピペでは感染
wx - バイナリになっていれば煮ても焼いてもいい。コピペでは相変わらず感染

ということでいいのかな。
>>37は知らないがどういうこと?

41:名無しさん@そうだ選挙に行こう
10/07/10 09:12:48 .net
>>40
wxが余計に解らない

LGPLをゆるくしたものじゃね?

42:名無しさん@そうだ選挙に行こう
10/07/10 14:10:16 .net
567 デフォルトの名無しさん [sage] 2009/10/17(土) 02:23:53 ID: Be:
    URLリンク(www.wxwidgets.org)
    The wxWindows Licence is essentially the L-GPL (Library General Public Licence)
    wxWindows ライセンスは 本質的にはLGPL

    QtがLGPLになって企業サポートがついたいま
    wxWindowsに利点があるのだろうか?

43:名無しさん@そうだ選挙に行こう
10/07/11 02:01:41 .net
wxそのものに手を加える場合はLGPL。
単に自分のアプリを作るためのライブラリとして考える場合はバイナリで
自由に使える。ソースコードつけなくてもリンクしようが配布しようが自由。

44:名無しさん@そうだ選挙に行こう
10/07/11 15:48:10 .net
はじめまして。
wxWidgets(wxWindows)日本語ドキュメントプロジェクトの方々に連絡を取った所
既に更新停止しているとの事なので、プロジェクトを移管して頂きSourceForge.netで
新たにプロジェクトを作りました。これからv 2.8 の翻訳を完成に向けて開始したい
と思っています。

URLリンク(sourceforge.net)

翻訳作業の出来る方募集中です。どうぞご参加ください。


45:デフォルトの名無しさん
10/07/23 01:13:45 .net
そうなのかー、乙です。
wxはポータブルなんで、日本でももうすこし広がるといいですね。

46:デフォルトの名無しさん
10/07/24 21:05:36 .net
wxErlang って組み込みになったのか。
URLリンク(www.erlang.org)

Erlang/OTP R13A (2009-04-03) から、公式配布物に含む。 (最新はR14A)

47:デフォルトの名無しさん
10/07/26 04:18:08 .net
Rubyスレで聞いたけど判る人がいないっぽいのでこちらに・・・
wxRuby 0.6.0betaを使ったアプリをwxruby.so同梱で配布する場合に適用されるライセンスは
どのようになりますか?

バイナリファイルでの配布なら?任意のライセンスを適用出来るみたいですが
インタプリタ系の言語でバイナリファイルでの配布とか言われても難しいですし・・・
(exerbで配布したとしてもexeファイルの実態はインタプリター+ソースコードだし)

よろしくお願いします

48:デフォルトの名無しさん
10/07/26 05:47:16 .net
orz = 3

49:デフォルトの名無しさん
10/07/26 16:52:17 .net
そういうのわ御社の法務部で聞いてください

50:デフォルトの名無しさん
10/07/27 22:18:14 .net
すみません、誰か教えてください。
wxFormBuilderで作成されたForm内のm_textCtrlXXへの参照・代入ってどうやればいいんですか?

環境はVC++です。

51:デフォルトの名無しさん
10/07/27 22:40:10 .net
内容を読み書きしたいってことかな
URLリンク(docs.wxwidgets.org)
GetValue、GetLineText
SetValue、AppendText
この辺りだろう、ってか公式のリファレンスに網羅されてるからすぐ見たほうがいいよ

52:50
10/07/27 23:11:48 .net
お返事ありがとうございます。

wxFormBuilderで作成されたクラスがMyFrame1として、
MyFrame1::m_textCtrl28->SetValue(s);
とかやってみたけど、ビルドが通ってくれないのです。
(申し訳ございません、C++よくわかってない人です)

wxFormBuilderの場合、ここみたいに
URLリンク(wiki.wxformbuilder.org)
サブクラス化してアクセスするのが正解なのでしょうか。
試してみたけど、なんか上手くいかないんです。

53:50
10/07/27 23:19:29 .net
いちおう追記しておきますが、wxFormBuilderベースでプログラム作って、ボタンを押して反応するところまでは成功しまています(一日かかりましたが)。
文字列操作しようとしたらまたハマってしまって困っているのです。

54:デフォルトの名無しさん
10/07/28 08:55:09 .net
インスタンス化されたMyFrame1からアクセスしないと駄目です
MyFrame1 frame;
frame->m_textCtrl28->SetValue(wxT("moji"));
この場合外側からのアクセスなのでm_textCtrl28のpermissionはpublicになってないといけない
クラスの扱いはC++の基本なのでまずそちらから勉強した方がライブラリの理解も早くなります

55:デフォルトの名無しさん
10/07/28 08:57:31 .net
ごめん3行目ミスw
frame.m_textCtrl28->SetValue(wxT("moji"));

56:50
10/07/28 19:27:53 .net
おおお!
MyFrame1 frame;
としてみたところ、
frame.
の入力で
frame.m_textCtrl28->SetValue
までVCの補完が効くようになりました!

いけるかなと思ったのですが、ビルドしてみると
「'MyFrame1' : クラス、構造体、共用体に既定のコンストラクタがありません。」
のエラーになってしまいます。
なにはともあれ真理に近づきつつあるようです。ありがとうございます。
C++の勉強します。

57:デフォルトの名無しさん
10/07/28 19:49:01 .net
MyFrame1 frame;
frame = new MyFrame1(NULL);
frame->m_textCtrl28->SetValue(wxT("moji"));
じゃだめ?

58:50
10/07/28 21:25:03 .net
>>57
ありがとうございます。
やはり
「'MyFrame1' : クラス、構造体、共用体に既定のコンストラクタがありません。」
になってしまいます。
コードが継ぎ足し実験しまくりなのが不安なので、シンプルなコードで最初か
らやり直してみようと思います。

59:デフォルトの名無しさん
10/07/29 01:38:24 .net
MyFrame1 *frame = new MyFrame1(NULL);
じゃない?newを受けるのはポインタ

というかもう少しC の勉強してからのほうがいいと思ふぞ

60:50
10/07/29 02:40:00 .net
>>59
ありがとうございます。
まだ継ぎ足し実験コードのままなのですが、試してみました。
MyFrame1 *frame = new MyFrame1(NULL);
frame->m_textCtrl28->SetValue(wxT("moji"));
としてみたところ、
「protected メンバ (クラス 'MyFrame1' で宣言されている) にアクセスできません。」
というエラーが。

m_textCtrl28をprotectedメンバで宣言しているのはwxFormBuilderが吐き出し
たコードで、これはwxFormBuilderとしては「編集しちゃアカん」そうなので
すが、m_textCtrl28をpublicメンバで宣言するように直したところ、ビルドが
通りました。でもSetValue(wxT("moji"))の効果はありませんでした。

うーん、勉強します。シンプルなコードでも試してみます。

61:デフォルトの名無しさん
10/07/29 02:52:29 .net
日記

62:デフォルトの名無しさん
10/07/29 02:55:30 .net
君にとっては新たな発見なのかも知れないが
ここ見てるひとは当たり前過ぎてただのノイズ

wx やりたいのは解るがしばらく我慢して
もう少し C++ の勉強してから改めて取り組んだ方が良い

63:デフォルトの名無しさん
10/07/29 14:33:27 .net
C++のクラスの複雑さは異常

64:デフォルトの名無しさん
10/09/06 03:08:25 .net
Windows XP上のmingw+msys(最新安定板)でmakeしたのですが、ld: final link failed memory exhausted エラーでリンクに失敗します。wxMSW(安定板)とwxWidgets-2010-06-30
物理メモリーは2G近くの空き、システムドライブも20G近く空いています。
ネットでエラーを調べてLDFLAGSに-Wl,--no-keep-memoryを追加してみましたが同じ所でエラーになりました。
誰かタスケテorz

65:デフォルトの名無しさん
10/09/06 03:51:24 .net
無視してもう一回make

66:デフォルトの名無しさん
10/09/06 04:50:27 .net
>>65
既に3回くらいやりましたが駄目でしたorz

67:デフォルトの名無しさん
10/09/06 05:51:56 .net
3回とも同じ結果?
同じ場所で止まる?

68:64
10/09/06 06:18:57 .net
>>67
wxmsw291u_core_gcc_custom.dllを作成中にエラーになるのは同じで、その中でcould not read symbols: Memory exhaustedが起こる、読み込み中のオブジェクトファイルは違う事があるようです。

69:デフォルトの名無しさん
10/09/06 06:45:03 .net
cleanしちゃだめだぞ

70:デフォルトの名無しさん
10/09/06 09:26:15 .net
ビルドごとにディレクトリ作ったか?configureは試したか?

71:64
10/09/06 21:25:58 .net
色々と調べたので中間?報告
URLリンク(comments.gmane.org)
多分、同じ現象が報告されていてgcc4.5では起きて4.4では起きないようです。
但しPF使用量を調べると、Win上のメモリ上限の遥か手前で落ちていました。
msysのデフォルトのulimitの仮想メモリの上限が約2GBでこれに抵触したようです。
現在msys上でrootを取得してulimitを変更する方法を検索中です。
・・・msysはsuが壊れてるとかイミフ(ry

>>69
cleanはconfigureの--enable-debugフラグを変更した時にしかしていません。
その他はLDFLAGSのみを変更してmakeを試しました。

>>70
ディレクトリは変更していません。configureをやり直した場合はcleanで対応しました。

wxWidgetsではなくてmsys固有の問題の可能性があります。
その場合にはmingw相談室で質問後結果報告させて頂きますね。<その方が良いですよね?自信がないです・・・。

72:デフォルトの名無しさん
10/09/06 23:53:29 .net
なんかサイザーの処理が最適化されていないのか、複雑なレイアウトを組むと
再描画に凄く時間が掛かる。
何か回避策や対策などがあるようならば教えてください。

73:デフォルトの名無しさん
10/09/07 17:43:04 .net
wxを窓から捨てる

74:デフォルトの名無しさん
10/09/07 17:55:13 .net
RADツール使ってサイザーやスペーサーを極力使わない構造を見つける

75:72
10/09/07 22:55:14 .net
リサイズしないウィンドウにしても、再描画時にサイザーの計算を
しているっぽいので、そこをもう計算させないっていう様な設定が
出来たらしたいのです。

結局、複雑にサイザー使ってボタンとかびっちり詰め込むと
サイザーの計算が重くなるのは仕方ないなとも思うので、
固定さえ出来れば問題なくなるはずです。

76:デフォルトの名無しさん
10/09/07 23:10:11 .net
各コントロールごとに座標を想定してたりしないか?そういう使い方するもんじゃない
ボックス系のサイザーとグリッド系のサイザーを適切に使えば綺麗にまとまるし
さほど重くもならないと思うんだけど

77:デフォルトの名無しさん
10/09/07 23:22:25 .net
あとコントロール、サイザー共にExpandとStretch(proportion)はちゃんと個別に見直すべき
そのあとでBorder、埋めきれないとこはSpacer

78:デフォルトの名無しさん
10/09/09 09:58:14 .net
wxFormBuilder 3.1
Python対応
C++で日本語でもANSIで吐けるようになってるのを確認

79:デフォルトの名無しさん
10/09/11 02:13:45 .net
>>76
ちょっと見直してみたら、ボックスサイザーを入れ子にしてる所があるな。
そういうのは、グリッド系にすべきって事かな。

80:デフォルトの名無しさん
10/09/11 04:07:42 .net
サイザーごときで重くなるって
100個とか1000個単位で
びっしり詰めてるのか?

81:デフォルトの名無しさん
10/09/11 11:58:53 .net
とりあえず、コントロールは100個近く詰まってはいる。
動作が重いというか、ウィンドウを(最小化などから)表示した時に
普通はパッというぐらいの速度で表示されるけど、それがパラパラっと
コントロールが配置されるのが見えるって感じ。

82:デフォルトの名無しさん
10/09/11 12:03:53 .net
>>78
wxFormBuilderって物凄く安定しているのがスゲーと思った。
こういうのって不安定なものが多いから感心した。
ちなみに、Windows版。

83:デフォルトの名無しさん
10/09/11 14:23:13 .net
以前に作ったコントロール90くらいのダイアログ見つけたからwxFormBuilder通して見てみたけど
C2D E6600でもこの程度では特に重いとは感じない、というか変化がない
SS見せてくれたら試しに組んでみてもいいよ

84:デフォルトの名無しさん
10/09/13 07:11:45 .net
透過GIFを背景画像の上にぺたぺた貼り付けたいんだけど、透過GIFを入れたwxStaticBitmap
を配置するだけだと背景色で透過部分がfillされます。styleをTRANSPARENTにしても効かない。

ウィンドウのDCを取得して、wxDC::DrawBitmapで地道に描かないとだめですかね?

85:デフォルトの名無しさん
10/09/13 11:28:09 .net
styleをTRANSPARENT
SetMaskColour

86:デフォルトの名無しさん
10/10/18 01:51:53 .net
wxTextCtrlでカーソル位置にテキストを挿入するのってどうやるのが楽?
GetInsertionPointの前後で分割して、入れたい値を合成して
再挿入、ってやったけど
どうも改行があると値がずれるようなんで困ってて。


87:86
10/10/18 02:20:13 .net
自己解決。Replace使えば良かったのか。
スレ汚しすまんかった。

88:デフォルトの名無しさん
10/10/18 02:32:29 .net
>>86-87
普通にWriteTextで
キャレット位置に挿入(選択状態なら置換)出来るのでは?

89:86
10/10/20 23:19:42 .net
>>88
……その通りでした。
ちゃんと隅々までドキュメント読むべきでした。
遅くなったけどどうもありがとう。



90:81
10/10/31 01:33:07 .net
>>83
その後、同一マシン上のVMwareでWindows2000とWindows7を実行して試してみたら、
Windows7上では同じ遅さだったけど、Windows2000ではめっちゃ速かったから
少なくともサイザーが遅いって事はなさそう。

ただ、VS2010上でビルド出来ないし、新しいプラットフォームの追従はあまり
早くないね。3.0が出てくれれば解決するのかな。


91:デフォルトの名無しさん
10/10/31 01:53:11 .net
>>90
単にスワップ起こしてるだけじゃねーの?
2GB程割り振って検証してみたら?


92:デフォルトの名無しさん
10/10/31 17:17:26 .net
>>90
VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。

VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
2.9.xならVC8,VC9用のプロジェクトもある。

93:90
10/11/03 00:56:36 .net
>>92
> VS2010のx64でビルドして使ってるけど、特においらの範囲では問題ないな。
再描画の時に「パッ」じゃなくて「パラ」って感じなんで、まぁ問題っていうほど
じゃないんだけどね。

> VC6プロジェクトがVS2010で変換できないってことなら、VC2005か、VC2008で変換してからVS10で開けば通るよ。
なるほど、その手があるのか。ありがとう。

94:デフォルトの名無しさん
10/11/13 05:11:47 .net
wxURLのProxy処理にバグがある・・・?

GETしたいURL: URLリンク(www.google.com)
使うProxy: localhost:8080

このとき、Proxyへリクエストヘッダを見てみると
GET URLリンク(www.google.com) HTTP/1.0
Host: localhost
になってて、Proxyがlocalhostの/を取りに行こうとする。
RFCをちゃんと読んでないのでこれも正しいのかもしれないけど、
一般的なブラウザだと
GET URLリンク(www.google.com) HTTP/1.0
Host: www.google.com
になってる。
送信先がhttpならHostをwww.google.comに書き換えないといけない
(実際そうしてみたら手元の環境では動く)と思うんだが、俺間違ってる?

一応最新のソースをTrunkから落としてきてるけど、こんな単純なところでミス
してたらテスト通らないだろうし…
俺が何かくだらないミスしてる気がしてならないので、誰かツッコミ入れて下さい。


95:デフォルトの名無しさん
10/11/13 11:25:39 .net
>送信先がhttpならHostをwww.google.comに書き換えないといけないと思うんだが、俺間違ってる?

あってる

96:デフォルトの名無しさん
10/11/13 11:31:27 .net
wxURL_NOHOST

97:デフォルトの名無しさん
10/11/13 11:34:21 .net
これかな
URLリンク(yomi.mobi)


98:デフォルトの名無しさん
10/11/13 11:54:08 .net
wxRIchTextCtrlの日本語インライン入力パッチありませんか?


99:デフォルトの名無しさん
10/11/23 18:39:00 .net
おや規制明けてる。
>>98
もう解決してる気がするけど、OS毎で処理系が全く異なる上、
日本と中国と韓国くらいしか影響がないのでそんな便利なパッチはたぶん無い。
RichTextはわからんが、Win上のwxStyledTextCtrlと同じなら、
MSWWindowProcをオーバーライドして、
WM_IME_STARTCOMPOSITION、WM_IME_COMPOSITIONあたりを捕捉、
Caretの位置から自分で逐次IMEの位置情報を変更してやればいいと思う。

しかし上でwxURLの話もされてるけど、HTTP通信周りの処理、
結構ボロボロだなコレ。
そういう用途で使ってるユーザがほとんどいないんだろうが・・・。


100:デフォルトの名無しさん
10/11/23 19:22:29 .net
UI以外の部分でwx使う意味ってあんまりないからじゃない?

101:デフォルトの名無しさん
10/11/24 19:51:50 .net
そうか

102:デフォルトの名無しさん
10/11/25 23:22:37 .net
もう誰か作ってるだろと探したけど
wxOnigurumaとか無かった。残念。


103:デフォルトの名無しさん
10/11/26 07:32:10 .net
詳しい方ちょっと教えて下さい…。

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

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

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

環境はDebian、wxWidgets 2.6.7.1です。

104:デフォルトの名無しさん
10/11/26 21:51:03 .net
2.9のドザーな俺にはアドバイスはできんが、
この辺で問題視されてる「wxMBConv はいくつかのサブクラスを持っていて、
こいつらはことごとく wchar_t の内部表現が UCS であることを仮定してる。」
あたりが原因じゃないのか?
URLリンク(diary.imou.to)


105:デフォルトの名無しさん
10/11/26 23:29:00 .net
>>104
早速感謝。

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

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

ちなみに、前スレでもWin使いの方が全く同じ趣旨の質問されてましたけど、
結局やはりWinAPIでなんとかしたらしいですね。
やっぱり無理ですかねぇ…。

106:デフォルトの名無しさん
10/11/27 00:43:27 .net
wchar_t の中身がUCS前提なのはこの場合問題じゃないだろ…
>>104 の言っているUnicodeって、具体的に何?wxはUnicodeビルドで、wxStringにしたいの?

SJISからwxStringにしたいのなら、 wxString s(sjis_string, wxCSConv('cp932')); を試した?
コード出さないで質問しても、エスパーじゃない限り回答できないよ。

107:デフォルトの名無しさん
10/11/27 02:06:26 .net
>>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:デフォルトの名無しさん
10/11/27 08:39:35 .net
言い訳はいいから問題起こしてる例のコードだせよ

109:デフォルトの名無しさん
10/11/27 11:28:57 .net
>>108
えー、失敗コードはもう全部消しちゃったんですよね…。
てか、ここまでの説明で判る方は判るし、判らん方はそこまででしょう。
この場合、頑張って失敗コード再現しても結果は後者だと思うので、No thank you.

110:デフォルトの名無しさん
10/11/27 11:41:57 .net
エスパーのかたのみお答えください

111:デフォルトの名無しさん
10/11/27 13:14:50 .net
便乗して質問してもいいかな?

wxMBConvとwxCSConvの違いって何?
ヘルプ見てもよくわからん…

112:デフォルトの名無しさん
10/11/27 13:26:57 .net
>>111
wxMBConv は、変換系の抽象クラス。
wxCSConv は wxMBConv を継承した具象クラスで、 >>106 みたいに任意のエンコーディングとの変換を行う。
wxMBConvUTF8 も wxMBConv を継承した具象クラスで、 UTF-8との変換を行う。

113:111
10/11/27 13:34:03 .net
>>112
なるほど。ありがとう。

114:107
10/11/27 15:03:23 .net
URLリンク(ja.pastebin.ca)
少なくともUbuntu 10.10では、wxCSConvでちゃんとcp932からUTF-8への変換ができたよ。
Debian etch とか古すぎて使う気にならないけど。

115:デフォルトの名無しさん
10/11/27 17:00:22 .net
>>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:デフォルトの名無しさん
10/11/27 17:17:40 .net
C++ の勉強からやり直せ

117:デフォルトの名無しさん
10/11/27 17:40:21 .net
xchmのコード変更完了!
おかげさまで変更箇所が50行が4行になり、かなりすっきりしました。

相談に乗って頂いた方、大変有難うございました。

118:107
10/11/27 18:21:41 .net
fmapbaseの中にwxFONTMAP_CP932のエンコーディング名として最初にWINDOWS-932という
文字列が登録されていて、iconv にはこの名前のエイリアスが登録されていないから iconv に
失敗する、、、んだけど、iconv_open に失敗したらWINDOWS-932の次のCP932が利用されるように
見える。なのに失敗してる。

深追いはしてないからどこでコケてるのか判らないけど、とりあえず wxCSConv にはエンコーディング名を
直接渡したほうが、その名前が直接 iconv に渡るから落とし穴が少なそう。

119:デフォルトの名無しさん
10/11/27 18:27:01 .net
なるほど。ありがとう。

120:デフォルトの名無しさん
10/11/27 18:41:10 .net
>>118
あー、そういうことでしたか、なるほど。
感謝!

121:106=114=118
10/11/27 20:54:49 .net
名前を間違えて107にしてしまった。
>>117 xchm の修正って、本家にフィードバックする予定ありますか?
Linuxでもchmファイル読めたら便利そう。

122:デフォルトの名無しさん
10/11/27 22:36:15 .net
>>121
フィードバックの予定は特に無いです。
というか本家、まだ生きてるんだろうか?

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

ちなみに、Linuxでchm読むだけでしたら他にもいくつかビューアがあるようですよ。
ご参考まで。

123:デフォルトの名無しさん
10/11/27 22:37:06 .net
+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:デフォルトの名無しさん
10/11/27 22:39:25 .net
+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:デフォルトの名無しさん
10/12/01 16:15:11 .net
wxPythonでとあるチャットのクライアントを作っているのですが
wx.(Rich)TextCtrlでは打ち消し線は使えないのでしょうか?

126:デフォルトの名無しさん
10/12/03 00:13:26 .net
>>125
wxFONTFLAG_STRIKETHROUGHを指定したフォントを適用してやるとかで
できるんじゃない?


127:デフォルトの名無しさん
10/12/04 15:45:14 .net
ありがとうございます。

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

FONTFLAG_STRIKETHROUGHを指定してみたのですが、打ち消し線が表示されません。

128:デフォルトの名無しさん
10/12/05 00:26:59 .net
wxWidgets2.8.xに実装されているウィジェットの表示サンプル一覧とかないですかね?
サンプルを実行してみないとどのように表示されるのか判らないのはかなり不便・・・('A`)

129:デフォルトの名無しさん
10/12/05 02:32:55 .net
demosも一緒にインストール汁

130:デフォルトの名無しさん
10/12/06 23:39:23 .net
>>127
URLリンク(trac.wxwidgets.org)
打ち消し線が有効化されるパッチ。
ただし2.9。


131:デフォルトの名無しさん
10/12/25 00:41:50 .net
>>130
遅れましたが、ありがとうございます。
wxWidgets用のパッチのようなのですが、
wxPythonに適用させる方法がわかりません・・・

132:デフォルトの名無しさん
11/01/01 17:37:18 .net
Androidに対応してくれないかなぁ・・・

133:デフォルトの名無しさん
11/01/02 03:08:38 .net
AndroidやiPhoneもそうだけど、Mac対応(wxCocoa)もしっかりして欲しい。
このままじゃ何時まで経っても64bit化出来ない。
やっぱり企業の後ろ盾がないプロジェクトはきついかもね。

134:デフォルトの名無しさん
11/01/15 01:11:15 .net
Qtは人気あるのに、こっちは盛り上がらないね。

135:デフォルトの名無しさん
11/01/15 01:25:48 .net
QtはLGPLがヤダ

136:デフォルトの名無しさん
11/01/15 01:32:35 .net
>>134
枯れてるからね

137:デフォルトの名無しさん
11/01/15 14:18:26 .net
ほとんど同じ時期じゃね?
wx Initial release 1992
Qt Initial release 1992; 19 years ago
wxの敗因は、やっぱ製品として売り出してないからじゃね?

138:デフォルトの名無しさん
11/01/15 20:08:32 .net
Android => Java, Google
gtk,Mono => Suse, Microsoft
Qt => Nokia, Google, Intel
wxwidget => ???

139:デフォルトの名無しさん
11/01/15 20:12:46 .net
何の矢印だよ、それ。

140:デフォルトの名無しさん
11/01/18 00:04:15 .net
wxRubyノート - ListCtrl を使ってサムネイル一覧を表示してみる - Alone Like a Rhinoceros Horn
URLリンク(d.hatena.ne.jp)
のコードを動かしたいのですが日本語パスが使える状態で動かせません

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:デフォルトの名無しさん
11/01/18 06:48:23 .net
URLリンク(codepad.org)

142:140
11/01/23 01:33:16 .net
レスありがとう。ってPython!?Σ(゚Д゚)
わざわざ書き直してくれたのに申し訳ないけどRubyでコーディングしたいので・・・

とりあえずいじり回していたら思いついた案
1.Ruby 1.8系を使用。wxImage::load_streamを使う
  ファイルの自動判別が出来ない
2.Ruby 1.8系を使用。Rubyのファイルパスを扱うメソッドをUTF-8に対応するように再定義
  数が多くコーディング量が多い。デバッグも大変
3.RubyでwxPythonを使う
  まだ実験していない。動いたとしても関連ライブラリのサイズがでかくなりそう?
どれもイマイチだ(´・ω・`)

143:デフォルトの名無しさん
11/01/23 03:01:42 .net
Ruby知らんけど、単に文字コード変換するんじゃダメなの?

144:デフォルトの名無しさん
11/01/23 17:59:40 .net
コントロールに画像使うとリソース食うから
サムネにはお勧めできない

145:デフォルトの名無しさん
11/01/23 19:23:43 .net
GUIやるならPythonの方が良いと思うけどなぁ。
Windowsと日本語はもちろんだけど、>>140のBlog見てるとスレッド周りにも
問題あるみたいだし。

146:デフォルトの名無しさん
11/01/23 20:59:01 .net
>サムネイルを作成する間ウィンドウがブロックしないよう、サムネイルの作成は別スレッドで行っている。
>(ただし、サンプルということで、排他制御は一切やっていない)
>
>イベントループのあるメインスレッドからのスレッド切り替えが円滑に行われるよう、
>メインスレッドではタイマーを使って定期的に Thread.pass している。
>
> Wx::Timer.every(100) do
> Thread.pass
> end
>
>これが必要になる理由については次のエントリでやる予定。

謎のコード

147:141
11/01/23 21:11:49 .net
>>142
べつに謝らんでもええよ
漏れは困ってへんから


148:デフォルトの名無しさん
11/01/23 21:38:27 .net
>>146
URLリンク(d.hatena.ne.jp)
ここのコメ欄の方が怖いぞ。

149:デフォルトの名無しさん
11/01/24 05:23:51 .net
Ruby使ってないから気にしない

150:デフォルトの名無しさん
11/01/27 23:54:02 .net
wxWidgetsでアニメ(not 動画ファイル。MNG or 連番PNGを想定)を表示したいのですが
単に表示されている画像をインターバルで書き換えていく方法だとフリッカーが出てしまいます
再描画と画像の書き換えの同期が取れていないためだと思いますが同期させる方法が判りません
何か良い方法があったら教えてください。よろしくお願いします

151:デフォルトの名無しさん
11/01/28 01:18:19 .net
ソース貼れ

152:デフォルトの名無しさん
11/01/28 23:04:25 .net
>>150
wxBufferedPaintDC使え。

153:150
11/01/30 00:53:07 .net
レスthx

>>152
なるほどそう言うのがあるのか。試してみます

154:デフォルトの名無しさん
11/01/30 16:14:40 .net
2.9.1が出てから音沙汰無いな

155:150
11/01/31 00:06:45 .net
>>152
フリッカーを無くせました。ありがとうございました

156:デフォルトの名無しさん
11/02/05 22:36:59 .net
>>154
URLリンク(wx.ibaku.net)
連日どんどん更新されてるけど音沙汰ない?

157:デフォルトの名無しさん
11/02/11 06:24:01 .net
前スレがやっと埋まったぽい。埋めた人お疲れさま。

158:デフォルトの名無しさん
11/02/11 23:54:18 .net
つうか次スレ立てるの早過ぎだろ

159:デフォルトの名無しさん
11/02/13 21:55:32 .net
このライブラリタダ?

160:デフォルトの名無しさん
11/02/18 08:33:59 .net
EVT_LEFT_DCLICK で bind して処理しようとすると
EVT_LEFT_UP EVT_LEFT_DCLICK が同時に来るみたいなのですが
EVT_LEFT_DCLICK だけ受け取るにはどうすれば良いでしょうか?

161:デフォルトの名無しさん
11/02/18 20:45:41 .net
>>160
wxMouseEventのLeftDClickで判別すればいいんじゃないの?

162:デフォルトの名無しさん
11/02/18 21:35:20 .net
GoogleIME使ってるんだが、TextCtrlで未変換文字列とか変換候補とかが表示されないのは仕様か?
MSIMEならちゃんと表示された

163:デフォルトの名無しさん
11/02/18 22:05:32 .net
>>162
ありがとうございます
試してみましたが
結局 EVT_LEFT_DCLICK に bind された handler 内では LeftDClick なのですが
同時に EVT_LEFT_UP に bind された handler も呼ばれてしまっていて
そっちでは LeftDClick じゃないとみなされるので区別出来ないんです ><


164:デフォルトの名無しさん
11/02/27 19:42:45.69 .net
wxApp の OnInit で wxFrame *frame = new wxFrame(hogehoge);
としたとき wxFrame を delete しないようですが
勝手に GC してくれるんでしょうか?
SetTopWindow(frame);
を実行したときとしないときでは違いますか?

165:デフォルトの名無しさん
11/02/27 20:07:52.06 .net
メモリ以外の資源の解放をGC任せにする男の人って

166:デフォルトの名無しさん
11/02/28 14:53:53.44 .net
>>164
wxWidgetsでは自分で解放すると返って二重解放になる。
URLリンク(www.wxwidgets.org)
FAQに書いてあるから今後はよく読もうな。



167:デフォルトの名無しさん
11/03/04 16:28:05.88 .net
主にwindowsで使っていますがlinuxでも同じソースで動くようにしたいです
wxStringで与えられたあるパス名がフルパスか相対パスかをwxWidgetsのクラス
(例えばwxFileName等)を使って判断出来ますか?


168:デフォルトの名無しさん
11/03/04 20:23:10.51 .net
>>167

wxFileNameにIsAbsoluteというのがあるけども。
それすら調べられないようだとwxに限らずプログラミングは厳しいと思う。

169:デフォルトの名無しさん
11/03/04 20:25:20.16 .net
ポインタ置いときますね。皆さん先刻ご存知かもしれませんが。

wxWidgets(wxstd.moの日本語版, ja.po)をお使いの皆様へ
URLリンク(suzumizaki.blog6.fc2.com)

170:デフォルトの名無しさん
11/03/04 20:34:43.27 .net
>>164
こっちも読んでおくといいよ。
二重開放以外にもdeleteがまずい理由があるようだから。
URLリンク(docs.wxwidgets.org)

171:デフォルトの名無しさん
11/03/04 21:31:47.32 .net
>>168
出来ました!!
ありがとうございました!!!

172:デフォルトの名無しさん
11/03/07 03:32:17.98 .net
wxListCtrl の
SetItem - GetItemText とか
SetItemText - GetItem とか
なんか変な対応してるみたいなんですけど
こんなもんなんですか?
他にも IsIconized とか IsShown とか
ドキュメント通りじゃなくて
めちゃくちゃな感じがするんですが
設計者ってパラノイア?

173:デフォルトの名無しさん
11/03/07 04:30:33.22 .net
馬鹿には無理
URLリンク(wiki.wxwidgets.org)
Get the String Contents of a "cell" in a LC_REPORT wxListCtrl

174:デフォルトの名無しさん
11/03/07 07:16:25.58 .net
>>173
出来ました!!
ありがとうございました!!!

175:デフォルトの名無しさん
11/03/07 11:00:32.39 .net
質問です
wxWidgetsにはMD5やSHAを計算してくれる関数はありますか?

176:デフォルトの名無しさん
11/03/07 11:32:42.63 .net
URLリンク(wxwidgets-hash-md5.fyxm.net)

177:デフォルトの名無しさん
11/03/07 22:35:46.50 .net
>>175
176じゃないけど、MD5単品ならこういうのとか。
URLリンク(www.koders.com)

178:デフォルトの名無しさん
11/03/08 09:26:30.33 .net
>>178
ありがとうございます
とりあえず別のMD5ライブラリが見つかったのでそちらで間に合わせたのですが
ライセンスの問題とか考えると教えて頂いたもので置き換えた方が良いかも知れません
余力があったら後でご報告します


179:デフォルトの名無しさん
11/03/09 04:31:11.46 .net
wxHTTP::GetResponse が 200 とか 403 とかじゃなくて 0 を返すんですけどバグですか?

180:デフォルトの名無しさん
11/03/09 04:46:40.12 .net
URLリンク(wiki.wxwidgets.org)

181:デフォルトの名無しさん
11/03/09 05:29:32.87 .net
>>180
出来ました!!
ありがとうございました!!!

182:デフォルトの名無しさん
11/03/09 17:04:06.53 .net
文字コードの変換というか
変換出来ない文字が含まれているかどうかのチェック方法について質問です。

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:デフォルトの名無しさん
11/03/09 17:16:21.87 .net
むしろUTF-8のまま扱うかUNICODEにしてしまった方が良いのでは?

184:デフォルトの名無しさん
11/03/09 20:02:39.82 .net
>>182
wxStringOperations::IsValidUtf8String


185:デフォルトの名無しさん
11/03/10 08:17:32.00 .net
>>184
ありがとうございます。
今レス見たばかりなのでまだ試していませんが、
URLリンク(docs.wxwidgets.org)
を見ても wxStringOperations は見当たらず
ネームスペースかとも思うのですが、
こういったものはどうやって見つければ良いものですか?

186:デフォルトの名無しさん
11/03/10 08:25:43.01 .net
>>182
wxString::FromUTF8Unchecked


187:デフォルトの名無しさん
11/03/10 08:27:16.48 .net
>>185
URLリンク(trac.wxwidgets.org)

188:デフォルトの名無しさん
11/03/10 08:34:44.59 .net
>>186
ありがとうございます。
しかしそれは Valid じゃない UTF8 データが渡されたときの
動作は undefined だと書かれていますね。
結局事前に調べないといけないことにかわりないようです。

>>187
ありがとうございます。
中身を読んでも良く判りませんでした。
どういう意味でしょうか?

189:デフォルトの名無しさん
11/03/10 08:38:29.58 .net
ん?
「~」301C(E3809C)
はValidじゃないのか?

190:デフォルトの名無しさん
11/03/10 09:19:31.75 .net
問題なのはUTF-8として正しいかどうかじゃなくて
cp932に変換出来るかどうかってことなんだよな
そうなるとスレ違いかもな

191:デフォルトの名無しさん
11/03/10 13:58:57.41 .net
wxWidgetsって、けっこうS-JISの処理が弱いので、そこの部分だけはネイティブの処理にしたほうがいいかも
俺もアプリ作った事あるけど、S-JISに変換する部分だけはWideCharToMultiByte関数を呼ぶようにしたよ

192:デフォルトの名無しさん
11/03/10 16:16:13.99 .net
>>184
残念ながら使えませんでした。


193:デフォルトの名無しさん
11/03/10 16:24:05.27 .net
>>192
wxUSE_UNICODE_UTF8 を定義してないと使えないよ
URLリンク(docs.wxwidgets.org)


194:デフォルトの名無しさん
11/03/10 22:06:44.16 .net
みなさん色々とありがとうございます。
wxString sjis_data = wxString::FromUTF8(utf8_data.c_str());
のところで例外出して死ぬパターンと sjis_data が空になるパターン
それからちゃんと成功するパターンとがありました。
結局アクセスしていたサイトに広告が入っていて、
時間帯によって内容が変わるようなのですが、
どうも本体は UTF8 なのに広告部分だけ SJIS とか、
お粗末なサイトだったのが混乱した原因の一つでした。

195:デフォルトの名無しさん
11/04/19 00:00:08.70 .net
3.0マダー(AA略)


196:デフォルトの名無しさん
11/05/25 00:30:08.01 .net
サイザーage

197:デフォルトの名無しさん
11/07/02 23:25:00.75 .net
wxWidgetsとWinPcapをあわせて使おうとしてハマってたのが解決したのでカキコ

- winpcapのpcap.hはwxWidgetsのヘッダファイルのあとにincludeする必要がある
- pcap.h内部でwinsock2.hを呼んでいる
- winsock2.hはwindows.hの前にincludeする必要がある
- wxWidgetsのヘッダは、物によっては内部でwindows.hを呼んでいる

というデッドロック

#include <winsock2.h>
#include <wx/msw/winundef.h>
#include <wx/wx.h>
#include <pcap.h>

こんな感じでwinsock2.h呼んだあとにwx/msw/winundef.hを呼んでやれば解決する

198:デフォルトの名無しさん
11/07/16 23:02:41.64 .net
GUI の配置は XML で定義出来るのが一番良いなあ

199:デフォルトの名無しさん
11/07/17 01:18:11.68 .net
それ何てXUL

200:デフォルトの名無しさん
11/07/17 22:48:55.64 .net
wxだってXRCがあるじゃまいか。

201:デフォルトの名無しさん
11/07/17 23:28:11.01 .net
誰も無いとは言ってないぞ

202:デフォルトの名無しさん
11/07/17 23:40:23.13 .net
後出しww

203:デフォルトの名無しさん
11/07/17 23:43:54.73 .net
ネタにマジレスww

204:デフォルトの名無しさん
11/07/18 05:50:22.06 .net
なんのこっちゃ。

205:デフォルトの名無しさん
11/07/28 23:53:32.75 .net
リストボックスのアイテムとして
ボタンやテキストボックスを表示できる?

206:デフォルトの名無しさん
11/07/29 04:32:53.10 .net
>>205
wxListBoxそのままでは無理。
テキストボックスだけでいいならwxEditableListBox使った方が早い。
それ以外でちょっとだけコントロールを付け足したいだけなら、
wxListBox継承してるwxCheckListBoxのソースが参考になると思う。
画像管理ソフトみたいなサムネリストが欲しいならwxThumbnailCtrl
って非公式コントロールが楽(古いので2.9系では若干修正が必要)。
URLリンク(wxwidgets.blogspot.com)
で紹介されてるマークアップがwxListBoxにも適用されると見た目を
いじるだけならすごく楽になるんだろうけどねぇ。


207:デフォルトの名無しさん
11/07/29 07:16:29.38 .net
>>206
ありがと

208:デフォルトの名無しさん
11/08/11 06:56:31.32 .net
自作のTestApp(wxWidgets製)は起動時に渡されたパスを読み込んで処理を
するとして、既に起動しているTestAppがあれば、そのTestAppにパスを引き
渡して自分は死ぬ(多重起動しない)、という動作をしたいです。
Winの場合、EnumWindowsでトップレベルウィンドウでTestAppを探し、
WM_COPYDATAをSendMessageで投げMSWWindowProcで受ける、
という方法を採っていますが、この辺のニーズは常にあるだろうし、
もっと楽なやり方があるんじゃないかと思ってます。
こういう方法の方が楽、とかありましたら教えてください。


209:デフォルトの名無しさん
11/08/11 10:26:43.62 .net
Mutex

210:208
11/08/11 20:27:39.52 .net
>>209
コメントありがとう。
でもMutexだと多重起動のチェックには使えるけど、
「既に起動している別プロセスへ任意のデータを引き渡す」
って処理には使えなく無いですか?




211:デフォルトの名無しさん
11/08/12 00:44:19.62 .net
・メモリマップファイル
・共有メモリ
・TCP/IP
・DDE/OLE/ActiveX
・ウィンドウメッセージ
好きなの使えばいいよ。普通は都合のいい方法を使って自分で作る。
wxならメッセージが一番楽だろう。

212:デフォルトの名無しさん
11/08/12 01:46:19.30 .net
つうか、二重起動防止するAPIが普通にあるだろ。

213:デフォルトの名無しさん
11/08/12 12:39:56.45 .net
>>210
元のをポップアップさせてあとのを閉じれば渡す必要なくね?

214:デフォルトの名無しさん
11/08/12 12:42:49.43 .net
一番簡単なのが欲しいなら作業ファイルにデータ書き込め。
いっそ多重起動もdir lockでやっとけ。

215:デフォルトの名無しさん
11/08/12 17:59:34.09 .net
wxMutex
URLリンク(docs.wxwidgets.org)

216:デフォルトの名無しさん
11/08/12 18:09:42.10 .net
wxSingleInstanceChecker
URLリンク(docs.wxwidgets.org)

217:208
11/08/12 21:25:55.39 .net
なんかいっぱい回答もらえた。ありがとうございます。
誤解を生んで申し訳ないんだけど、多重起動の禁止だけじゃなくて、
データを引き渡すってところまでがやりたいことなんです。

>>211
・メモリマップファイル
・共有メモリ
公式ドキュメントだけ読んで無いと思っていたんですが、
改めて調べたら5年前にパッチとして提出されてました。
「理由は言わないけど却下」と問答無用でRejectされてましたが、
普通に使えました(なんで却下されたんだろう……)

・TCP/IP
ちょっと大掛かりですが、確かにこれだとwxWidgetsのクラスのみで
クロスプラットフォームにいけますね。

・DDE/OLE/ActiveX
MSが意図しているアプリ間通信にはこれを使うべきなんですかね。
クロスプラットフォームからはかけ離れますが。


218:208
11/08/12 22:02:35.23 .net
・ウィンドウメッセージ
はい。最初に書いたとおり、これは把握済です。
ただ、全トップレベルウィンドウを調べるwxWidgetsの関数って
無いですよね?(MS側のAPIはあるけど)

>>213
・起動済アプリを殺して自分が前面に出る
タスクバーに収納されていたり表に出ていたり、というアプリにしているので、
起動済のアプリのそれらの状態を把握するのにちょっと手間がかかりますね。
表示状態のコピーが不要なら確かに比較的手っ取り早いですが。

>>214
・作業ファイルにデータ書き込み&排他制御
大量のデータ通信をアプリ間でやるわけじゃないので、
手っ取り早く汎用性も高くwxWidgetsだけで完結しますね。
しかもクロスプラットフォームで安定している。なるほど。

皆さん色々な案の提示、どうもありがとうございました。

219:デフォルトの名無しさん
11/09/02 20:17:08.41 .net
今更なんですが、C++でGUIを考えた場合、wxWidgetsとQTが候補に挙がりましたが
両者の比較を書いているサイトや記事などありましたら教えてください。

220:デフォルトの名無しさん
11/09/02 20:28:54.93 .net
自分はQt側のことは知らないんだが、こんなサイトがある

wxWidgetsのススメ
URLリンク(up-cat.net)

221:デフォルトの名無しさん
11/09/02 23:04:35.91 .net
いまは VC2010Express でも wxWidgets 使えて便利だわ

222:デフォルトの名無しさん
11/09/02 23:29:46.37 .net
2.9.2落としてきてVC2008でビルドしてたけど、これgdgdすぎ
スタティックライブラリはできたけど、DLL版は全然ビルドできないわ、サンプルはデバッグ
ライブラリ用になってるからいちいち直さないといけない&直しても同じリソースがどうたら
でビルドできんし、Qtにいくわ

223:デフォルトの名無しさん
11/09/03 00:34:44.80 .net
おいらはMinGWでMakefile作りながらGUI作ってるよ~ (^q^)

224:デフォルトの名無しさん
11/09/03 01:05:50.35 .net
ああ、早とちりすまん
結局添付されていたVC2008用のプロジェクトファイルがうんこで、VC6用の奴を変換して
ビルドしたらうまくいきましたわ
サンプルも同じでVC6用の奴を変換してビルドすると正常にビルドできました
悪口いってすまん、けどビルドできないVC2008用プロジェクトファイルって罠じゃないのか

225:デフォルトの名無しさん
11/09/03 10:36:44.01 .net
普通makefileの方使わない?

226:デフォルトの名無しさん
11/09/03 11:45:57.63 .net
nmakeしたらいきなりエラーで止まったし、ぐぐるとnmakeよりもVC++上でコンパイルする記事が多かった
ので、そうしてました。
お騒がせして申し訳ないついでに実は開発版の2.9.2をビルドしようとしてたみたいで、俺死にたい...
というより氏ね>俺

227:デフォルトの名無しさん
11/09/03 12:10:03.39 .net
VC使わないといけない理由があるんなら仕方ないけど
gccの方がすんなり行くんじゃないかなぁ。

228:デフォルトの名無しさん
11/09/03 18:49:10.70 .net
WinでgccというとMinGだよね?
たまたまVC入ってたからVCでやってたけど、MinGの方が捗るの?

229:デフォルトの名無しさん
11/09/03 20:59:18.77 .net
wxWidgetsの開発はLinuxのgccで行われてるだろうからMinGW+gccだと環境づくりが楽かも?
VCのことは知らないけどMinGWだと普通に2.9.2コンパイルできたし
コーディングの効率を考えるとVCのオートコンプリート機能が使えたら楽かもしれんが、たぶん出来んだろうしな


230:デフォルトの名無しさん
11/09/03 21:56:21.73 .net
winでわざわざMinGなんて使う必要ないよ。
VCでいい。

231:デフォルトの名無しさん
11/09/04 17:11:05.31 .net
MinGWだとEXEサイズ小さくなるかなと試してみたが、makeしてもlibができないなぁと1時間も
悩んでた、.aで正しいのにwww
アホすぎる俺
しかしwxWidgetsいいね、コントロールは揃ってるし、ドッキングもできる、開発版にすればリボンもどきも
使えるし、wxFormBuilder使えばGUIで画面組み立てられるし、とりあえず満足できる環境だし

232:デフォルトの名無しさん
11/09/04 19:07:07.57 .net
MinGWでビルドした奴とVC++2008でビルドした奴を比較してみたけど、
VC++2008でビルドしたサンプルauidemo.exeは6073KB、MinGWでは9761KB、stripかけて6645KBだった
どちらもデバッグなしのリリース版なんだけど、MinGWの方がでかくなるのね
Dumpbinで依存DLL調べてみたら、VC++2008の方は標準DLLのみでVCランタイム依存もなし
かたやMinGWはやり方が悪いのだろうけどlibgcc_s_dw2-1.dll、libstdc++-6.dllに依存してた
VC++2008の方が優秀な気がする

233:デフォルトの名無しさん
11/09/04 19:22:45.46 .net
>>232

MSYS上から、
g++ -static -o test.exe test.cpp `wx-config --cxxflags` `wx-config --libs`
こうかな?
-staticオプションつければOKのはず。

以下、wxをビルドしたときの設定。MinGW-w64でもいけました。
./configure --with-opengl --enable-ipv6 --disable-shared --disable-monolithic --enable-unicode --enable-official_build --disable-threads --prefix=/mingw


234:デフォルトの名無しさん
11/09/04 19:51:43.28 .net
ちなみにgccは-sオプションをつけると結構ファイルサイズは小さくなる

235:デフォルトの名無しさん
11/09/04 19:52:42.86 .net
あ、既出だった

236:デフォルトの名無しさん
11/09/04 21:11:45.91 .net
>>233-234
アホな俺にわざわざありがとう!
もう1回試してみます!

237:デフォルトの名無しさん
11/09/04 22:39:22.73 .net
>>230
なるほど人によるなあ。
俺なら「わざわざVC使わんでも、MinGでいい」って発想になるわ。

238:デフォルトの名無しさん
11/09/04 23:30:54.03 .net
>>233
ライブラリも作成し直し、サンプルもビルドし直しましたがサイズは6621KBでした
あとDLL依存はとれないのですね

239:デフォルトの名無しさん
11/09/05 00:04:36.25 .net
>>237
同意。
UNIX文化的には、gccが「標準」でVCは「非標準」って認識だからなぁ。

自分で何か書く時とか、「自分はgccしか使わないけど、Win使いのためにVCもサポートしてやるか」ってレベル。

240:デフォルトの名無しさん
11/09/05 00:32:26.75 .net
結局どっちの文化に属してるかによって
何がデフォで何がわざわざなのかが違うってことで。

で、wxそのものがUNIX文化なんだよな。

241:デフォルトの名無しさん
11/09/05 12:01:41.27 .net
>> 238
サンプルはそのままビルドするとDLL依存になるとおもう。

cd samples
make "LDFLAGS = -static"

こんな感じでいかかでしょ。


242:デフォルトの名無しさん
11/09/05 19:03:01.60 .net
>>241
いや、自分でmakeファイルに-static直書きしたけど駄目でした
まぁ、なんか勘違いしてるか頭がアホなんて理解できてないだけでしょう
とりあえずVCでも問題ないのでVCでやります、いろいろありがとうございました

243:デフォルトの名無しさん
11/09/05 19:16:34.99 .net
>>242
がんがれ。

ただ、オープンソース系のライブラリを今後使っていくんなら
いずれにしてもgcc系の流儀とかも覚えておいた方がいいと思うよ。

244:デフォルトの名無しさん
11/09/06 00:10:08.28 .net
call vcvarsall
pushd build\msw
nmake -f makefile.vc BUILD=debug UNICODE=1 USE_GDIPLUS=1 SHARED=1 RUNTIME_LIBS=dynamic
popd

こんな感じでいいんじゃね
あと2.9.2はstableじゃないけどいいの?

245:デフォルトの名無しさん
11/09/10 20:25:18.76 .net
質問お願いします。

URLリンク(www.dotup.org)

こういうよくある(名前、種類、ディレクトリ、サイズ)みたいなのを
表示したいんですがヴィジェットは何を使ったらいいでしょうか?
できれば画像のように名前のところの矢印みたいなのを付けたいのと
項目の順番をD&Dで入れ替えたり表示、非表示をポップアップメニューで行いたいです。
項目にはDBのカラムを割り当てたいと思っています。

246:デフォルトの名無しさん
11/09/10 20:38:38.06 .net
すいません、listctrlで出来そうですね。
なんでいつも質問した後は簡単に見つかるんだろう…

247:デフォルトの名無しさん
11/09/10 23:30:44.52 .net
age

248:デフォルトの名無しさん
11/09/11 23:37:25.34 .net
sage

249:デフォルトの名無しさん
11/09/20 23:30:06.13 .net
wxWidgetsのライセンスって何なの(L-GPL)?
これ使って書いたプログラムってソースコード開示する必要あるの?
教えてエロい人!!

250:デフォルトの名無しさん
11/09/22 08:11:29.04 .net
ゴメン、答えられるけどエロくない。

251:デフォルトの名無しさん
11/09/22 12:00:14.06 .net
インポ乙

252:デフォルトの名無しさん
11/09/22 18:59:22.32 .net
まあその質問はググッたらでてきそうだしな…
ところで組み込み用のwxWidgetsとかないんだろうか。

253:デフォルトの名無しさん
11/09/23 14:09:14.39 .net
>>249
試しにググッたら意外と出てこなかったので教えてやるでおじゃる
URLリンク(web.archive.org)
URLリンク(ms2.seesaa.net)

254:デフォルトの名無しさん
11/09/23 20:06:16.47 .net
情報古過ぎないか

255:デフォルトの名無しさん
11/09/23 21:55:11.24 .net
世界線は変わらなかった

256:デフォルトの名無しさん
11/09/23 22:27:50.66 .net
つうか本家のホームページに書いてあるがな。

257:デフォルトの名無しさん
11/09/23 23:34:52.13 .net
これですね
URLリンク(www.wxwidgets.org)

"wxWindows Licence"で配布されていて、
ソースコード開示の必要はないというのが一応の答えかな


258:デフォルトの名無しさん
11/09/24 22:07:43.51 .net
需要があるかどうか不明ですが。

wxWidgetsマニュアルにある Syntax of the builtin regular expression library の邦訳です。
拙作ソフト説明書の一部になっていますが、この頁の訳文に関してはご利用自由です。ただし独自訳多数。

URLリンク(h12u.com)


259:デフォルトの名無しさん
11/09/24 22:23:14.63 .net
>>258
乙です
てかwxWidgetsにも正規表現ライブラリあったんだな

260:デフォルトの名無しさん
11/09/24 23:40:22.99 .net
>>258
正格表現って初めて見たが、正則表現ではなくて?
POSIXブラケットのうち、[. .] [= =] [:<:] [:>:]とかって他のライブラリじゃほとんど見ないな。
[[=A=]]ってAやÄなどにマッチするんだっけ?

261:デフォルトの名無しさん
11/09/25 20:52:38.34 .net
>>260
ご指摘Thx. 直しておきました。どこで間違ったんだろう。

> [[=A=]]ってAやÄなどにマッチするんだっけ?
建前としてはそうなるはずだけど誰も実装してないとか何とか。よく知らないですが。
調べてみたら [. .] と [= =] の訳文はかなりおかしい気がしてきた。



262:デフォルトの名無しさん
11/09/26 21:03:37.52 .net
実は訳間違ってました[[=A=]]

ってかくと顔文字っぽい。

263:デフォルトの名無しさん
11/09/27 09:53:24.70 .net
POSIXって良く聞くけどなんですか?


264:デフォルトの名無しさん
11/09/27 20:16:50.72 .net
258です。訳文とかちょっと修正しました。ページ内部のリンクも増やした。

>>263
実は私もよく知らない。

265:デフォルトの名無しさん
11/09/27 23:02:57.78 .net
雲丹の標準規格じゃないの?

266:デフォルトの名無しさん
11/09/27 23:05:37.07 .net
URLリンク(ja.wikipedia.org)
POSIX(ポジックス パーズィックス、Portable Operating System Interface)とは、
異なる実装のUNIX OSを始めとする各種OSに共通のAPIを定め、移植性の高い
アプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定した
アプリケーションインタフェイス規格である。

267:デフォルトの名無しさん
11/09/28 21:35:43.22 .net
motifもIEEEが規格決めてたから、こっち使いましょうよ

268:デフォルトの名無しさん
11/09/29 14:42:15.49 .net
>>263
ザックリとでよければ「UNIX互換」くらいに考えておけば良い。


269:デフォルトの名無しさん
11/11/08 17:30:42.91 .net
CodeBlocks10.05とwxWigets2.8を使用しています。
勉強中です。
URLリンク(wiki.codeblocks.org)の1-7までは実行してみました。
そんなレベルなのですが、ディレクトリ内のファイル名を一覧でcsvにだせるところまでを目標に
しています。

void filenameFrame::OnButton1Click(wxCommandEvent& event)
{
wxString CurrentDocPath;
wxString Filename;
wxArrayString Filenames;
wxString GetDirectory;
wxFileDialog* OpenDialog = new wxFileDialog(
this,wxEmptyString,wxEmptyString,wxEmptyString,wxEmptyString,wxFD_MULTIPLE,wxDefaultPosition);
if (OpenDialog->ShowModal() == wxID_OK)
{
CurrentDocPath = OpenDialog->GetPath();
Filename << OpenDialog->GetFilename();
GetDirectory << OpenDialog->GetDirectory();
Filenames << OpenDialog->GetFilenames[0];
TextCtrl1->SetLabel(CurrentDocPath);
TextCtrl2->SetLabel(Filename);
TextCtrl3->SetLabel(GetDirectory);
TextCtrl4->SetLabel(Filenames);
}
OpenDialog->Destroy();}

270:デフォルトの名無しさん
11/11/08 17:42:09.03 .net
C:\C\FILENAME\filenameMain.cpp|133|error: invalid use of member (did you forget the '&' ?)|
C:\C\FILENAME\filenameMain.cpp|140|error: conversion from 'wxArrayString*' to 'const wxString' is ambiguous|
C:\wxWidgets2.8\include\wx\string.h|692|note: candidates are: wxString::wxString(wxChar, size_t) <near match>|
コンパイルすると、このようなメッセージが表示されます。

以下の行を削除すると、正常にコンパイルが通ります。
wxArrayString Filenames;
Filenames << OpenDialog->GetFilenames[0];
wxArrayString Filenames;

wxFiledialogで複数ファイルを選択した場合には、配列?を使用しないといけないような気がするので、多分wxArrayStringを使わないとだめかと
思いいれてみました。
配列?なのでGetFilenames[0]といれれば複数ファイルを選択した場合に一番最初のファイル名が入る認識でしたが間違っているようです・・・

複数ファイルの選択と、複数のファイル名の取得方法を検索したのですが、サンプルなどを見つけることができませんでした。

どこが間違っているか教えてください。



271:デフォルトの名無しさん
11/11/08 18:28:13.72 .net
>>269
最後の行
OpenDialog->Destroy();}

中括弧が全角になってるなあ
てかこれ全コードじゃないよね

272:デフォルトの名無しさん
11/11/08 20:52:59.24 .net
サンプルにある"dialogs"が参考になるんじゃないかな、
"File operations->Open files"というのがある。

273:デフォルトの名無しさん
11/11/08 21:01:42.80 .net
>>271
レスありです。全コードではありません。
改行などを削除しています。
wxSmithで作成していますので、どのようなソースが必要になりますか?
プロジェクトフォルダを見ると、bin/obj/wx_pch.h.gch/wxsmithフォルダと
filename.cbp/filename.depend/filename.layout/filenameApp.cpp/filenameApp.h/filenameMain.cpp/filenameMain.h/resource.rc/wx_pch.hファイルがあります。
filenameMain.cppの内容は以下のとおりです。

/***************************************************************
* Name: filenameMain.cpp
* Purpose: Code for Application Frame
* Author: ()
* Created: 2011-11-08
* Copyright: ()
* License:
**************************************************************/

#include "wx_pch.h"
#include "filenameMain.h"
#include <wx/msgdlg.h>

//(*InternalHeaders(filenameFrame)
#include <wx/intl.h>
#include <wx/string.h>
//*)

//helper functions
enum wxbuildinfoformat {
short_f, long_f };

wxString wxbuildinfo(wxbuildinfoformat format)

274:デフォルトの名無しさん
11/11/08 21:03:08.95 .net
{
wxString wxbuild(wxVERSION_STRING);

if (format == long_f )
{
#if defined(__WXMSW__)
wxbuild << _T("-Windows");
#elif defined(__UNIX__)
wxbuild << _T("-Linux");
#endif

#if wxUSE_UNICODE
wxbuild << _T("-Unicode build");
#else
wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
}

return wxbuild;
}

//(*IdInit(filenameFrame)
const long filenameFrame::ID_BUTTON1 = wxNewId();
const long filenameFrame::ID_TEXTCTRL1 = wxNewId();
const long filenameFrame::ID_BUTTON2 = wxNewId();
const long filenameFrame::ID_TEXTCTRL2 = wxNewId();
const long filenameFrame::ID_BUTTON3 = wxNewId();
const long filenameFrame::ID_TEXTCTRL3 = wxNewId();
const long filenameFrame::ID_BUTTON4 = wxNewId();
const long filenameFrame::ID_TEXTCTRL4 = wxNewId();
const long filenameFrame::ID_PANEL1 = wxNewId();
//*)

275:デフォルトの名無しさん
11/11/08 21:04:37.12 .net
BEGIN_EVENT_TABLE(filenameFrame,wxFrame)
//(*EventTable(filenameFrame)
//*)
END_EVENT_TABLE()

filenameFrame::filenameFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(filenameFrame)
wxFlexGridSizer* FlexGridSizer1;

Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY"));
FlexGridSizer1 = new wxFlexGridSizer(0, 3, 0, 0);
Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxSize(560,106), wxTAB_TRAVERSAL, _T("ID_PANEL1"));
Button1 = new wxButton(Panel1, ID_BUTTON1, _("Label"), wxPoint(8,24), wxSize(72,24), 0, wxDefaultValidator, _T("ID_BUTTON1"));
TextCtrl1 = new wxTextCtrl(Panel1, ID_TEXTCTRL1, _("Text"), wxPoint(104,24), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL1"));
Button2 = new wxButton(Panel1, ID_BUTTON2, _("Label"), wxPoint(8,48), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2"));
TextCtrl2 = new wxTextCtrl(Panel1, ID_TEXTCTRL2, _("Text"), wxPoint(104,48), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL2"));
Button3 = new wxButton(Panel1, ID_BUTTON3, _("Label"), wxPoint(8,72), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3"));
TextCtrl3 = new wxTextCtrl(Panel1, ID_TEXTCTRL3, _("Text"), wxPoint(104,72), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL3"));
Button4 = new wxButton(Panel1, ID_BUTTON4, _("Label"), wxPoint(8,96), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON4"));

276:デフォルトの名無しさん
11/11/08 21:05:18.62 .net
TextCtrl4 = new wxTextCtrl(Panel1, ID_TEXTCTRL4, _("Text"), wxPoint(104,96), wxSize(456,22), 0, wxDefaultValidator, _T("ID_TEXTCTRL4"));
FlexGridSizer1->Add(Panel1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 0);
SetSizer(FlexGridSizer1);
FlexGridSizer1->Fit(this);
FlexGridSizer1->SetSizeHints(this);

Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&filenameFrame::OnButton1Click);
//*)
}

filenameFrame::~filenameFrame()
{
//(*Destroy(filenameFrame)
//*)
}

void filenameFrame::OnQuit(wxCommandEvent& event)
{
Close();
}

277:デフォルトの名無しさん
11/11/08 21:06:07.61 .net
void filenameFrame::OnAbout(wxCommandEvent& event)
{
wxString msg = wxbuildinfo(long_f);
wxMessageBox(msg, _("Welcome to..."));
}

void filenameFrame::OnButton1Click(wxCommandEvent& event)
{
wxString CurrentDocPath;
wxString Filename;
wxArrayString Filenames;
wxString GetDirectory;
wxFileDialog* OpenDialog = new wxFileDialog(
this,wxEmptyString,wxEmptyString,wxEmptyString,wxEmptyString,wxFD_MULTIPLE,wxDefaultPosition);
if (OpenDialog->ShowModal() == wxID_OK)
{
CurrentDocPath = OpenDialog->GetPath();
Filename << OpenDialog->GetFilename();
GetDirectory << OpenDialog->GetDirectory();
//Filenames << OpenDialog->GetFilenames[0];
TextCtrl1->SetLabel(CurrentDocPath);
TextCtrl2->SetLabel(Filename);
TextCtrl3->SetLabel(GetDirectory);
//TextCtrl4->SetLabel(Filenames);
}
OpenDialog->Destroy();
}

278:デフォルトの名無しさん
11/11/08 21:58:12.30 .net
連続投稿規制 5回でなるんですねが・・・
こんな感じです。
配列・ポインタなど、マニュアルを目を通したのですが、完全に理解していません。
とりあえず色々さわりながら理解していこうかと考えています。

>>272
ありがとうです。
sampleフォルダの中のですね。
当初この中を探したのですが、wxSmithでのプロジェクトがなかったのであきらめていました。
dialogs.cppの790行目からそれらしい記載があったので参考にしてみます。

ありがとうでした。

279:デフォルトの名無しさん
11/11/08 22:45:02.83 .net
迷惑な香具師だな

280:デフォルトの名無しさん
11/11/09 07:33:07.56 .net
>>278
長いときはcodepadとかideone使おうぜ・・

281:デフォルトの名無しさん
11/11/09 08:19:10.74 .net
会社から帰ったら考えてみるわ>>278


282:デフォルトの名無しさん
11/11/09 14:01:41.90 .net
>>280
そのような場所があるとは知りませんでした。
次からそうします。

スレ汚しすみませんでした。
あと、/sample/dialogs/dialogs.cppの該当部分を、コピペしただけで複数ファイルの選択と、表示ができました。
意味を調べながら理解していきます。

ありがとうでした。

283:デフォルトの名無しさん
11/11/09 17:58:05.53 .net
中学生か
まあがんがれや

284:デフォルトの名無しさん
11/11/22 02:03:10.37 .net
ubuntuでwxWidgetsの勉強中なのですが、samplesフォルダ内のサンプルソース(c++)をいくつか実行してみようと思い、付属のmakefile.cpp及びmakefile.unxをmakeコマンドで実行しようとするとコンパイルに失敗します。
端末より
g++ -c foo.cpp `wx-config --cppflags`
という形でコンパイルしてみてもエラーが出ます。

コンパイルに失敗したサンプルソースはlistbox.cppとlisttest.cppです。

なにかコンパイル時に指定しなければいけないファイルなどがあるのでしょうか?
どなたか教えてください

285:デフォルトの名無しさん
11/11/22 07:25:11.04 .net
wxをビルドしてインストした?

286:デフォルトの名無しさん
11/11/22 12:20:24.62 .net
>>284
エラーメッセージ貼ってよね!

287:284
11/11/22 16:11:40.78 .net
>>285
早速の返信ありがとうございます。

僕が変な勘違いをしてない限りwxはインストール済みだと思います。
>>1のリンクにある
wxWindowsで始めるC++ GUIプログラミング
 URLリンク(www.h3.dion.ne.jp)
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
 URLリンク(0xcc.net)
に書かれている簡単なソースや、自分で作った幾つかのソースは動きますので。

>>286
返信ありがとうございます。
今すぐにエラーを貼るのは難しいので、数時間後にまた貼らせて頂きます。

288:284
11/11/22 21:45:18.75 .net
listtestでは、makefile.unxと手打ちのコンパイルでは同じエラーが出ました。
makefile.gccはmakeコマンド自体が失敗していたようなので、環境の違いが原因だと思います。
以下、listtestのmakefile.unxに対するエラーの一部(エラーが167行もあるため省略します。)です。

In file included from listtest.cpp:48:0:
listtest.h:29:34: エラー: ISO C++ では型の無い ‘wxDECLARE_NO_COPY_CLASS’ の宣言を禁止しています [-fpermissive]
listtest.h:96:39: エラー: ISO C++ では型の無い ‘wxDECLARE_NO_COPY_CLASS’ の宣言を禁止しています [-fpermissive]
listtest.h:189:36: エラー: ISO C++ では型の無い ‘wxDECLARE_NO_COPY_CLASS’ の宣言を禁止しています [-fpermissive]
listtest.cpp:73:19: エラー: ‘wxIntPtr’ was not declared in this scope
listtest.cpp:73:35: エラー: ‘wxIntPtr’ was not declared in this scope
listtest.cpp:73:51: エラー: ‘wxIntPtr’ was not declared in this scope
listtest.cpp:73:78: エラー: expression list treated as compound expression in initializer [-fpermissive]
listtest.cpp:74:1: エラー: expected ‘,’ or ‘;’ before ‘{’ token
listtest.cpp: コンストラクタ ‘MyFrame::MyFrame(const wxChar*)’ 内:
listtest.cpp:194:50: エラー: オーバーロードされた ‘wxIcon(const char* const [37])’ の呼び出しは曖昧です
listtest.cpp:194:50: 備考: 候補:
/usr/include/wx-2.8/wx/generic/icon.h:35:5: 備考: wxIcon::wxIcon(const wxString&, wxBitmapType, int, int) <near match>
/usr/include/wx-2.8/wx/generic/icon.h:35:5: 備考: 第 1 引数を ‘const char* const [37]’ から ‘const wxString&’ へ変換する方法が不明です
/usr/include/wx-2.8/wx/generic/icon.h:31:5: 備考: wxIcon::wxIcon(char**, int, int) <near match>
/usr/include/wx-2.8/wx/generic/icon.h:31:5: 備考: 第 1 引数を ‘const char* const [37]’ から ‘char**’ へ変換する方法が不明です
/usr/include/wx-2.8/wx/generic/icon.h:30:5: 備考: wxIcon::wxIcon(const char**, int, int) <near match>

289:デフォルトの名無しさん
11/11/22 22:33:02.64 .net
サンプルはどこから持ってきたやつなの?
インストールしてるwxWidgetsとサンプルのバージョンは同じ?

そもそもインストールはどうやってしたの?
パッケージから入れたの? それともソースからビルドしたの?

とまあ、気になる点はいろいろですが、
とりあえずパッケージからwxWidgetsの開発環境をインストールして、
同じバージョンのサンプルをコンパイルするのは、
最初に書かれてる方法で普通にできます。

ソースからビルドすれば付属してるサンプルも一緒にコンパイルしてくれるはずです。


290:デフォルトの名無しさん
11/11/23 00:13:32.17 .net
>>288
そのエラーメッセージは最初の方は含まれてる?
wxのincludeが読み込めてないように思える。includeのエラーが最初にないかい?

291:デフォルトの名無しさん
11/11/23 03:07:47.66 .net
>>288
makefile.gccはMinGW用のMakefileじゃなかったっけ?

make -f <対象のMakefile> でだいたい行けるはず

292:デフォルトの名無しさん
11/11/23 03:19:45.38 .net
そもそもLinuxでwxWidgetsやろうと思ったら

①wxWidgetsのソースダウンロード
②./configure <- 自分が欲しいオプション ->
③make && make install
④samplesフォルダにあるソースコードを「make」コマンドでコンパイル

で終わるはずなんだがなあ

293:デフォルトの名無しさん
11/11/23 07:52:23.63 .net
MinGWでwxWidgetsやろうとしたら面倒すぎて死んだ

294:デフォルトの名無しさん
11/11/23 15:36:30.36 .net
>>293
大丈夫、慣れたらできる(マゾ)

295:デフォルトの名無しさん
11/11/23 15:48:53.79 .net
>>284
しかもよく見たらコマンド間違えてるな

× g++ -c foo.cpp `wx-config --cppflags`

○ g++ -c foo.cpp `wx-config --libs` `wx-config --cxxflags` -o foo

ライブラリにリンクしてないから実行ファイルができてない可能性が

296:デフォルトの名無しさん
11/11/23 21:59:05.34 .net
>>293
wxDev-C++
URLリンク(wxdsgn.sourceforge.net)
みたいなのもあるから暇なときに試してみたら?

VC++でやるよりは楽かも…、しれません。

297:デフォルトの名無しさん
11/11/24 00:18:52.26 .net
devC++は好きで昔から結構使ってるけど
やっぱvc版インストしてvcの統合環境でやったほうがデバッグは楽だよ
使うまではdevCのパッケ導入が楽かも知れんけどw

(最近はc#が色々楽すぎるんでwx自体全然使って無いけど・・・)

298:デフォルトの名無しさん
11/11/24 06:38:20.30 .net
VC++2008EnterpriseEditionでやったらめちゃくちゃ簡単だった


299:デフォルトの名無しさん
11/11/24 14:16:50.31 .net
hosyu

300:284
11/11/28 13:24:44.41 .net
レスの間が開いてすみません。みなさん色々とアドバイスありがとうございます。
>>289
よくわからないうちからいろいろなサイトをまわって色々試してたせいで若干記憶が曖昧で申し訳ないのですが、インストールは確かパッケージから入れたと思います。

サンプルのバージョンが2.9.2なのですが、コンパイルエラーを見る限り、2.8のライブラリを読んでいるみたいなので、安定版と最新版を両方入れてたみたいです。

改めて2.8.12を公式から落としてきて、そのサンプルでコンパイルしてみたらうまくいきましたので、ご指摘の通りサンプルとwxWidgetsのバージョンが違ったみたいです。ありがとうございました。

>>290
エラーメッセージは先頭の部分でした。ありがとうございました。
>>291
そうみたいですね。makefile.unxでうまくいきました。ありがとうございました。
>>295
今まで下記サイトを参考に
URLリンク(0xcc.net)

% g++ -c hello.cpp `wx-config --cppflags`
% g++ -o hello hello.o `wx-config --libs`

というようにコンパイルしてたんですけど良くなかったでしょうか。

301:デフォルトの名無しさん
11/11/28 19:19:16.59 .net
>>300

> 今まで下記サイトを参考に
> URLリンク(0xcc.net)
>
> % g++ -c hello.cpp `wx-config --cppflags`
> % g++ -o hello hello.o `wx-config --libs`
>
> というようにコンパイルしてたんですけど良くなかったでしょうか。

それならOK、コマンド1行でやるか2行でやるかの違い
ただ wx-config --cppflagsとwx-config --libsが何を表しているのか
includeとかlibってどういうものなのかググって意味を考えたほうがいいよ


302:デフォルトの名無しさん
11/12/05 19:16:58.26 .net
LinuxでパッケージからwxWidgetsを入れた場合、setup.hはどこにあるのでしょうか?
wxUSE_ACCESSIBILITYを有効にしようと思ってファイル検索したら大量にかかったので幾つか内容を変更してみても有効にならなかったので。


303:デフォルトの名無しさん
11/12/05 19:26:14.75 .net
パッケージはバイナリしか入ってない、つまりオプションを切り替えるのは不可能では?
ソースからビルドした方がいいと思われ

304:デフォルトの名無しさん
11/12/05 19:31:56.85 .net
>>303

ありがとう。ソースから入れなおしてみる。

305:デフォルトの名無しさん
11/12/05 19:45:40.51 .net
>>302
Linuxでは通常はソースのパッケージが別に用意されてるよ。

ディストリによるけど後ろに-develみたいなのがついたパッケージ
を入れるとソースが入る。

306:デフォルトの名無しさん
11/12/05 21:19:08.30 .net
>>305
そのレスを見る前に入れなおしてしまった…教えてもらったのに申し訳ないです。



オプションの切り替えは結局setup.hをいじれば良いのでしょうか?

307:デフォルトの名無しさん
11/12/05 21:34:18.68 .net
>>306
./configure -h で付けられるオプションが見れるからやってみ、その中にwxUSE_ACCESSIBILITYも入ってるだろう

308:デフォルトの名無しさん
11/12/05 21:38:07.80 .net
$ ./configure -h | grep accessibility
--enable-accessibility enable accessibility support

あったあった。何に使うのかわからんけどどうぞ。

309:デフォルトの名無しさん
11/12/06 11:00:02.97 .net
>>307,308
何から何まですみません。

310:255
11/12/06 11:57:28.16 .net
wxAccessibleってマニュアルに
For details on the semantics of functions and types, please refer to the Microsoft Active Accessibility 1.2 documentation.
とか、
Availability: only available for the wxMSW port.
とかあるけどlinuxで意味あるのか?

311:デフォルトの名無しさん
11/12/06 14:11:37.79 .net
>>310
下のサイト
URLリンク(www14.ocn.ne.jp)
を見て、サンプルのソース実行して勉強してたんですけど、accessっていうサンプルをコンパイルして実行をしようとすると、
"This sample has to be compiled with wxUSE_ACCESSIBILITY"
というメッセージが出たので、
Windowsのみ本体のwxUSE_ACCESSIBILITYを1にする、とは書いてあったんですが、動いてないということはLinuxでも必要なのかと勝手に思い込んでこちらで聞いてみたんですが、やっぱりLinuxでは意味が無いんでしょうか…

312:311
11/12/06 14:27:45.09 .net
度々すみません。
こちらでもマニュアルを確認したら、accessはWindowsのみと書いてありました。
今度からはマニュアルを良く読んで、わからなかったらこちらで聞きたいと思います。
自分自身でもあんまりにゆとりすぎて反省してます…。
みなさん大変ご手数をおかけしました。


313:デフォルトの名無しさん
11/12/07 15:35:36.35 .net
ほとんどのゆとりにくらべたらまだましなほうだわ

314:デフォルトの名無しさん
11/12/07 19:17:24.24 .net
ゆとりはHSPとかC#に行くだろうからこっちには来ないだろうな
あとC++のGUIライブラリで有名で日本語ドキュメントがあるのはQtとかgtkだろうからさらにやる人は減る
最後にwxWidgetsは英語の知識とC++のオブジェクト指向がわかってないとできないから挫折する人も多いだろう

とゆとりが言ってみる

315:デフォルトの名無しさん
11/12/07 20:24:22.32 .net
wxWidgets > Qt >>> こえられないかべ >>> GTK

316:デフォルトの名無しさん
11/12/11 22:40:24.44 .net
wxWidgets > Qt なの?

317:デフォルトの名無しさん
11/12/15 13:37:15.62 .net
いわゆるビジュアルプログラミング言語は
生産性を改善するという触れ込みでありながら、事実上普及していない

何でかは知らんけど、同じ大きさのモニタに表示できる情報量で
テキストに負けちゃうからっていう説を聞いたことがあるような

318:デフォルトの名無しさん
11/12/16 01:32:59.64 .net
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

319:デフォルトの名無しさん
11/12/16 06:38:53.32 .net
下記のページ
URLリンク(docs.wxwidgets.org)

でwxCommandEventを勉強していたのですが、
GetIntとGetSelectionの違いがよく分かりません。

GetIntは
wxCommandEvent::GetInt
int GetInt()
Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox.

と書いてあり、GetSelectionは
Returns item index for a listbox or choice selection event (not valid for a deselection).

と書いてあるのですが、GetIntの選択されたリストボックスに対応付けられたInt型と言うのはGetSelectionで返される値と何か違うものなのでしょうか?

320:デフォルトの名無しさん
11/12/16 13:32:13.51 .net
ver 2.8.12
include/wx/event.h
538: int GetSelection() const { return m_commandInt; }
554: int GetInt() const { return m_commandInt; }


321:デフォルトの名無しさん
11/12/22 01:35:21.75 .net
リストボックスの中に、入れ子でリストボックスを作りたいと思いマニュアルを見て、wxListBoxのメンバ関数であるCreate関数を利用すれば2段階リストが構成できるということまではわかったのですが、Create関数の使い方がいまいちわかりません。

お手数ですが、どなたか使い方を教えていただきませんでしょうか。

322:デフォルトの名無しさん
11/12/22 06:52:48.65 .net
了解

323:デフォルトの名無しさん
11/12/22 18:41:37.88 .net
wxRegExを使うため、wxregexライブラリをビルドし、成功しました。
しかし、いざプログラムで「wxRegEx」クラスを使おうとすると、「error C2065: 'wxRegEx' : 定義されていない識別子です」というエラーが出て、全く使えません。
思いつく方が居たらお願いします。

OS: Windows 7
wxWidgets: 2.9.1
コンパイラ: Visual C++ 2010 Express

324:デフォルトの名無しさん
11/12/22 18:52:26.42 .net
>>323
すいません、プリコンパイル済みヘッダを再作成してみたらうまくいきました。
スレ汚しすいません……

325:デフォルトの名無しさん
11/12/22 19:21:01.94 .net
MinGW勢はいないのか
どいつもこいつもマイクロソフトの犬だな

326:デフォルトの名無しさん
11/12/23 01:55:47.35 .net
mingwの時点でOSはWindowsなのに
>どいつもこいつもマイクロソフトの犬だな
とか書くのかよw

327:デフォルトの名無しさん
11/12/23 02:50:47.72 .net
確かにそうだな、ちょっとWindows捨ててくる

328:デフォルトの名無しさん
11/12/23 16:08:42.36 .net
wxWidgetsはWindows以外はおまけだろ。
Win32のラッパーとしての価値しかないと思っている。

329:デフォルトの名無しさん
11/12/23 16:11:37.68 .net
>>326
ナイス

330:デフォルトの名無しさん
11/12/23 16:12:34.17 .net
>>328
元々 wxWindows だからなぁ

331:デフォルトの名無しさん
11/12/24 17:54:24.54 .net
migw もなぁ…64bit対応がなぁ…
wxruby とか使いたくても使えないよ

しかしひとはビルドしろという
なんどでもビルドしろという
びるどしろー

332:デフォルトの名無しさん
11/12/25 00:36:14.77 .net
rubyるど

333:デフォルトの名無しさん
11/12/25 08:31:41.01 .net
MSWでwxListCtrlを使ってみたらDESELECTEDイベントが通知されないバグがあったので
クリックやキボード操作が行われる度に選択状態を自分でチェックしてDESELECTEDイベントを送るようにしたら
アイテムが1個の時に何故かマウスイベントが消し去られるバグまで出てきて
もう八方塞がりです
なにこれ馬鹿

334:デフォルトの名無しさん
11/12/25 12:00:56.99 .net
wxLC_VIRTUALの呪い

335:デフォルトの名無しさん
11/12/25 13:04:57.85 .net
そういうのってバグ報告できないのかな?

336:デフォルトの名無しさん
11/12/25 21:34:01.11 .net
馬鹿が使うと馬鹿っぽく振舞います

337:デフォルトの名無しさん
11/12/27 11:01:32.77 .net
明らかに開発陣はWindowsでテストしてないな
昔よりバグが悪化してるwww

338:デフォルトの名無しさん
11/12/27 12:10:40.98 .net
最近wxTreeCtrl使ってるけどイベント通知できんわ
仕様がわかってないだけかも知れんが、バグだったら報告しなきゃだな

339:デフォルトの名無しさん
11/12/27 16:48:41.14 .net
できるよ

340:デフォルトの名無しさん
11/12/27 19:07:54.63 .net
最新バージョンってバグ多いの?
これから使うか悩んでるので教えてださい。

341:338
11/12/27 23:00:49.89 .net
今日ちょっとwxTreeCtrlの全イベント試してみたが、特に問題なかった。環境はMSW(MinGW)

>>340
英語が多くてドキュメントがAPIリファレンスしかないのがある意味バグw
この前wxXMLをHTMLに使ったら一気にバグってワロタ(当たり前だけど)

それさえ超えればいいものだと思います

342:デフォルトの名無しさん
11/12/27 23:36:17.73 .net
自分の無能を環境のせいにすんなやぼけ

343:デフォルトの名無しさん
11/12/28 08:03:39.44 .net
バグとか明らかに仕様とは違う動きをしたりすることは多々あるけど
もともとネイティブAPIをラップしただけだから誤魔化せるかもしれない
結局のところネイティブレベルの知識とwxWidgetsの中身まで調べないといけないので時間はかかる
それでもネイティブコンパイル出来ないC#も嫌だし、MFCよりは遥かにましだけどw
ネイティブレベルのことをしたくてGUIも楽に作りたいって要求に答えてくれるものがないもんな


344:デフォルトの名無しさん
11/12/28 15:34:13.86 .net
>>341
英語なのはキツイけどほかに良いライブラリも見当たらないし我慢するw

>>343
バグがあるってのはちょっと残念だなぁ
ネイティブレベルの知識もそんなに無いし不安だ・・・
けど、大きなバグじゃないのなら少し使ってみようと思います。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch