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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 21:49:20 ]
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)についてのスレ。

本家
 www.wxwidgets.org/
wxWindows日本語プロジェクト
 wxwindowsjp.sourceforge.jp/
Let's wxWidgets
dot-gray.s33.xrea.com/
wxWindowsで始めるC++ GUIプログラミング
www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
0xcc.net/pub/uu-2004-08/


596 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:19:18 ]
>>594
まぁ冗談はさておき、エディタ派の人は最新の IDE がどういう物かは
知った上でエディタでコーディングする事を選んでるんだよ。
君がウェブブラウザやグーグルを知ってるのと同じくらいね。

それと当然だけどエディタだけを使って開発している訳じゃないよ。
エディタを補助するツール群を揃えているから、ソースを書く時には
エディタだけで十分という作業スタイルなだけで。
IDE にプラグインを入れまくる人って居るでしょ。その逆だと思えば良い。
IDE から機能を削ぎ落として、テキスト入力以外の機能は別のツールを
組み合わせて使っているんだよ。だからいわゆる IDE は必要ないのです。

597 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 19:26:35 ]
エディタを使うメリットは、ネットブックでも動作が軽快な事、
他の環境に移行し易い事、問題があっても自分で直し易い事かな。
他にもあると思うけど、今思いつくのはこれくらい。

598 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:11:21 ]
うーん。
やっぱりコード書いている途中にピリオドを押したら
すぐにヘルプ見るのと同じ効果があるってことは
思いついていないみたいだ。エディタ使っている人は。
なんかギャップを感じるね。

599 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:12:44 ]
シェルの補間機能があるのと
ないぐらい以上の差があるのにね。

600 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:16:20 ]
全てを記憶しているから問題無い

601 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:23:59 ]
>>598
Qt のスレでもピリオドに拘ってる人が居たけど、要らない物は
要らないとしか言いようが無い。それが便利だと思ったら
愛用のエディタに手を入れるか IDE に転ぶかするだろうけど、
今のところは必要ないよ。引き算ができない人は機能一覧を埋める
事ばかり考えるけど、そういう人ばかりじゃないという事です。

人によって考え方や作業フローが違うという事を受け入れられない内は
理解するのは難しいと思われ。

602 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:30:09 ]
シェルの補完機能でも zsh の最新版の高度な機能を欲する人も居れば
csh レベルで良いから軽い方が嬉しい人も居る訳で。

まさかその違いが分からない訳じゃないよね?

603 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:42:47 ]
まぁ、自分が欲しい物を他人も必ず欲しがると思うのがナンセンスなんだよな。
世界に価値基準が一つしか無いと思ってると大人になって苦労するぞ。

604 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:46:04 ]
欲しいか欲しくないかは個人の趣味だけど、
便利か便利じゃないかといえば、
IDEの方が便利だよな。



605 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:49:34 ]
便利かどうかを判断する価値基準は無数にあるんだよ

606 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:54:34 ]
>>604
俺にとってはIDEじゃない方が便利
そういう話だ

607 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:56:12 ]
>>604
扇風機と団扇はどっちが便利?
掃除機と箒は?

608 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 20:59:42 ]
>>604
自動車があるのに自転車に乗るのは馬鹿な事なの?
それとも自動車と自転車を一緒くたに考える人が馬鹿なの?

609 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:25:54 ]
吊りだとわかってても反応したくなるな
箒や扇子は電気の無い家の外で使えるから便利だし
自転車は狭い路でも走れるから便利っつー話なんだが


610 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:37:53 ]
要らん時までパカパカ補間ウインドウひらくわりに肝心なときには補間できないという難点がある品。
調べたいことがあったらその時バッファにカーソル下の該当ワード拾ってヘルプウィンドウ開くさ。
Windows流の窓最大化文化ばかりが全てじゃないって話。

611 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:53:39 ]
一つ気になるのは、PyQtを動かすためにQtが必要であること。
まぁQtへのバインディングと考えれば必要なのは理解できるんですが、
これを各マシンにインストールするのは面倒すぎます。
もし可能であればネットワークにQtを置いて、環境変数でそこを指すようにして、
ネットワークで共有、ってことをやりたい。
それが出来るんならまぁ使ってもいいかな、って気がします。

ところで、wxPythonと比較してPyQtは何に優れてるんですかね。
AutodeskがPyQtを推す意味って何なんだろうか。



612 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 21:53:54 ]
>>609
電気があれば扇風機の方が涼しいし、ウチのオフィスの清掃業者は掃除機を使ってるよ。
ちょっと遠くへ行く時や、同じ距離でも雨の日や荷物がある時は自動車が便利。
便利という指標は考え方や使う人、使う状況によって変わるものだよ。清掃業者が
箒を使わない事を批判している人が居たら、それはちょっとまずい人に見えるよね?

コーディングを行う際にエディタが便利か IDE が便利かも同じ事。
IDE が生まれたのは Smalltalk や Lisp Machine まで遡れる訳だから 30 年以上は
経っている訳だよね。IDE は素晴らしく見えるかもしれないけど、別段新しい物でも
ないんだぜ。この手の論争は少なくとも 10 年以上前からあるし、多分もっと昔から
宗派に分かれて戦ってきたんだろうけど、結論は変わらず『好きな物を使え、他人の
主義にケチをつけるな』だよ。結局、どっちが便利かなんて使う人次第なんだから。

613 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 22:32:31 ]
> これを各マシンにインストールするのは面倒すぎます。
なぜ?

> もし可能であればネットワークにQtを置いて、環境変数でそこを指すようにして、
> ネットワークで共有、ってことをやりたい。
そっちの方が面倒すぎます。

現にあなたやり方すらわかって無いでしょ?

614 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 22:38:41 ]
スレタイ見てくれw



615 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 22:47:18 ]
wxPython+py2exeで造ったプログラムって
wxWidgetsが入っていないPCでも動くよなぁ

>PyQtを動かすためにQtが必要であること
必要なの?

616 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:01:45 ]
py2exeがwxWidgetsライブラリを含めた実行ファイルを作るから。

617 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:03:07 ]
それってQtも同じじゃね?

618 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 23:41:36 ]
う、うん……(´・ω・`)

619 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:02:50 ]
なんかIDE論議になってるけど,IDEの一番のメリットはデバッガーだと思うんだが。
そりゃコマンドライン派はgdbやcdbでもソースレベルデバッグできると言うだろうが...

IDEのエディタ上で,デバッグ中に変数にマウスカーソル当てると,中身がツール
チップヘルプで表示されるなんて,この上ない便利さだと思わない?

少数のエキスパートを除いて,最大公約数的どちらが仕事が速く出来るか?
と言われれば,やはりIDEの優位性は揺るがないだろう。

620 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:05:12 ]
そういう細かい点を日ごろ使って無い人は
わからないんだろうね。

621 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:05:38 ]
>>611
>一つ気になるのは、PyQtを動かすためにQtが必要であること。

wxPythonを動かすためにwxWidgetsが必要なのは気にならないの?

622 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:17:45 ]
スレが伸びてたからwktkして開いたのに何これ?

623 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:30:51 ]
>>619
論点がずれてる。
元々は >>592 にある様に IDE を使えないのは能力の衰えた人という話だった。
君が言う様に IDE を使わないのは少数のエキスパートという事だと、話が真逆。
議論に乗り遅れたのはかわいそうだけど、元々の話と内容が変わってるから、
続けたいなら別スレ立てた方が良いんじゃない?

これだけやっておいてなんだけど完全にスレ違いだしさw

624 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 00:44:47 ]
ではIDE対エディタの続きはこちらでどうぞ
pc11.2ch.net/test/read.cgi/prog/1244310984/



625 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 02:11:59 ]
>621
ttp://blog.taikomatsu.com/2008/06/21/pyqt4メモ/

626 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:17:41 ]
>>623
もうやめとくけど,>>619 に書いた「エキスパート」は皮肉だよ。真に受けないで欲しかった。


627 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:24:49 ]
もうやめとくと言いながら未練がましく最後っ屁をかますとは人間ができてますなあ

↑皮肉ってこういう事だよ

628 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:26:08 ]
あ、真に受けないでね

↑これも皮肉

629 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:50:53 ]
>>619 が皮肉になっていないのは捻っているようで全く捻ってないから。
『エキスパートは IDE を使わないでも仕事が速く出来る』という命題は
文字通り解釈出来てしまうから皮肉にならない。

むしろ『中身がツールチップヘルプで表示されるなんて,この上ない
便利さだと思わない?』という表現の方が皮肉っぽいよ。例えば
『中身がツールチップヘルプで表示されるなんて,この上ない便利さ
だと思わない?(見た目に騙される初心者め)』みたいな感じで
解釈可能だからね。『ツールチップヘルプ? ログに残したい時は
どうするのさ。デバッガの使い方くらい覚えた方が良いぜ』みたいに
続けると良い感じかもね。

もしまだ続きがしたいなら >>625 のスレへどうぞ。

630 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:51:40 ]
あ、スマソ。>>624 のスレでした。

631 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 07:54:03 ]
Python書くときはvim、C書くときはEmacsだけど
JavaはEclipse、趣味はDelphiな俺が通りますよ〜。

ぶっちゃけどれもそれぞれ使い安いよ。最高!

632 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 08:37:43 ]
Java/Python/LaTeX → Eclipse
C/C++ → Visual C++
その他 → Emacs

633 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 09:47:11 ]
ログに残したいときはそうすれば良いし、
ツールチップでも見れること何が悪いのか
さっぱりわからんw

ツールチップという見た目に対して文句つけてるの?

634 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 10:07:37 ]
>>633
ツールチップで見られるならそれは便利だろう
でもだからといって、他の難点に目をつぶってIDEを使う気にはなれない
エディタ全体・IDE全体としてどうかという話



635 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 14:15:37 ]
このスレ、スレタイ間違ってる?
IDEのスレなのになんでwxナントカって書いてあるけど…

636 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 14:24:25 ]
wxナントカはもう死にました。

637 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 14:34:12 ]
そっか。じゃあIDEの話で盛り上がっていいんだね?!

638 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:13:18 ]
まずIDEの議論をして、その結果の良いIDEをwxで実現する予定です

639 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:15:18 ]
すみません
wxPython-src-2.8.10.1をインストール死ようとすると
wxWidgetsのコンパイルは性交したらしいのですが
build途中で死ぬんです


640 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:20:35 ]
639 途中でした

src/gtk/_gdi_wrap.cpp: In function ‘PyObject*
_wrap_DC_SetDeviceClippingRegion(PyObject*, PyObject*, PyObject*)’:
src/gtk/_gdi_wrap.cpp:20612: error: ‘class wxDC’ has no member named
‘SetDeviceClippingRegion’
src/gtk/_gdi_wrap.cpp: In function ‘PyObject*
_wrap_GraphicsRenderer_CreateBitmap(PyObject*, PyObject*, PyObject*)’:
src/gtk/_gdi_wrap.cpp:31407: error: ‘class wxGraphicsRenderer’ has no
member named ‘CreateBitmap’


641 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 15:24:22 ]
環境は?
環境設定ミスってないか?

642 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 16:23:13 ]
パッチが出てるみたい

ttp://code.google.com/p/devide/source/browse/trunk/johannes/patches/wxpython28101_gdiwrap.diff

--- wxPython/src/gtk/_gdi_wrap.cpp.orig 2009-08-08 16:26:48.000000000 +0200
+++ wxPython/src/gtk/_gdi_wrap.cpp 2009-08-08 16:32:50.000000000 +0200
@@ -4195,6 +4195,10 @@
     virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble , wxDouble , wxDouble , wxDouble , wxDouble ,
                                   const wxColour &, const wxColour &)  { return wxNullGraphicsBrush; }
     virtual wxGraphicsFont CreateFont( const wxFont & , const wxColour & ) { return wxNullGraphicsFont; }
+
+    // patch required as explained in
+    // groups.google.com/group/wxPython-users/browse_thread/thread/129ba27e2f868c3c?pli=1
+    wxGraphicsBitmap CreateBitmap( const wxBitmap &bitmap ) const { return wxNullGraphicsBitmap; }
 };


643 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 17:59:42 ]
>>642
出来ました
ありがとうございました


644 名前:デフォルトの名無しさん mailto:sage [2009/10/18(日) 22:28:11 ]
ライブラリAPI使いまくりの部分はIDEが断然楽だけど、
自前コードが多いとこは、なれたエディタのほうが軽快かな



645 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 00:09:56 ]
wxWidgetsってネイティブ以外にonGTKとかonX11とか
あるんだからonQtっつーのも有っても良いような気がする


646 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 01:01:32 ]
>>645
同意。

647 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 05:43:27 ]
>>644
なんでIDE vs エディタ論争になるのかぜんぜんわからん。
俺は両方使い分けてる。IDEの外部ツールに使い慣れたエディタ登録
して,エディタ編集したくなった時は起動すれば,現在編集中の行・列
にカーソルがある状態で編集開始できる。
排他制御問題も,IDE側/エディタ側の双方の設定で解決できるし。

...ってそういう話じゃないのか?

648 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 06:10:25 ]
>>647
話の腰を折るな!

649 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 07:34:16 ]
はぁ?
オマエ見当違いすぎ

650 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 08:35:32 ]
いいからどっちも他のスレでやれ

651 名前:デフォルトの名無しさん mailto:sage [2009/10/19(月) 23:15:17 ]
ケンカはやめて(><)

652 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 03:38:19 ]
私のために…

653 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 03:39:02 ]
「赤いきつね」と「緑のたぬき」の具材を強化した新商品が、
コンビニ限定商品として10月19日から販売が始まった。

654 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 09:24:18 ]
私のために?



655 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 11:13:38 ]
争わないで!

656 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 12:05:33 ]
もうこれ以上

657 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 13:15:41 ]
すれ違いの話を

658 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 07:52:30 ]
今、VC++2008でwxWedgetsプログラミングしてるんですけど、
他のパソコンでも実行できるようにしたいんですけど、
どのdllをリンクさせる必要がありますか?
何か教えてください(> <)

659 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 08:17:27 ]
それは使ってるもジールによって変わるから
別のPCでエラーが出なくなるまで
必要なファイルを順番に追加(ry

660 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 08:19:14 ]
これのことじゃね?
Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

661 名前:デフォルトの名無しさん mailto:sage [2009/10/22(木) 18:15:10 ]
wxCodeのwxThingsに含まれるwxSpinCtrlDblが使いたくて,SourceForgeからダウンロードしたら,
やたら古くてコンパイルエラーが出るので,SVNでチェックアウトしたらwxCodeからwxThingsが削除
されてた。でもCVSリポジトリを下記のURLでブラウズすると含まれている。

wxcode.cvs.sourceforge.net/viewvc/wxcode/wxCode/components/wxthings/

なのでSourceForge.jpにユーザー登録してCVSでチェックアウトしようとして,SSHの公開鍵を
登録しようとしたら,シェルアカウント情報:に「どのプロジェクトにも所属していないため、
UNIX シェルアカウントはありません。」と書かれていて登録できない。
SourceForge.netの方にもユーザー登録したけど,やっぱり公開鍵の登録ができない。

CVSからwxThigsをチェックアウトする方法があったら教えてください。

662 名前:661 mailto:sage [2009/10/22(木) 18:20:59 ]

ちなみにpserver経由のAnonymoousログインではパスワードを求められたのでパスワードなし
でログインしようとしたらはじかれた。

663 名前:デフォルトの名無しさん mailto:sage [2009/10/23(金) 01:37:08 ]
>>661
pserverでちゃんと取得できたぜ
やり方間違ってたんじゃないの?
sourceforge.net/scm/?type=cvs&group_id=51305
cvs -d:pserver:anonymous@wxcode.cvs.sourceforge.net:/cvsroot/wxcode login
cvs -z3 -d:pserver:anonymous@wxcode.cvs.sourceforge.net:/cvsroot/wxcode co -P wxCode/components/wxthings


664 名前:661 mailto:sage [2009/10/23(金) 10:16:54 ]
>>663
そのサイトにからコマンドラインをその通りにコピペして実行したんだけど,ログインの段階で
でパスワードを求められて,何も入れずにEnter押すとはじかれる。

Windows XPのコマンドプロンプトでTortoiseCVSに含まれてるcvs.exeでやったんだけど
(PATHを通しておいて),何かまずいのかな?

わざわざ試してくれてありがとう。
「出来た」と言う情報だけでも助かる。昨日はサーバー側に何かあったとか言う可能性もあるし,
コマンドライン版のCVSだけダウンロードしてやってみるとか,幾つか試してみます。



665 名前:661 mailto:sage [2009/10/23(金) 11:24:28 ]
>>663
原因判明。会社のFirewallでCVSのポート(2401)が閉じられてた。
恒久的に開けるには手続が必要で数日かかるとのことなので,一時的にあけてもらって
無事チェックアウト成功。

アリガト。

666 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 00:08:53 ]
wxDev-C++は現在のVer.7.xを最後にDelphiでの開発をやめて、wxWidgets+C++に移植して
新たにwxDevIDEと言う名前で再スタートするらしい。

wxforum.shadonet.com/viewtopic.php?t=25679&highlight=delphi

まだ中身はないけど、既にHPも作成されているし、SourceForgeにも登録されてる。

wxdevide.sourceforge.net/
sourceforge.net/projects/wxdevide/

SourceForgeではSVN上で開発が進められているのがわかる。

今までDelphi 6で開発されてたので、Vista以降のWindowsでは開発環境すら起動しなく
なるだろうからどうするのかなぁと思ってたら、思い切った改革に乗り出した。
建前は「メンテナンスと改良が難しくなったから」と書いてあるが...

wxDev-C++は使いやすいし、All in oneでインストールできる(MinGWや、MinGWと
VC++用のビルド済wxWidgetsライブラリも付いてくる)のでラクチンだけど、Delphi
で開発してると知って尻込みしてたんだが、wxDevIDEが起動に乗ったらWindows上
ではC::Bと戦える(思想は対照的かもしれないけど)強力なRADツールになるかも。
Linuxへの展開も狙ってるみたいなこともチラッと書いてある。

ついでにTDM's MinGWにも対応してくれると嬉しいんだが...
αテスター募集してるみたいだから参加してみようかな...

667 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 13:41:10 ]
既出かもしれませんが、wxTextCtrlで日本語入力(ATOK)中にESCを押すとIME
ではなくダイアログを抜けるので、それまで確定した内容が消えてしまいます。
入力中だった文字はそのままの状態で消えたダイアログの親に行きます。

IME入力中のESCキーがIMEのウィンドウ?に飛ばず下のDialog or TextCtrlに
飛んでいるように見えますがが、回避するにはどこを見たらいいでしょうか。

668 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 14:49:33 ]
うちはそんなことないよ

669 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:04:00 ]
>>667
環境を書かないと。OSもコンパイラもバージョンも何も書いてないんじゃ...


670 名前:667 mailto:sage [2009/10/25(日) 15:33:48 ]
>>669
失礼しました。WindowsXP SP3 / ATOK2008 です。
RapidSVN 0.12.0 のリリース物件なのでコンパイラはちょっとわからないですが、
バージョン情報には wxWidgets 2.8.9 とあります。
Audacity 1.2.5 (wxWindows 2.4.2) の設定ダイアログでも同じことが起きています。

671 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:43:14 ]
ATOK2008

672 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 16:04:43 ]
>>667
IME関係なくESCだけ押してみたけどDialog閉じないよ
自分で書いたコードでなんか拾ってるんじゃないの?

673 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 17:06:11 ]
・何がしたいのか
・現状どうなっているのか
・それに対する自分の意見
・自分の環境は何なのか(OS,CPU,GPU)
・IMEを他のものにして同じ症状があるのかどうか、ないならそのIMEは何なのか。

・可能ならサンプルをアップローダーに。

このくらいは質問するなら情報として欲しいわ。

674 名前:667 mailto:sage [2009/10/25(日) 19:02:54 ]
>671
MS IME 2002 でも同じでした。
Off の状態でも同じ動作をしますが、これは開発者が意図したものだと思います。
>672
ESC キーでダイアログが閉じるのは wxDialog の標準的な動きではないという
ことですか?
このへんを追っかけてみるとCommitDlgがキーボードのイベントを拾っている所は
見つけられなかったんですが、どうでしょうか。
ttp://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/commit_dlg.cpp
ttp://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/rapidsvn_generated.cpp
>673
>何がしたいのか
コミッターでも何でもないですが、RapidSVN で上述のような現象が起きて不便
なので、パッチを投げたいです。



675 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 19:39:58 ]
キャンセルボタンを貼り付けてなければ閉じなかった
デフォルトボタンが拾ってると思う

676 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 10:52:28 ]
>>658
static link で作ればいいと思うよ。
リリース版を、マルチスレッド/DLL じゃなくて、マルチスレッド(/MT)にする。

677 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 10:55:24 ]
>>674
ESCでダイアログが閉じるのはWindowsの基本的な動作。
>>675 が言うとおり、キャンセルボタン(wxID_CANCEL だっけ?)があるとそうなる。
回避したいのであれば、ボタンを標準じゃなくて、自分でwxButtonで作って、
適当な ID を割り振ればいいんじゃないかな?

678 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:27:10 ]
なるほど、未確定中にESC押すと入力文字が消え、その後再度ESC押すとダイアログが閉じるのが
普通の動作だが、RapidSVNは未確定文字のキャンセルとダイアログのクローズが同時に起こるな。

679 名前:658 mailto:sage [2009/10/26(月) 14:56:45 ]
>>676

返信ありがとうございます。
マルチスレッド(/MT)でコンパイルだと一筋縄でいかないようで、
LIBCMT.libを無視するように設定したりしたら、エラーが減ったんですが、最後、

1>リンクしています...
1>xxx.obj : error LNK2001: 外部シンボル ""public: void __thiscall wxStringData::Free(void)" (?Free@wxStringData@@QAEXXZ)" は未解決です。
1>E:\Documents and Settings\xxx\My Documents\Visual Studio 2008\Projects\morphingpot_v1a\Release\xxx.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://e:\Documents and Settings\xxx\My Documents\Visual Studio 2008\Projects\xxx\xxx\Release\BuildLog.htm" に保存されました。
1>xxx - エラー 2、警告 0

のエラーが対処できません。
コンパイルしているのは、サンプルでOpenGLを使ってるプログラム、penginをベースに変更したものです。
しかし、一番簡単なサンプル、minimalでもこのエラーは発生するみたいです。

680 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 15:39:40 ]
>>679
string.cpp 150行目

#if defined(__VISUALC__) && defined(_MT) && !defined(_DLL)
# pragma message (__FILE__ ": building with Multithreaded non DLL runtime has a performance impact on wxString!")
void wxStringData::Free()
{
free(this);
}
#endif

ってなってるから、DLLだとうまくいかないけどstaticリンクなら大丈夫なはず
なんか間違ってない?

681 名前:658 mailto:sage [2009/10/26(月) 18:07:00 ]
>>680
またも返信ありがとうございます。
あれからいろいろありました。

まず、レスについてですが、stringのソースはその通りでした。
それから、staticリンクというのがよくわからないので、
どうすれば良いかよくわからないです。


それと、一応解決しました。
マルチスレッドDLLでコンパイルしたものの、Releaseファイルの中で、
wx_dll.dspをビルドした時に出てきた、
C:\wxWidgets-2.8.10\lib\vc_dllにあるdllファイルを入れたら、
一応動きました。
なんかもう今はとりあえず動けば良いのでこれで良いです。

682 名前:667 mailto:sage [2009/10/27(火) 01:08:50 ]
>675 >677
ESCでID_CANCEL,ENTERでID_OKの動作になるのはWindowsの仕様なんですね。

>678
samples/dialogsの[Entry dialogs][Text entry]で再現しました。(2.8.10 w/ VC2005)

textctrl.cpp の OnKeyDown, OnChar, MSWShouldPreProcessMessage
window.cpp の MSWProcessMessage, MSWShouldPreProcessMessage には
ESC(IME on/off とも)の入力が飛んでこないようです。
どこなら引っ掛けられますかね?

683 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 10:37:38 ]
>>681
それだと MSVCRT(のDLL) がない環境で動かないかも?
/MT で使う場合は wxWidgets のライブラリも /MT でコンパイルしないと駄目だけどやった?

684 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 10:39:56 ]
>>682
確かダイアログの場合は特殊で ESC を雄と WM_COMMAND の ID_CANCEL が
飛んでくるんじゃなかったっけ?
wxWidgets の場合は…なんだっけ、EVT_? マクロを使うんだったかな?



685 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 12:42:25 ]
>>682
IsDialogMessage()あたりだろうと探してたりしてみたけど、結局同じwindow.cppにある
キーボードフックからESCを検出して独自にIDCANCEL送ってるわ。
フック周りをIMEを意識した作りに直さないと無理そう。

686 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 12:46:10 ]
一応送ってるとこ書いとくけど、dlgcmn.cppのwxDialogBase::OnCharHook()で呼んでる
EmulateButtonClickIfPresent(wxID_CANCEL)ね。

687 名前:667 mailto:sage [2009/10/27(火) 13:17:31 ]
みなさんありがとうございます。FEP の On/Off で SetEscapeId() を
かけたら良さそうな気がした(まだ試してない)んですが、msw 以下の
ソースでも wx のヘッダばかり include してますよね。
仮に Imm 系の API を呼ぶようなパッチが作れたとして、wx の本家には
受け入れられないものですか?

688 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 13:42:48 ]
各OS固有の部分はどうする?

689 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 14:54:57 ]
あんまり場当たり的なことはよしたほうが・・・
とりあえず、実験的なコードだけどwindow.cppのwxKeyboardHook()の先頭で

HWND hWnd = GetFocus();
HIMC hIMC = ImmGetContext(hWnd);
BOOL immOpen = FALSE;
if (hIMC)
{
 if (ImmGetOpenStatus(hIMC))
 {
  int size = ImmGetCompositionString(hIMC, GCS_COMPREADSTR, NULL, 0);
  immOpen = (size > 0);
 }
 ImmReleaseContext(hWnd, hIMC);
}
とやって、immOpenがTRUEなら既存のルーチン、FALSEならそのままCallNextHookEx()
呼んだら希望の動きはしたよ。
でもまあ、imm32.libのリンクがいるし、この部分もLoadLibrary()+GetProcAddress()にして
リンク不要にしたらいいかもね。window.cppはWindows固有のコードみたいだしね。

690 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 15:05:00 ]
おっとミス、TRUEとFALSE逆ね、まあわかると思うけど。

691 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 15:53:57 ]
つまり EURT と ESLAF が正解。

692 名前:デフォルトの名無しさん mailto:sage [2009/10/27(火) 16:59:38 ]
>>691
暇人乙

693 名前:658 mailto:sage [2009/10/27(火) 18:17:38 ]
>>683
一応やったけど、違うエラーがいっぱい出てきたので、
よくわかりませんでした。

694 名前:デフォルトの名無しさん mailto:sage [2009/10/28(水) 10:49:43 ]
>>693
違うエラーってどんなのよ。
VC++使ってんだよね?
手順説明すると、Releaseの構成を使うとしたらwxのプロジェクト開いた状態で、
ビルドメニューの構成マネージャ開いてアクティブソリューション構成のとこから
新規作成を選択、名前をMT Release とかにして、設定のコピー元をReleaseにしてOK押して
MT Releaseが選択されてる状態を確認したら、プロジェクトをシフトクリック等で全部選択して
右クリックでプロパティを出して、構成プロパティのC/C++のコード生成のランタイムライブラリを
マルチスレッド(/MT)にしてOK
その後ソリューションのビルドすりゃlibができるよ。




695 名前:デフォルトの名無しさん [2009/10/28(水) 14:28:15 ]
Adobe Source Librariesって使ってる人いる?
stlab.adobe.com/

ちゃんと見てないけど、これってwxWidgetsの代わりになるもんなのかどうだろう?

696 名前:658 mailto:sage [2009/10/29(木) 16:38:29 ]
>>694
何処にも書いてなかった手順ありがとうございます。

しかしですが、
手順どおりやって、
サンプルプログラムminimalをマルチスレッドでコンパイルしたら、
1>wxbase28.lib(dir.obj) : error LNK2001: 外部シンボル ""void __cdecl operator delete(void *)" (??3@YAXPAX@Z)" は未解決です。
とか
1>wxbase28.lib(filefn.obj) : error LNK2019: 未解決の外部シンボル _strstr が関数 "public: __thiscall wxFile::~wxFile(void)" (??1wxFile@@QAE@XZ) で参照されました。
とかのエラーが
合計1740個出てきて、? でした。

前に色々いじったのが悪かった可能性がありますが・・・






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

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

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