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


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

【GUIライブラリ】wxWindowsでのひょーん



1 名前:デフォルトの名無しさん mailto:sage [03/05/06 11:04]
クロスプラットフォームGUIライブラリのwxWindowsについて語りましょう。

本家
 www.wxwindows.org/
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
メルマガ
 www.mag2.com/m/0000108320.htm

1はこれからインストールします

523 名前:デフォルトの名無しさん mailto:sage [03/10/11 03:10]
英語版のPersonal入れてみたけどwxWindowsは入ってなかったしRADも見当たらなかったぞ

524 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/11 10:48]
>>523
まぢ?
とりあえずプロコンが終わったら入れてみよう.

525 名前:デフォルトの名無しさん mailto:sage [03/10/11 22:31]
そういえばBitTorrentもwxWindows/Pythonなんだよね。やけに配布パッケージ大きいと思ったらライブラリが9割以上食ってた

526 名前: mailto:sage [03/10/12 13:14]
> 525

DLLだと全部入りになるからデカいよね。
C++でstatic linkすると随分小さいけど……Pythonじゃ無理か……


527 名前:514 mailto:sage [03/10/12 23:42]
>>514-515 できましたー。
これが正しい方法なのかどうか分かりませんが、
クラス名以外の情報が見えない状態でインスタンスの生成に成功しました。
以下にTipsとして示します。ちょっと長いです。
環境はWindows2000、wxWindows2.4.1です。今週中にLinuxでもやってみます。

1.DLLを用意する。
ヘッダの中身はこんな感じです。キモはDECLARE_USER_EXPORTED_PLUGGABLE_CLASSです。
これによってwxPluginLibraryにwxClassInfoのハッシュマップが宣言されます。

#ifndef MYFRAME_H
#define MYFRAME_H
#include <wx/wx.h>
class MyFrame : public wxFrame {
  DECLARE_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, __declspec(dllexport));
};
#endif

で、"__declspen(dllexport)"はWXDLLEXPORTのように、
DLL側では__declspen(dllexport)、アプリケーション側では__declspen(dllimport)とならなければなりません。
wx/defs.hを見て適宜プリプロセッサで場合分けしてください。
今回はアプリケーション側はMyFrame.hをincludeしないので、このようにしました。

528 名前:514 mailto:sage [03/10/12 23:49]
(続き)MyFrameはexportしなくても良いみたいです。(ひょっとすると必要なのかもしれませんが)

1.DLLを用意する(2)
今度は実装部です。IMPLEMENT_USER_EXPORTED_PLUGGABLE_CLASSを使えばいいのですが、
wxWindows2.4.1のwx/object.hの_IMPLEMENT_DL_SENTINELにバグがあり、コンパイルが通りませんので以下のようにします。
-------------------------------
#include <wx/dynload.h>
#include "MyFrame.h"
#undef _IMPLEMENT_DL_SENTINEL
#define _IMPLEMENT_DL_SENTINEL(name)                             \
const wxString name::name##PluginSentinel::sm_className(#name);                \
name::name##PluginSentinel::name##PluginSentinel() {                     \
  wxPluginLibrary *e = (wxPluginLibrary*) wxPluginLibrary::ms_classes->operator[](#name);  \
  if( e != 0 ) { e->RefObj(); }                               \
}                                               \
name::name##PluginSentinel::~name##PluginSentinel() {                     \
  wxPluginLibrary *e = (wxPluginLibrary*) wxPluginLibrary::ms_classes->operator[](#name);  \
  if( e != 0 ) { e->UnrefObj(); }                              \
}

IMPLEMENT_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, wxFrame);
-------------------------------

ms_classes.Get(#name) となっているところを ms_classes->operator[](#name) と直します。

で、これをDLLとしてコンパイルします。

529 名前:514 mailto:sage [03/10/12 23:57]
(続き)ありゃ、ずれてしまった・・・スマン。
2.DLLを読み込んでインスタンスを生成する
wxPluginManagerを使ってDLLを読み込み、wxClassInfoを全走査して目的のクラスを見つけます。
これは lists.wxwindows.org/cgi-bin/ezmlm-cgi/8/26949 とほとんど同じです。
---------------------------------
#include <wx/wx.h>
#include <wx/dynload.h>
class MyApp : public wxApp {virtual bool OnInit();}; IMPLEMENT_APP(MyApp)
bool MyApp::OnInit() {
  wxPluginLibrary* lib = wxPluginManager::LoadLibrary("./lib/Debug/lib.dll");
  wxNode *node;
  wxClassInfo* classInfo;
  wxClassInfo::sm_classTable->BeginFind();
  node = wxClassInfo::sm_classTable->Next();
  while (node) {
    classInfo = (wxClassInfo *)node->Data();
    if (wxString(classInfo->GetClassName()) == wxT("MyFrame")) {
      wxLogTrace(classInfo->GetClassName());
      wxLogTrace(classInfo->GetBaseClass1()->GetClassName());
      wxFrame* frame = (wxFrame*)classInfo->CreateObject();
      frame->Create(NULL, -1, wxT(wxString("class ") + classInfo->GetClassName() + wxString(" : public ") + classInfo->GetBaseClassName1()));
      frame->Show(TRUE);
      return TRUE;
    }
    node = wxClassInfo::sm_classTable->Next();
  }
  return FALSE;
}
---------------------------------
以上です。

530 名前:514 mailto:sage [03/10/13 03:21]
あの・・・追記です。
DECLARE_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, __declspec(dllexport));
IMPLEMENT_USER_EXPORTED_PLUGGABLE_CLASS(MyFrame, wxFrame);
の代わりに
DECLARE_DYNAMIC_CLASS(MyFrame);
IMPLEMENT_DYNAMIC_CLASS(MyFrame, wxFrame);
でもできちゃいました。。。(じゃあPLUGGABLEは何のためにある??)
>>514-515の原因は分からずじまいです。>>527-528の無駄レスごめん。

531 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/13 17:46]
wxWindows Personal 英語版をインストールしてみました.
確かにwxWindowsの影も形もありません・・・ハァ.

 デモでは新規作成にwxWindowsのタブがあったのに,こっちにはありません.
wxWindowsはどういう形で使えるようになるのかすら判りません.とりあえず
10月半ばのC++BuilderXではwxWindowsは使えなさそう.



532 名前:デフォルトの名無しさん mailto:sage [03/10/14 11:36]
>>523
CBXのどこにRADだと書いてあるのかと小1時間・・・

>>531
某得意のPro版以上とか?

533 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/14 18:16]
>>532
www.borland.com/cbuilderx/tour/C%2B%2BBuilderX%20Turbo%20Demo.htm

 このデモの最後の方ではwxWindowsアプリをRADっぽく作る様子があるんだけど・・・
少なくともPersonal版には無いな.ラインナップ間の機能を比較する表にwxWindowsの
項目が無いから,wxWindowsサポートの有無が差別機能だとも思えない.

 ソッコーでアンインスコして,MinGW Developer Studioをインストールしてみた.
こっちはなかなか良い.何よりめんどくさいwxWindowsのインストールが簡単にできる
ことだけでも十分うれしい.IDE自体もwxWindows製なので動作が軽い.
 他のIDEが使いたいなら,インストールした後wxWindows関連のファイルだけ取り
出してアンインストールするという使い方もアリかも.

534 名前:532 mailto:sage [03/10/14 21:49]
>>533
そのデモ見てなかった。すまん。
ただDelphiでも比較表にVCLソースの有無とか書いてないし。

535 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/15 00:18]
 プロコンも終わったし,ドキュメント書いてからソースを某雑誌の人に
提出したら翻訳に再参戦しようかと思います.

 で,結局C++BuilderXのwxWindows採用の噂以降も翻訳作業は続いて
いるんでしょうか?
 メインの開発環境をノートPCに移行してから,まだCVS入れてないんです.

536 名前:デフォルトの名無しさん mailto:sage [03/10/16 11:02]
>>514-515 と >>527->>530 は全て誤りでした。
間違った情報のまま残しておくとTipsに載った場合にまずいので修正しておきます。

wxPluginLibraryが何をするのかというと、通常の::LoadLibrary,dlopenの動作に加えて、
「wxModuleから派生しているクラスをwxWindowsの型システムにインポートする」
という機能が付加されているという、この一点だけです。
wxPluginManager::LoadLibrary("ライブラリ");を実行するだけでpublic wxModuleなクラスはちゃんと使えます。
public wxModule"以外の"クラスは型システムにインポートされませんので工夫して書く必要があります。

ところでWindowsでなかなかうまくいかなったのですが、その原因は wxClassInfo::sm_first でした。
こいつはプロセス中で唯一であることを保証しなければいけません。
つまりDLLを使うことが必須となります。(スタティックリンクでうまくいくようなアイデアがあれば教えてください)
Linuxでうまくいっていたのは、wxGTK.rpmで入れているため元々共有ライブラリになっていたからでした。

これについては
lists.wxwindows.org/cgi-bin/ezmlm-cgi/8/26949
の P.S.の部分に
>you need to build your app and dll using WXUSINGDLL=1, otherwise you'll have no end of trouble.
とちゃんと書いてありました。(でもこれP.S.なんてもんじゃじゃないだろーと思った)


537 名前:デフォルトの名無しさん mailto:sage [03/10/17 00:15]
>>536
訂正が間違ってるというとんでもないことをしてしまいました。(;´Д`)
> wxPluginManager::LoadLibrary("ライブラリ");を実行するだけでpublic wxModuleなクラスはちゃんと使えます。
> public wxModule"以外の"クラスは型システムにインポートされませんので工夫して書く必要があります。
そんなことないです。wxClassInfoを生成(IMPLEMENT_DYNAMIC_CLASS)すると自動的にインポートされます。
wxModuleを継承したクラスは、メモリにマップ・アンマップされる度にOnInit,OnExitが呼ばれ、
そうじゃないクラスは特に何も起こらない、です。モウカキマセンヽ(`Д´)ノゴメンナサイ

538 名前:デフォルトの名無しさん mailto:age [03/10/17 14:13]
昨日、2.4.2落としたら src/makefile.b32 が付いていないみたいなんですけど、
どうやってlib作ったらいいですか?

539 名前: mailto:sage [03/10/18 11:53]
> 537
お疲れです。

>モウカキマセンヽ(`Д´)ノゴメンナサイ

そんなこと言わずに書き込んでくだされ。
Hackについてけないことが多いですが……


> 538
$(WXWIN)/docs/(システムごとのフォルダ)/install.txt
を見るヨロシ。
コンパイラごとのmakefileを使うか、configureを使うみたいですな。


540 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/18 11:59]
 bcc使ってないから知らないけど,configureは使えないんだよね.bccでは
makefileがないとビルドできないということになると思うけど,使用するmakefileが
変わったのかな?
 MinGW Developer StudioのwxWindows入りバージョンを使ってるから,マトモな
アドバイスが出来なくてスマソ.

541 名前:デフォルトの名無しさん mailto:sage [03/10/18 12:15]
>>539
結局はスタティックリンクするとwxClassInfoのメンバ変数が複数生成されてしまうという
こちら側のしょうもないミスだったのですが、ろくに確認せずに書いてしまって申し訳なく思っとります。
>そんなこと言わずに書き込んでくだされ。
お言葉に甘えて、これからは確実に確認してから書き込みさせていただきます。

>>BCCの話題
いやいや、src/makefile.vcの中身見れば分かるけど、
src/msw/makefile.*を読んでるだけなので、
BCCだとsrc/msw/makefile.b32を使えばいいわけです。
src/makefile.vcをコピってちょっと修正すればOKだと思う。




542 名前:デフォルトの名無しさん mailto:sage [03/10/18 12:21]
×src/makefile.vcをコピってちょっと修正すればOKだと思う。
○src/makefile.vcをコピってちょっと修正してもいいと思う。

543 名前:デフォルトの名無しさん mailto:sage [03/10/18 14:48]
一応今回の件(wxClassInfo,wxDynamicLibrary)についてまとめてみました。
www004.upp.so-net.ne.jp/rcl/program/wxwindows/
転載等は自由にして下さって構いません。

544 名前:538 mailto:sage [03/10/19 02:08]
>>539-542
レスサンクス、とりあえず来週
>src/makefile.vcをコピってちょっと修正
ためしてみます。

545 名前:デフォルトの名無しさん mailto:sage [03/10/19 07:14]
Cygwin環境でいじってみようと、ドキュメントに書いてあるとおりに
../configure --with-msw --enable-debug --enable-debug_gdb --disable-shared
make
でコンパイルしました。

これだと、cygwin1.dllが必要になっていると思うんですが、
cygwin1.dllが必要ないようにするにはどうしたらいいのでしょうか。
-mno-cygwinをどこかで指定するのでしょうか。

546 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/19 08:23]
>>545
specあたりを弄ればいいんじゃない?
でもいろいろ問題があるかもしれないから,↓を読んでから挑戦してね.
www.sixnine.net/cygwin/cygwin-doc/devel/mno-cygwin-howto.html

547 名前:538 mailto:sage [03/10/20 13:32]
>src/makefile.vcをコピってちょっと修正
やってみたら簡単にできました。書き込むほどのことでもないですがとりあえず

!include <makeb32.env>

THISDIR=$(WXWIN)\src

all:
cd msw
make -f makefile.b32
cd $(THISDIR)

clean:
cd msw
make -f makefile.b32 clean
cd $(THISDIR)

cleanall:
cd msw
make -f makefile.b32 cleanall
cd $(THISDIR)


548 名前:538 mailto:sage [03/10/20 13:36]
ためしてみたのは
make -f makefile.b32 FINAL=1
でライブラリを作成して samples\dialogs をメイク、実行ができました。

549 名前:538 mailto:sage [03/10/20 13:52]
というか、
>BCCだとsrc/msw/makefile.b32を使えばいいわけです。
が、正解だったのですね。おさわがせスンマソ

550 名前:デフォルトの名無しさん mailto:sage [03/10/20 13:54]
へえ

551 名前:デフォルトの名無しさん mailto:sage [03/10/25 14:45]
>>546さん
MinGWDSに同梱のwxWindowsライブラリからリソース使えますか?
MinGWからライブラリ作り直さないと無理ですかね・・・



552 名前:デフォルトの名無しさん mailto:sage [03/10/25 15:24]
というか「(゚∀゚)ノ☆バンバン! とりあえずライブラリ全部持ってこーい」ってオプションないのかな
--enable-controls use all usual controls
これは違うみたいだし

553 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/25 21:56]
>>551
 wxWindowsを入れてるPCとMinGWDS入れてるPCが違うので,正確には調べて
いません.

<wx/setup.h>
#define wxUSE_RESOURCES 1
#define wxUSE_PROLOGIO 0
#define wxUSE_WX_RESOURCES 0

 こんな感じでdefineされていますが,とりあえずPROLOGIOが0ということは
.wxr形式のリソースは無理でしょう..rcはいけるんじゃないかな.

#さっさとdialogedをxrcバージョンにしろよ>wxWindows


554 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/25 22:14]
>#さっさとdialogedをxrcバージョンにしろよ>wxWindows
 ちゃんとwxrceditってのがありますね.contribのなかにあるのを「ちゃんと」と
言うかどうかは知りませんけど.
 いまcontrib内のmake中ですが,errorやwarningが沢山出てくる・・・使えないかも.

555 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/25 22:31]
 wxrceditが一応ビルド&実行可能でした.
 使い方が判らないけれど,単にXRC専用xmlエディタにプレビュー機能が
付いたみたいな感じで,RADツールみたくペタペタと貼るのは無理かも.

556 名前:デフォルトの名無しさん mailto:sage [03/10/26 00:16]
>>555
俺使い方良く分からんかった。
あれだと手書きの方が早い気がした。

557 名前:思兼 ◆l3iwkTImVo mailto:sage [03/10/26 06:19]
>>556
 一応,プレビューがサクサク表示されるならあっちの方がデザインしやすい
とは思う.でもまだXRCはお勧めできるものではないね.
 っつーことで,wxr形式のリソースに対応していないMinGWDS付属ライブラリは
使いにくいかも.

 wxWindowsって結構こういう不完全な部分が多いかも.自分で使う分には良いけど,
C++初心者の後輩に使わせるGUIツールキットとしてはgtkmmかFOXの方が良いかも.
 翻訳再参戦は延期してしばらく別のライブラリを触ってみます.

#Windows上でフリーで初心者にも使いやすい開発環境をそろえるのは大変かも.

558 名前: [03/10/26 22:26]
wxListBox終ったなり
wxwindowsjp.sourceforge.jp/docs/html/wx/wx233.htm#wxlistbox

559 名前:デフォルトの名無しさん mailto:sage [03/10/30 15:13]
otsu

560 名前:デフォルトの名無しさん mailto:sage [03/11/03 00:24]
思兼 ◆l3iwkTImVoにも見捨てられた哀れなライブラリ

561 名前: mailto:sage [03/11/03 03:43]
>560
まあ、のんびりいくよ。マターリとな。
使う分にはいいんだが、訳すのは大変。ヒマが作れん。
Wikiみたいのだったらなぁ




562 名前:デフォルトの名無しさん mailto:sage [03/11/03 17:07]
wxFoundationとBorlandの採用がらみでMLは喧喧諤諤でし。


563 名前:デフォルトの名無しさん mailto:sage [03/11/05 07:29]
>>562
wxWindowsがBorlandに採用されるん?

564 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 17:06]
>>563
www.zdnet.co.jp/enterprise/0311/05/epn10.html
 今はWindows版用のプレビュー版プラグインとして提供されて
いる・・・んだと思う.
 将来的にC++BuilderやKylixと統合される時には,完全にクロス
プラットフォームな標準プラグインとなると思いたい.

565 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 17:14]
>>560
 どっちかっていうと,C++自体に愛想が付きかけている気がする.すごく
強力で,プロコンの競技部門には必須だし,それ以外でも自分個人で
使う分にはすごく良い.でも後輩に教えようとすると,プログラミング以外で
覚えないといけない部分があまりにも多いことに気が付く.
 多分,他人と一緒にプログラムを書くときに,個人の能力差が一番問題に
なるのもC++だと思う.

#C#かJavaがガベッジコレクタ&VM無しで動かせるなら,すぐにでも移行したい.

566 名前:デフォルトの名無しさん mailto:sage [03/11/05 17:15]
Rubyだな

567 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 17:19]
>>566
Rubyって起動速い?
値ベースと参照ベースをプログラマが指定できるGenericsがある?
メモリ管理をプログラマが指定できる?
JITコンパイラの最適化能力は高い?

 ブロックは{}の形が見やすくて好きだけど,Rubyがプロコンの競技で十分使える
性能を持っているのなら後輩に教えてみる.

568 名前:デフォルトの名無しさん mailto:sage [03/11/05 17:33]
| ブロックは{}の形が見やすくて好きだけど,Rubyがプロコンの競技で十分使える
|性能を持っているのなら後輩に教えてみる.
と言う位Rubyを分かってるなら前4つの質問の答えは分かると思うが?

569 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 19:15]
>>568
 いや,Rubyのプログラムソースを見たことがあるだけで,実際に使ったことは無い.
 Perlっぽいスクリプト言語だとか,中間コード+JITコンパイルだからPerlより速いとか,
その程度の印象はあるけどそれが正しい理解だと言う自身は無い.

570 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 19:26]
調べてみた.
1.起動速度
 C#より遅い
2.Generics
 無い?(検索してもそれらしいものがヒットせず.リファレンスを概観しても載ってない)
3.メモリ管理
 ガベッジコレクトに任せるしかない.
4.実行速度
 C#にダブルスコアをつけて遅い.

結論
 Perlの代わりにはなっても,C++の代わりになるとは思えない.

571 名前:デフォルトの名無しさん mailto:sage [03/11/05 19:37]
>>570
Rubyはモノタイプ言語なので、genericsは不要。
型チェックが無いので、ミスが許されない競技にはお薦めできないかも?

競技なら、タイピングに手間かけられないだろうから、いくら要件を満たしててもAdaなんかは除外でしょうね。
OCamlとか、どう?(よく知らんけど

C++の機能に満足してて複雑さに愛想が尽きてるならDが一番いいんだろうけど、まだアルファだし。

//スレ違いすまんです



572 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/05 19:56]
>>571
 競技といっても,プログラミング速度を競うのでは無くて,先に作ったプログラムを
持ち寄って性能を競い合うものです.形式としてはロボコンに近い.
www.procon.gr.jp/14th/

#スレ違いすぎだな・・・スマソ

573 名前:デフォルトの名無しさん mailto:sage [03/11/05 20:18]
>>565
GCなしネイティブでC系といったら、D言語ですよ。
genericsもあるし、値・参照の使い分けも、メモリ管理も出来る。
pc2.2ch.net/test/read.cgi/tech/1003674814/l50

難点は、D言語がデフォルトのGUIライブラリを持っていないこと。
wxWindowsがポートされると嬉しいんだけど。

574 名前:デフォルトの名無しさん mailto:sage [03/11/05 21:53]
>>573
D言語はGC付きだよ。オフにすることもできるけどさ。
まぁ、でも、D言語は俺も期待。思想にちょっと不満はあるが。
文字列とか連想配列とかはライブラリに入れて欲しいかな、やっぱり。

575 名前: mailto:sage [03/11/05 23:59]
>565
Templateみたいな仕組みのある言語があれば、そっちも勉強したいなあ。
コンパイル時に確定している情報と実行時じゃないと確定しない情報という観点で
効率化を計っている言語はC++以外に知らないしなぁ。


576 名前:デフォルトの名無しさん mailto:sage [03/11/06 08:38]
Eiffelとかどうなんだろう?

577 名前:デフォルトの名無しさん mailto:sage [03/11/06 19:38]
どんな言語にせよ、メジャーになってもらわないと仕事に使えないのが辛い。
メジャーじゃなくても仕事に使える、というつっこみはなしで。

578 名前:デフォルトの名無しさん mailto:sage [03/11/07 03:17]
まずは使ってメジャー化させてくださいw

579 名前:デフォルトの名無しさん mailto:sage [03/11/07 23:01]
>>574
全体的に禿同

580 名前:デフォルトの名無しさん mailto:sage [03/11/07 23:46]
連想配列は同意だが、文字列に関しては、そのまま文字列に使える配列というのは嫌いじゃ無い、
というか、素のCだってそうだし。
文字列をクラスにした場合、C++のように、リテラルからの格納形式への変換というコストと、
様々な文字列クラス乱立という混乱を招くので、組み込みで正解と思うし、
charの配列とそれ以外の配列を区別する必然性は無いので、OKかと

むしろ問題は.sort。同じデータ列でも並び方は色々あるのに、一種類だけ言語に組み込む理由が…
//スレ違いゴメン

581 名前:デフォルトの名無しさん mailto:sage [03/11/10 05:20]
>>580
見た感じ、標準ではクラスを使わず、データと関数を分離して使う方向で行ってるね。
ここんところがC的だが、Cより安全になってるようだからいいか。
でも、わざわざ配列操作のために演算子作ったり、deleteを連想配列の要素削除に使ったり。
うーん、普通に関数じゃダメなんかな。~ってタイプしにくいぞ。関数のがいいよ……。



582 名前:デフォルトの名無しさん mailto:sage [03/11/12 23:55]
凄いスレだ・・・翻訳プロジェクトが動いてる・・・
このスレの神に習ってFLTK日本語ドキュメントでも作っちゃおうかねぇ・・・

583 名前: mailto:sage [03/11/13 01:12]
>582

ちょっと停滞中だよ。私も今しばらくはTikiの勉強中……
でも、いい加減飽きたから翻訳に戻ろうかな……

584 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/18 16:51]
 さっきCマガジンを立ち読みしてきた.
 C++BuilderXの紹介記事があって,Borlandへのインタビューもあった.
 wxWindowsは,将来搭載される予定のGUI関連の機能のプレビューと
して搭載されただけで,wxWindowsの採用が決定しているわけではない
とのこと.

 とりあえず,wxWindows3が大幅に使いやすくなって,C++BuilderXへの
採用されて,一気にメジャー化という夢はまだ残ってる.

585 名前:デフォルトの名無しさん [03/11/18 21:43]
そ、そうなのか。
なんだったんだ。

586 名前:デフォルトの名無しさん mailto:sage [03/11/18 21:44]
夢見すぎ。

587 名前:デフォルトの名無しさん [03/11/18 22:23]
1月にwxWindowsで遊だときは日本語の情報なんてほとんどなかったのに。
ちょっとだけマニュアルを日本語に訳してすぐ挫折した。
すごいよ2ch

そのとき作ったページの一部を編集して6月くらいにアップしてほったらかし。
このスレ見たら元気になったので、更新する気力が湧いてきそう。
www.h3.dion.ne.jp/~k5_n/wxwin/index.html

588 名前:デフォルトの名無しさん mailto:sage [03/11/22 02:52]
GTK,gtkmmでいいじゃん。



589 名前:思兼 ◆l3iwkTImVo mailto:sage [03/11/22 06:53]
>>588
 gtkに比べて,wxWindowsはネイティブのLook'n'Feelだとか,多機能だという
違いがある.
 特に機能に関しては,Write once, Compile anywhereを実現するために,
API依存を吸収するラッパクラスが多数存在する.

 その代わりgtkmmに比べて泥臭いコードになるんだけどね(w.wxWindows3に
期待.

590 名前:デフォルトの名無しさん mailto:sage [03/11/22 16:29]
おれも、gtkやQtなどを使ってしまうことに賛成。
どうしても、windowsの操作感を求めるなら、外部だけ作り直してしまった方がいい。

591 名前:デフォルトの名無しさん mailto:sage [03/11/22 21:23]
逆にGTKやQtはwxWindowsに比べてどんな利点があるの?



592 名前:デフォルトの名無しさん mailto:sage [03/11/23 11:44]
www.roebling.de/default.html
どうよ?

593 名前:デフォルトの名無しさん mailto:sage [03/11/27 20:04]
2.4.2で、メッセージカタログをShift_JISで作るとちゃんと使えないみたい。
UTF-8では使えたので、内部での変換でしくってるのか?
2.4.0ではちゃんと使えてたのに……。


594 名前:◆v/.u/aNe9w [03/12/09 01:29]
wxColour と 標準イベント識別子 を翻訳してくれた素敵さん。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx63.htm
wxwindowsjp.sourceforge.jp/docs/html/wx/wx446.htm
ありがのう。


あと、この辺に突っ込んでくれる人がいると誰かが幸せになりそうな気がします。
dot-gray.s33.xrea.com/index.xcg?page=MinGW%A4%D8%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB
dot-gray.s33.xrea.com/index.xcg?page=wxRuby%A5%CD%A5%BF

595 名前:デフォルトの名無しさん [03/12/09 18:31]
$B$9$_$^$;$s!"$I$J$?$+65$($F2<$5$$!#(B
$B2?$+D9$$=hM}$r$9$k;~$K!"=hM}$r$7$F$$$k$"$$$@$K(BWindow$B$H$+$,:FIA2h$5$l$J$/$J$C$F(B
$B$7$^$&$N$G$9$,!"$3$l$r=hM}$NESCf$K:FIA2h$5$l$k$h$&$K$7$?$i$I$&$7$?$iNI$$$G$7$g$&$+!#(B
$B%a%$%s%U%l!<%`$N(BRefresh(), Raise(), Update()
$B$H$+$r8F$Y$PNI$$$N$+$H;W$C$?$N$G$9$,!"(B
$B$=$l$G$O:FIA2h$5$l$J$$$h$&$G!D!#(B
GUI$B$N%=%U%H:n$C$?;v$J$s$FKX$IL5$$$N$G$I$N$h$&$J%-!<%o!<%I$G8!:w$7$?$iNI$$$N$+$bJ,$+$i$:!"(B
$B$I$J$?$+%]%$%s%H$@$1$G$bNI$$$N$G65$($F2<$5$$(Bm(_ _)m


596 名前:595 [03/12/09 18:50]
すみません、どなたか教えて下さい。
何か長い処理をする時に、処理をしているあいだにWindowとかが再描画されなくなって
しまうのですが、これを処理の途中に再描画されるようにしたらどうしたら良いでしょうか。
メインフレームのRefresh(), Raise(), Update() とかを呼べば良いのかと思ったのですが、
それでは再描画されないようで…。
GUIのソフト作った事なんて殆ど無いのでどのようなキーワードで検索したら良いのかも分からず、
どなたかポイントだけでも良いので教えて下さいm(_ _)m
すみません>>595バケました。


597 名前:デフォルトの名無しさん mailto:sage [03/12/09 19:02]
先人は0.1秒以上かかる処理をメインスレッドでやるなと言っていたが。

598 名前:デフォルトの名無しさん mailto:sage [03/12/09 19:25]
要するに0.1秒未満で実行できるハードウェアを使えということか。

599 名前:デフォルトの名無しさん mailto:sage [03/12/10 03:18]
マルチスレッド

600 名前:デフォルトの名無しさん mailto:sage [03/12/10 18:04]
>>597
0.1秒未満の処理に分割しろって事ですな

601 名前:デフォルトの名無しさん mailto:sage [03/12/11 17:14]
wx494.htm によると,マルチスレッドにする他の選択として,演算を
idle handler にするか,定期的に ::wxYield() (wxApp::wxYield())を
呼んで画面を更新してください,と書いてあります.
wxYield は,プログレスバーや splashscreen を更新する時によく使われます.
ためしてみてください.



602 名前:596 mailto:sage [03/12/16 14:21]
>>601
ありがとうございました。さらに安全な::SafeYield()を使うことでそれなりに目的が達成されそうです。
また、
>>597, 599
やはり途中で中止とかもできるようにしたいので、将来的にはマルチスレッドにもしようと思います。
ご指導ありがとうございました。

ちなみに wxMDIChildFrame::GetParent() って wxGTK だと wxMDIClientWindow を返して、 wxMSWだと
wxMDIParentFrame() を返すんですね。コレにハマっていたので、御礼兼メモとして書かせて頂きます。


603 名前:◆v/.u/aNe9w mailto:sage [03/12/20 23:20]
AkiYunタンありがつー。
wxwindowsjp.sourceforge.jp/docs/html/wx/wx411.htm

604 名前:デフォルトの名無しさん [03/12/21 14:39]
どんどんあげていこう

605 名前:デフォルトの名無しさん mailto:sage [03/12/21 22:56]
じゃぁ、さげ

606 名前:デフォルトの名無しさん mailto:sage [03/12/22 01:09]
>>602
GetParentでクライアントウィンドウ返さるのっておかしくねぇ?
バグかな。

607 名前:デフォルトの名無しさん mailto:sage [03/12/25 16:47]
翻訳はここに書き込んでいいのかな?

wxWindows Hello World サンプル の一文目は、

多くの人から、文法や基本的な原理に関する幾らかの迅速な判断が出来るように、
ここに小さなサンプルを示して欲しい、という要求をされてきたが、あなたは今、
wxWindows における"Hello World" を見ることが出来る。

って感じでしょうか。幾分堅いかな。


608 名前:デフォルトの名無しさん mailto:sage [03/12/28 22:50]
Borland の C++ BuilderXに,wxWindows用のパッケージがありました.

A technology preview of a RAD designer for the wx framework and of a
100% ANSI/ISO C++ compliant compiler for Windows x86 For use with
C++BuilderX Personal and C++BuilderX Enterprise Trial

だそうです.


609 名前:思兼 ◆l3iwkTImVo mailto:sage [03/12/29 00:16]
>>608
 それ,ダウンロードしたPersonal版にはついてなかったんだよな・・・.
 Borlandの中の人によると,まだwxWindowsに正式に決めたわけでは
無いらしい.

610 名前:デフォルトの名無しさん mailto:sage [03/12/29 01:24]
>>609
あくまで,_A technology preview_ですから.
でも,Borlandのサイトからダウンロードできるようになってました.

611 名前:& ◆iFNZlc1izc [03/12/29 11:51]
>>607
ありがつー。直してきました!



612 名前:デフォルトの名無しさん [03/12/31 17:13]
初心者ですみません。教えてください。
wxWindowsをダウソしてインクルードファイルのパス
を通したのですが、wx/setup.hがないと叱られてサンプルが
コンパイルできません。
で、自作の空のsetup.hをつくってwxフォルダに入れてみたのですが
ダメなのですがどうすればいいでしょうか?

613 名前:デフォルトの名無しさん [03/12/31 17:16]
>>612
Windowsの検索機能でsetup.hを探しましたか?

614 名前:デフォルトの名無しさん mailto:sage [03/12/31 17:19]
>>613
レスありがとうございます。
探したのですが、#include wx/setup.h
になっていてwxにはないのです。
wx/unix/setup.hとかはあるのですが。。。

615 名前:デフォルトの名無しさん mailto:sage [03/12/31 17:21]
>>614
CategoryList - Let's wxWindows
dot-gray.s33.xrea.com/index.xcg?page=CategoryList

616 名前:614 mailto:sage [03/12/31 17:55]
>>615
レスどうもです。
今読んでいるのですが、後ほど報告させていただきますね。
ありがとうございます。。。

617 名前:614 mailto:sage [03/12/31 23:33]
レス遅れてすみません。
うまくいきました。
wx/msw/setup.hをwxフォルダにコピーしたらいけました。
どうもです〜。。。

618 名前:デフォルトの名無しさん mailto:sage [04/01/01 00:21]
まさかinclude/wxにコピーしたのか?
もしそうだったら、そんな変なことせずに lib/msw???/ をインクルードパスに追加せーよ。

619 名前:614 mailto:sage [04/01/01 00:29]
>まさかinclude/wxにコピーしたのか?
そうです(TT)
>もしそうだったら、そんな変なことせずに lib/msw???/ をインクルードパスに追加せーよ。
だってソース中で、#include wx/setup.h ってなってるんですもん(TT)


620 名前:デフォルトの名無しさん [04/01/01 01:03]
今年はwxWindowsがメジャー化しますように

621 名前:デフォルトの名無しさん mailto:sage [04/01/01 02:38]
>>619
>だってソース中で、#include wx/setup.h ってなってるんですもん(TT)
そりゃそうだよ。
lib/msw???/wx/setup.h
にビルドに対応したsetup.hが入ってるんだから。
lib/msw???/をインクルードパスに追加したら、#include <wx/setup.h>で
lib/msw???/wx/setup.hが読み込まれるだろ?



622 名前: mailto:sage [04/01/01 03:20]
あけおめ

>619
VCでのインストール手順はここです(引越しました)。
www.fiercewinds.net/programming/wxWindows/index.html

VC使ってるなら参考にしてください。


623 名前:デフォルトの名無しさん mailto:sage [04/01/01 06:09]
wxmsw242d.dllのサイズが26.7Mもあるんですが
もっと小さくできませんか?






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

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

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