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
449 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 01:34:39 ] スーパーハカーと呼ばない
450 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 05:14:10 ] スーパーバカー
451 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 02:06:20 ] >450 昨日半徹だたのでちょとフイタw ……いい加減寝よorz
452 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 04:59:01 ] Can I use wxWidgets for both proprietary (commercial) projects, and GPL'ed projects? wxWidgetsは商用プロジェクトとGPLプロジェクトの両方で使う事ができますか? Yes. Please see the licence for details, but basically you can distribute proprietary binaries without distributing any source code, and neither will wxWidgets conflict with GPL code you may be using or developing with it. はい。詳しくはライセンスを読んでください。 ただ、原則としてあなたの配布物がバイナリ形式(いかなるソースコードも含まない)であり、 なおかつGPLコードが含まれない場合に限ります。 The conditions for using wxWidgets are the same whether you are a personal, academic or commercial developer. この条件は wxWidget の個人利用、教育利用、商用利用にかかわらず適用されます 。。。みたいなことが書いてあるってことであってる?
453 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 08:27:22 ] >>452 >but basically you can distribute proprietary binaries without distributing any source code, and neither will wxWidgets conflict with GPL code you may be using or developing with it. 基本的にあなたはいかなるソースコードも配布せずにプロプライエタリなバイナリを配布する事が出来ますし、 wxWidgets はあなたがプログラムの実行や開発に利用するGPL のコードとライセンスの矛盾を起こす事はありません。
454 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 08:36:04 ] >>452 neither will wxWidgets conflict with ~ は wxWidgets will not conflict with ~ と読み替えると宜し。
455 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 10:25:13 ] thx. なるほど、neither ~ の部分はそう訳せば良かったのか。。。 つくづく、学校でちゃんと英語をやっておけば良かったと思うよ。
456 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 08:26:26 ] GLCanvasつかってるひといる? これって、一つの frame には GLCanvas しか 配置できないのかな? frame -> panel -> glcanvas とか、 frame -> gridsizer -> glcanvas + textctrl とか やろうとすると、フレーム全体が全く描画されなくなってしまう OpenGLって、コントロール単位ではなく ウィンドウ単位でしか描画してるのかな?
457 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 11:05:25 ] 2.6時代だけど、普通にsizerに色んな物と一緒に置いても問題なかった
458 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 03:27:37 ] wxWidgetsは所詮Wrapperだから 普通にOpenGLで多画面出来るかどうかの問題だ 出来るのならプログラムか環境に問題がある
459 名前:デフォルトの名無しさん [2007/10/16(火) 15:06:43 ] ttp://cc.codegear.com/Item/24937 wxForms - wxWidgets Form Designer for C++ Builder これってどうよ?
460 名前:デフォルトの名無しさん [2007/10/16(火) 15:54:23 ] wxDialog based と wxFrame based について教えて下さい。 ・1つのプロジェクト(というかmakefile?)ではどちらにするか決定するものでしょうか? ・どう違うのでしょうか?(どちらが良いのでしょうか?) 解説サイトでも何でも良いので教えて下さいorz
461 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 18:29:28 ] メインがダイアログかフレームかってこと?
462 名前:460 mailto:sage [2007/10/16(火) 18:33:54 ] そうです。 メイン以外もどうすべきか教えて下さい。
463 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 01:33:37 ] おれの理解ではメニューバーやステータスバーが欲しければFrame、欲しくなければDialogだ。 どちらがいいとか悪いとかいう問題じゃない。好きなほうにしたらいい。決められないなら鉛筆ころがせ。
464 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 01:59:55 ] >>460 python.matrix.jp/projects/wxPython/bad-know-how.html
465 名前:460 mailto:sage [2007/10/17(水) 08:39:03 ] >>463 >>464 そういう内容を知りたかったんです。 この問題は解決しましたが、 1つ1つ問題を解決するの大変orz Delphiなんかだと、 TFormがウィンドウで、その中に貼り付けるのがTFrameだったりするので、 危うく間違えるところですた。
466 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 09:11:38 ] >>465 知らないものを触る時はまず付属のサンプルを見た方が良いのでは? 余計なお世話かも知れませんが。
467 名前:デフォルトの名無しさん [2007/10/17(水) 10:47:19 ] MacでwxWidgetsする場合は、 コンパイラはgccですか?Xcodeですか?
468 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 12:22:55 ] >>467 Xcodeでgccですよ
469 名前:467 mailto:sage [2007/10/17(水) 18:25:11 ] あ、XcodeってIDEであってコンパイラは別なんですか。 Eclipseみたいなもんかぁ。 サンクス
470 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 01:29:59 ] 皆さんが、画面を作成するときは、どんなツールを使用していますか?
471 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 07:15:42 ] テキストエディタ
472 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 10:10:48 ] 紙とペン、鉛筆
473 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 10:11:31 ] >【A3】C++Builderテクニカルセッション >「wxFormsで始めるwxWidgetsプログラミング」 こういう答えを希望してるわけ?
474 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 21:07:42 ] 自動生成だといらない物がごちゃごちゃ入り込んで気持ち悪い
475 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 09:08:22 ] 自動生成の要らないものごちゃごちゃに対するアンチテーゼというかアウフヘーベンが、 ”クラスライブラリ+IDE”だお。 これだと差分コードしか表れない。 但し、VC++/MFCは除く。
476 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 00:09:58 ] MFCはAppWizardなしでも使えるよ
477 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 08:52:03 ] >>476 それって何て手書き?
478 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 18:37:55 ] >>477 いや、MFCは手書き不可みたいに書いてたから。 手書きMFCなんてやる理由はないとは思うけど。
479 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:42:12 ] クロスプラットフォームで独自形式のrich text editorを作りたいと思ってwxWidgetsを使ってみました。 ちょうどrich textのサンプルあったので動かしてみましたが、これって日本語入力できないですね。 どうやらeditor boxみたいなおネイティブのコントロール使ってる場合はOKなんですが 自力で作るコントロールの場合はそのままでは無理っぽいです。 そのあたりハンドルできる方法ってないですか? 今はWinowsでVC使って動かしています。 このあたりクロスプラットフォームで日本語入力も完璧なのって結局Javaなんですかね・・・ なるべくならC/C++でやりたいと思ってます。 wxWidgets以外にもいい候補あったら教えてください。
480 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 00:27:43 ] >>479 自分で実装するか、IIIMF とか Anthy とか使ってみるかじゃないかな。
481 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:29:40 ] Windowsって書いてるけど
482 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:35:22 ] クロスプラットフォームって書いてるけど
483 名前:479 mailto:sage [2007/10/29(月) 00:04:53 ] ありがとうございます。 wxWidgetsだけではやっぱり無理っぽいですね。 インライン入力の制御は面倒なのでできればありもので済ましたいです。 で思いあたったことにマルチプラットフォームといえばOpenOfficeがありました。 あれのtoolkitってどうなってるんですかね。 SDKあるみたいなのでちょっと調べてみます。
484 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 00:10:51 ] Mozilla も見てみると良いよ。
485 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 01:27:04 ] Mozillaといえば、wxWidgets本家のScreenShotで上がっている Kirix StrataがMozillaベースに変わってるっぽい。 ttp://www.kirix.com/index.html wxAUIは今後も開発とあるけど。
486 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:46:59 ] wxImage::Rescale(w, h, wxIMAGE_QUALITY_HIGH) が遅すぎて使えないんだけど・・・。 なんかないですか?
487 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 00:29:32 ] >486 思いつきだがそこはImageMagickに任せてしまうとか。 wxImage <-> ImageMagickのイメージ形式 の変換コストが問題になるほどだとあかんけど。
488 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 00:51:48 ] >>486 パッと見ただけの実に適当な印象だが。 wxImageはRGB24bitのピクセルデータと、8bitのαチャンネルのデータを 別々に持ってるようだねえ。で、イメージの配列には当然のように バイト単位でアクセスしている。 ネイティブな形式が例えばAGBRなら、さらにそれをいちいち変換して描画 するんだろうね。 いかにも遅そうだねえ。
489 名前:486 mailto:sage [2007/11/01(木) 01:21:15 ] >487 >488 レスありがとうございます。 >486 別プロセスで ImageMagick 起動ってことですよね。 たぶんそっちの方がコスト的には高いかと。 うーん。せめて StretchBlt でリサイズしつつメモリに転送とか できたらいいのに・・・。
490 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 01:29:20 ] >489 ん? ライブラリリンクしちゃえば、という積もりだったんだけど。 っても今確認したらGPLかぁ > ImageMagick
491 名前:デフォルトの名無しさん [2007/11/01(木) 08:04:20 ] wxImageは内部が汎用なので、 ポインタで直接処理した後wxBitmapに変換して使用するしかないかと。 画面がリサイズされたときなど必要に応じて最低限の変換で対応するか、 OpenGLあたりを使うほうがよさそう。
492 名前:デフォルトの名無しさん [2007/11/01(木) 15:56:10 ] >ttp://e-words.jp/w/LGPL.html >LGPLでは動的な(実行時)リンクに限り、GPL/LGPLに従わないソフトウェアでの利用も許容している。 あれ? wxWigetsってLGPLだから、静的リンクした場合、ソースを公開しなきゃならないの?
493 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 16:49:00 ] 公開以前に、ライセンスを読んでもいない奴は使うな、が正しい。
494 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:11:22 ] >>492 1. LGPL にソース公開の義務は無い 2. wxWidget は LGPL の制限を緩める為の追加条項を加えたライセンスを採用している 3. 何か契約をする際は必ず原文に目を通した方が良い
495 名前:486 mailto:sage [2007/11/02(金) 01:02:56 ] >490 大変失礼しました。 ImageMagickのライブラリってあるんですね。勉強不足でしたorz wxIMAGE_QUALITY_NORMALで写真の画像をリスケール したところ、思ったよりも画像が崩れなかったので、 しばらくはコレを使おうと思います。 32x32とかのアイコンとかを拡大するとダメダメだけど・・・
496 名前:デフォルトの名無しさん [2007/11/04(日) 14:03:59 ] ボタンの配置について質問です。 ダイアログで「OK」ボタンと、「キャンセル」ボタンを横並びで表示したいのですが、 縦に並んでしまいます。 どうしたらよいのでしょうか?
497 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 15:11:34 ] スレタイ嫁
498 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 22:22:30 ] >496 エスパー初心者がいってみよう wxHORIZONTAL
499 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 22:50:39 ] 絵スパー初心者二号がテレパシー中 ・・・ ・・ ・・ ・ ・・・ ディスプレイを縦にするといいと思うよ。
500 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 01:10:47 ] 日本語マニュアルが中途半端なのがな〜
501 名前:デフォルトの名無しさん [2007/11/06(火) 01:08:10 ] zipを扱うことができるみたいですが、どうやったらいいのかわかりません。 サンプルを見てもよくわかりません。 ほかにわかりやすいサンプルはありませんか? サンプル:console.cpp 3238行目
502 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 04:34:48 ] 以前使ったが、別段何を悩むこともなかったぞ。
503 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:20:09 ] これからVC2005EE使って開発する予定なのですが GtkmmとwxWidgetsのどちらを使うか迷っています 既に両方使ったことのあるかたにアドバイスを 頂きたいのですが
504 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:54:22 ] gtkmm の方が開発してて気持ちいいけど、 wxWidgets の方がアプリを使ってて気持ちいい
505 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 02:01:39 ] テキストボックスやComboBoxでダブルクリックしたら これまで打ち込んだやつがヒストリーとして表示するように したいんだけどこういうのはなんか用意されているでしょうか?
506 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 04:37:15 ] >>504 すごく分かりやすい説明です 本当にありがとうございました とりあえず両方やってみます wxWidgetsで分からないときは ここを頼りにしていますので よろしくお願いします
507 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 05:54:31 ] >>506 > wxWidgetsで分からないときは なんたらoverview リファレンス 本体ソースコード サンプル の順かなあ、俺が頼りにしたのは。
508 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 03:42:08 ] >>505 wxBlog見たらver3.0でつきそうな感じだね。
509 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:03:09 ] >>84 1,ゴッドサイザー 2,アステサイザー 3,三ツ矢サイザー 4,グレンサイザー
510 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 13:59:57 ] wxBlogでの3.0の新機能の説明(英語)がいまいち良く分からんです。 Unicodeがどうのこうのとあるんですが、Unicodeビルドしなくても デフォルトでUnicodeビルド扱いになるということなんでしょうか?
511 名前:デフォルトの名無しさん [2007/11/14(水) 23:46:59 ] 0xcc.net/pub/uu-2004-08/ このページ見て設定してみたけどコンパイルできません。 wx/wx.h がNo such file or directoryとなりインクルードできないです。 どうしたらよいのでしょうか?
512 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 23:58:01 ] はい使ってるOSとコンパイラは?
513 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:00:09 ] Windows XPで MinGW 使ってます。
514 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:25:15 ] wx/wx.hがあればいい。それだけ。
515 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:36:15 ] どこにあればいいんですか? C:\MinGW\includeにはなくて、 C:\msys\1.0\home\Owner\wxMSW-2.8.6\include にあります。 C:\msys\1.0\home\Owner にファイルを作りコンパイルしたところできませんでした。
516 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:48:08 ] make install してやってから `wx-config --cxx` -o hoge.exe hoge.cpp `wx-config --cflags --libs` みたいにしてコンパイルしれ
517 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:01:32 ] ありがとうございます。できました! 今までやってた $g++ -c hello.cpp 'wx-config --cppflags' ではできないみたいですね。
518 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:52:51 ] cppflagsが返すのはCプリプロセッサのためのオプションだぞ
519 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 03:49:16 ] >>510 ・今までANSIとUnicodeの二つのビルドがあったのが、一つになる。 ・wx内部では全部Unicodeで処理するが、APIはANSIとUnicode両方が用意される。 ・ANSIのAPIは逐一Unicodeにエンコードして処理する。 ってところだと思う。
520 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 05:35:38 ] >>486 それのプログラム見たらわかるけど効率悪い 自分で組んだ方がいいよ
521 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 05:37:35 ] wxImageMagickを今開発中のはず wxImageにラップするようだけど それを待ってもいいかも
522 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 00:52:43 ] サイザーの使い方を教えてください。 ********************** * * * A * * * * * ********************** * B * C * ********************** 以上のようなレイアウトで、 ・縦幅が変化した場合はAのみ ・横幅が変化した場合はAとC それぞれ動かしたいのですが、 いったいどうやってサイザーを設定すればいいのでしょうか? よろしくお願いします。
523 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 01:32:23 ] >>522 試してないけどこんなんでどう? wxSizer *root = new wxBoxSizer(wxVERTICAL); root->Add(A, 1, wxEXPAND); wxSizer *sub = new wxBoxSizer(wxHORIZONTAL); sub->Add(B, 0, 0); sub->Add(C, 1, 0); root->Add(sub, 0, wxEXPAND); SetSizerAndFit(root); BoxSizerの指定方向に対しては、Add()のproportionを1以上にするとサイズ変更される。 もう一つの方向に対しては、wxEXPAND指定すれば、領域を埋めるようにサイズ変更される。
524 名前:デフォルトの名無しさん mailto:sage [2007/11/23(金) 02:02:10 ] >>523 それでできました! CにEXPANDを指定したら、縦に広がったりしてかなり困っていました。 サイザーってそういうふうになっているんですね。 どうもありがとうございます。
525 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 22:18:22 ] フォントの高さをピクセル単位で取得したいのですが、 > font.GetPointSize(); だと値が表示されている高さよりも明らかに小さくなります。 正確な値を得るにはどうすればいいのでしょうか? よろしくお願いします。
526 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 23:15:35 ] ポイントとピクセルは全然違う単位だ
527 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 00:51:21 ] >>526 それなら、ポイントをピクセルに直すにはいったいどうすればいいのでしょうか? 解像度とか関係ありそうなのですが、よく分からないのです。
528 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 01:38:57 ] >>527 wxDC::GetCharHeight() がそれっぽいですがベースラインより下の部分も含んでるのかどうかはわかりません
529 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 20:09:11 ] >>528 それを参考にして書いていたら、wxWindowにも 同じ名前のドンピシャなメソッドがあることが分かりました。 ありがとうございました。
530 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 20:34:52 ] 分割ウィンドウ(wxSplitterWindow)を使用した場合、ステータスバーの表示/非表示 切り替えは出来ないものなのでしょうか。サンプルのsplitterに、statbarからの表示/非表示 切り替えコードを追加してみたのですが、初回の非表示(失敗)後に、分割ウィンドウの サイズが変更不能となってしまいます。
531 名前:530 mailto:sage [2007/12/05(水) 21:18:50 ] すみません、自己解決しました。 wxStatusBar* statbar = GetStatusBar(); : statbar->Hide(); //SetStatusBar(NULL); // <- 親フレームと分割ウィンドウの連動が解除されてしまうのでコメントアウト SendSizeEvent(); // 非表示部が即時更新されないので追加 :
532 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 16:52:55 ] VS2005の変数ウォッチのようなことがしたいのですが、そのためのコントロールを探しています。 変数ウォッチとは、プログラムのデバッグ時にint型やクラス型で定義された変数の 名前や中身や型を表示するものです。 変数の名前や型だけを表示するならばwxListCtrlでもwxDataViewCtrlでも何を使ってもいいのですが、 メンバをもつ変数を表示させることを考えると、 どうしてもオブジェクトをツリー形式で表示させたくなります。 また、デバッグ中にウォッチする変数を新たに追加したくなった場合にも 簡単に追加できるものがいいのです。 つまるところ、 ・できれば名前や型などの欄が作れる ・ツリー形式で表示できる ・新規のアイテムが簡単に追加できる これらのことができるコントロールを探しています。 個別の条件を満たすものは見つかるのですが、そのすべてを満たすものが見つからず苦心しています。 (ちなみに、VS2005ではwxDataViewCtrl(wxGrid)のアイテム中にwxTreeCtrlのようなものを表示しています) 条件に合うコントロールがあれば教えていただきたいのです。 よろしくお願いします。
533 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:55:29 ] 使ったことないですが、下記サイトのwxTreeListCtrlがそれっぽいような…。 homepage2.nifty.com/bkclass/doc_wxcode.html
534 名前:デフォルトの名無しさん mailto:sage [2007/12/15(土) 01:40:55 ] >>533 wxCoreというのは初めて知りました。 サンプルも動かしてみたのですが、これは素晴らしいですね。 どうもありがとうございました。
535 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 20:16:12 ] スクロールバー領域を除いた ウィンドウのクライアント領域のサイズを得ることはできますか?
536 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 20:20:35 ] ウィンドウのクライアント領域−スクロールバー領域=スクロールバー領域を除いた ウィンドウのクライアント領域のサイズ
537 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 21:21:45 ] >>536 すいません。説明が足りませんでした。 クライアント領域からスクロールバーの領域を除くためには 1,スクロールバーが表示されているかを検出する 2,表示されていたら、そのスクロールバーのサイズ分だけクライアント領域から除く という主順を踏む必要があります。ところが自分にはこの二つともやり方が分かりません。 例えば、スクロールーバーはコントロールの内容によって表示されたり消えたりしますよね。 HasScrollbarメソッドはどうもスクロールバーの非表示を検出してくれないようで、 ウィンドウスタイルによって値が決まってしまいます。 つまり、スクロールバーが表示されているかを正しく知る方法が自分には分かりません。 また、普通のウィンドウクラスにはスクロールバーのサイズを得るメソッドが無い (多分どこかにはあると思うのですが自分は知らない) のでスクロールバーのサイズを得ることもできません。
538 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:22:35 ] wxScrolledWindow::GetViewStart void GetViewStart(int* x, int* y) const Get the position at which the visible portion of the window starts. Parameters x Receives the first visible x position in scroll units. y Receives the first visible y position in scroll units. Remarks If either of the scrollbars is not at the home position, x and/or y will be greater than zero. Combined with wxWindow::GetClientSize, the application can use this function to efficiently redraw only the visible portion of the window. The positions are in logical scroll units, not pixels, so to convert to pixels you will have to multiply by the number of pixels per scroll increment.
539 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 22:57:22 ] >>538 またまたすいません。 対象としているコントロールにはwxTextCtrlやwxTreeCtrlなどの wxScrolledWindowを継承しないものも含まれています。
540 名前:デフォルトの名無しさん mailto:sage [2007/12/16(日) 23:22:23 ] おいおいいいかげんにしろよ さすがにエスパーはいないぜ 自分で英語のリファレンス読めよ糞
541 名前:デフォルトの名無しさん [2007/12/17(月) 17:40:00 ] 例えば、ボタンをディセイブルにする、とかを調べたくて、 コントロールのリファレンスを読みたいのですが、教えて頂けないでしょうか?
542 名前:541 [2007/12/17(月) 17:57:54 ] ヘルプにAlphabetical class referenceってのがありますた。 これがコントロールリファレンスですか。 >Members ってのがメソッドで、 >Derived from というのが派生元クラスでしょうか? イベントも理解できれば完璧ですが、wx-Devがイベントハンドラ作ってくれるから、理解しなくても良いかなぁ?
543 名前:541 mailto:sage [2007/12/17(月) 18:33:28 ] wxDevってコード補間ありますたorz でも、WxButton::Enable(bool)が候補に出ないなぁ。コンパイルはトオタケド
544 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:42:19 ] wxWindow::Enable virtual bool Enable(bool enable = true)
545 名前:デフォルトの名無しさん [2007/12/28(金) 10:15:54 ] wxFrameって、OnCreateみたいなイベントハンドラはありませんか?
546 名前:545 mailto:sage [2007/12/28(金) 10:18:15 ] あ、OnInitDialogは、Frameオブジェクトの生成された後、1回コールされると考えてあってますか?
547 名前:545 mailto:sage [2007/12/28(金) 11:18:39 ] wxFrame::OnInitDialogがコールされないんですが、、、 仕様ですか?
548 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 12:34:30 ] >>545 EVT_WINDOW_CREATE
549 名前:デフォルトの名無しさん mailto:sage [2008/01/05(土) 18:48:32 ] Linuxでwxのアプリ閉じる時必ずsegfaultするのは俺だけでしょうか。 wxのサンプルについてくるのでも必ず (a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x908820' has no handler with id `673' (a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x8b4d30' has no handler with id `531' (a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x8cfa90' has no handler with id `604' (a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x8b4850' has no handler with id `465' (a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x5f4df0' has no handler with id `326' (a.out:32364): GLib-GObject-WARNING **: gsignal.c:1741: instance `0x5f4840' has no handler with id `48' zsh: segmentation fault ./a.out みたいな感じで落ちます。 Glib-GObject-WARNINGの部分はInput Methodがuimだかららしいのですが。