とにかくdat落ち必死なこの話題をどうかひとつ。
関連スレ:
【GUIライブラリ】wxWindowsでのひょーん
http://pc2.2ch.net/test/read.cgi/tech/1052186697/
探検
【C++】マイナーGUIツールキット
■ このスレッドは過去ログ倉庫に格納されています
NGNG
464デフォルトの名無しさん
2008/11/10(月) 07:58:51 『組み込みGUI(ウィンドウ・システム)環境の設計と実装』って本
読んだことある人います? おもしろい?
読んだことある人います? おもしろい?
465デフォルトの名無しさん
2008/11/10(月) 08:11:08466デフォルトの名無しさん
2008/11/10(月) 13:35:58467デフォルトの名無しさん
2008/11/10(月) 15:47:24 >>464
フレームバッファ直描きでウィンドウシステムを作る本だよ。
OSを作ったりとか、LinuxでXを使わないGUIを作ったりとか、
そういうことに興味がある人には面白いと思う。
Windowsアプリを作るのにはほとんど参考にならない。
フレームバッファ直描きでウィンドウシステムを作る本だよ。
OSを作ったりとか、LinuxでXを使わないGUIを作ったりとか、
そういうことに興味がある人には面白いと思う。
Windowsアプリを作るのにはほとんど参考にならない。
468デフォルトの名無しさん
2008/11/10(月) 21:28:35 一つずつ
>>451
>つまりmovとpushくらいは3分でわかるはず。
mov・・・ジスタやメモリに、データの転送を行う
push・・・スタックにデータを積む
>そのスタックをどこで戻すかの違いがstdcallとcdecl。
このことでいいのかな?
ttp://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-055.html
>ECX
レジストリと
こんな場所がある、程度でいいのかな?
>>451
>つまりmovとpushくらいは3分でわかるはず。
mov・・・ジスタやメモリに、データの転送を行う
push・・・スタックにデータを積む
>そのスタックをどこで戻すかの違いがstdcallとcdecl。
このことでいいのかな?
ttp://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-055.html
>ECX
レジストリと
こんな場所がある、程度でいいのかな?
469デフォルトの名無しさん
2008/11/10(月) 21:32:35470デフォルトの名無しさん
2008/11/10(月) 21:34:28471デフォルトの名無しさん
2008/11/10(月) 22:41:30472デフォルトの名無しさん
2008/11/11(火) 17:08:05 WindowsXP SP2のDEPでATLのThunkが問題になってたような気がするんだけど、
あれは何でなんだろ?
あれは何でなんだろ?
473デフォルトの名無しさん
2008/11/11(火) 17:22:32 >>472
ウィルス等がバッファオーバーフローでヒープに不正コードを埋め込むことの対策として
ヒープのコードを実行できなくしたのがDEP。
ATLではサンクをHeapAlloc領域でやっていたため引っ掛かることになった。
今のATLはVirtualAllocでPAGE_EXECUTE_READWRITEで確保するため問題ない。
ウィルス等がバッファオーバーフローでヒープに不正コードを埋め込むことの対策として
ヒープのコードを実行できなくしたのがDEP。
ATLではサンクをHeapAlloc領域でやっていたため引っ掛かることになった。
今のATLはVirtualAllocでPAGE_EXECUTE_READWRITEで確保するため問題ない。
475デフォルトの名無しさん
2008/11/13(木) 03:52:36 おまえら!
言いたいのをガマンしてるなら、代わり俺が言ってやるよ!
あくまでもおまえらの代弁だからな!俺が言いたいワケじゃないんだからな!
なるほど、わかりやすい説明Thunkです。
言いたいのをガマンしてるなら、代わり俺が言ってやるよ!
あくまでもおまえらの代弁だからな!俺が言いたいワケじゃないんだからな!
なるほど、わかりやすい説明Thunkです。
476デフォルトの名無しさん
2008/11/13(木) 07:05:21 さみぃw
477デフォルトの名無しさん
2008/11/17(月) 23:11:46 こんな方法どうやって勉強しました?
478デフォルトの名無しさん
2008/11/18(火) 22:33:44 >>477
Windows 3.1の頃(15年前)からプログラム作ってたら嫌でも身に付く
Windows 3.1の頃(15年前)からプログラム作ってたら嫌でも身に付く
479デフォルトの名無しさん
2008/11/19(水) 18:52:55 class window
{
public:
static window *m_this;
static LRESULT CALLBACK StartWindowProc(HWND, UINT, WPARAM, LPARAM); //スタートアップ
static LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); //本命
HWND SetHandle(HWND hwnd);//ウインドウハンドルを設定する
void Create();//ここでクリティカルセクションを設定してCreateWindowを呼ぶ
}
window *m_this;
LRESULT CALLBACK window::StartWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
window *pThis = window::m_this;
window::m_this = NULL;
//ここでクリティカルセクションを取り除く
::SetProp(hwnd, _T("THISCLASS"), (HANDLE)pThis);
pThis->SetHandle(hwnd);
::SetWindowLongPtr(hwnd, GWL_WNDPROC, (LONG)window::WindowProc);
return window::WindowProc(hwnd, msg, wParam, lParam);
}
かなりふざけた方法だけど...
俺はこんな感じでやってる...
{
public:
static window *m_this;
static LRESULT CALLBACK StartWindowProc(HWND, UINT, WPARAM, LPARAM); //スタートアップ
static LRESULT CALLBACK WindowProc(HWND, UINT, WPARAM, LPARAM); //本命
HWND SetHandle(HWND hwnd);//ウインドウハンドルを設定する
void Create();//ここでクリティカルセクションを設定してCreateWindowを呼ぶ
}
window *m_this;
LRESULT CALLBACK window::StartWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
window *pThis = window::m_this;
window::m_this = NULL;
//ここでクリティカルセクションを取り除く
::SetProp(hwnd, _T("THISCLASS"), (HANDLE)pThis);
pThis->SetHandle(hwnd);
::SetWindowLongPtr(hwnd, GWL_WNDPROC, (LONG)window::WindowProc);
return window::WindowProc(hwnd, msg, wParam, lParam);
}
かなりふざけた方法だけど...
俺はこんな感じでやってる...
480デフォルトの名無しさん
2008/12/01(月) 20:53:23 何となく、自分も昔作ったGUIを晒してみようとサンプル動かしてみたら、
リストビューを拡張して作ろうとしたらしいGridViewがいきなりバグってた。
出直してきます。orz
リストビューを拡張して作ろうとしたらしいGridViewがいきなりバグってた。
出直してきます。orz
481デフォルトの名無しさん
2009/01/12(月) 01:32:46482デフォルトの名無しさん
2009/01/28(水) 13:05:32 保守あげ
483デフォルトの名無しさん
2009/01/31(土) 16:42:03 ATLを使うと勝手に各アーキテクチャごとにthunk作ってくれる。
使い方は↓のようなかんじです。
class HogeWindow {
ATL::CStdCallThunk thunk;
HWND hWnd;
static LRESULT CALLBACK redirect(T* object, UINT msg, WPARAM wParam, LPARAM lParam) {
return object->WindowProcedure(msg, wParam, lParam);
}
LRESULT WindowProcedure(UINT m, WPARAM w, LPARAM l) {
(処理)
}
HogeWindow() {
(HWNDを作る)
thunk.Init((DWORD_PTR)redirect, this);
SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)thunk.GetCodeAddress());
}
};
使い方は↓のようなかんじです。
class HogeWindow {
ATL::CStdCallThunk thunk;
HWND hWnd;
static LRESULT CALLBACK redirect(T* object, UINT msg, WPARAM wParam, LPARAM lParam) {
return object->WindowProcedure(msg, wParam, lParam);
}
LRESULT WindowProcedure(UINT m, WPARAM w, LPARAM l) {
(処理)
}
HogeWindow() {
(HWNDを作る)
thunk.Init((DWORD_PTR)redirect, this);
SetWindowLongPtr(hWnd, GWL_WNDPROC, (LONG_PTR)thunk.GetCodeAddress());
}
};
484デフォルトの名無しさん
2009/03/21(土) 03:51:43 SOL9をVC++2008SP1で試してみた。
>c:\usr\include\sol\window.h(68) : error C2664: 'GetClassNameW' : 2 番目の引数を 'char *' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
(面倒だから全部は乗せない)
こんなエラーが大量に出てきた。
これって、VC++2008SP1では使えないのか?
>c:\usr\include\sol\window.h(68) : error C2664: 'GetClassNameW' : 2 番目の引数を 'char *' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
(面倒だから全部は乗せない)
こんなエラーが大量に出てきた。
これって、VC++2008SP1では使えないのか?
485デフォルトの名無しさん
2009/03/21(土) 07:50:26486デフォルトの名無しさん
2009/03/22(日) 02:27:38487デフォルトの名無しさん
2009/03/22(日) 02:29:43 SOL9って何?
Solaris9??
Solaris9??
488デフォルトの名無しさん
2009/03/22(日) 02:34:23489デフォルトの名無しさん
2009/03/22(日) 15:53:22 使いやすいのない?
490デフォルトの名無しさん
2009/05/20(水) 19:07:36 ほしゅ
491デフォルトの名無しさん
2009/07/10(金) 06:59:47 Qt LGPL版が出ました。
492デフォルトの名無しさん
2009/07/19(日) 07:23:32 gtkmm一択
493デフォルトの名無しさん
2009/07/19(日) 13:17:11 >>491
10 年前にその選択をしてればな…
10 年前にその選択をしてればな…
494デフォルトの名無しさん
2009/08/04(火) 21:50:27 マイナー用のこのスレで聞くのもどうかと思うけど、
OSSプロジェクトで一番使われているマルチプラットフォーム対応の
C++ GUIツールキットってどれでしょうか?
wxWidgetsとQtはどっちの方が使われてるのかな?
OSSプロジェクトで一番使われているマルチプラットフォーム対応の
C++ GUIツールキットってどれでしょうか?
wxWidgetsとQtはどっちの方が使われてるのかな?
495デフォルトの名無しさん
2009/08/08(土) 08:10:43 fltk
496デフォルトの名無しさん
2009/08/09(日) 13:16:20 今からクロス開発するならQtのほうがよさげ。
497デフォルトの名無しさん
2009/08/09(日) 13:31:27 >>496
できれば理由も聞きたい
できれば理由も聞きたい
498デフォルトの名無しさん
2009/08/09(日) 14:18:48 Qtのほうが作りやすい。API綺麗だし開発ツールも充実してるから。この辺さすが商用は強い。
wxは古臭さ複雑さを隠し切れんな。元がMFCを参考にしているからな。もう限界だろ。
個人的にQPLか高い商用ライセンスがキライだっただけで
今QtをLGPLで使えるなら選択しない理由はあまりないな。
wxの強みはドマイナーなOS環境まで考慮されてることだけど、別にそこまで使わんしw
wxは古臭さ複雑さを隠し切れんな。元がMFCを参考にしているからな。もう限界だろ。
個人的にQPLか高い商用ライセンスがキライだっただけで
今QtをLGPLで使えるなら選択しない理由はあまりないな。
wxの強みはドマイナーなOS環境まで考慮されてることだけど、別にそこまで使わんしw
499デフォルトの名無しさん
2009/08/09(日) 19:49:08 Qtは微妙な独自色がなければ最高なのに。qmakeとかLinguistとかWindowsのUIとか。
500デフォルトの名無しさん
2009/08/14(金) 20:53:50 500
501デフォルトの名無しさん
2009/09/05(土) 08:41:35 Lily C++ GUI Library
ttp://kengolab.net/lily/lily_download.html
windows専用らしい
ttp://kengolab.net/lily/lily_download.html
windows専用らしい
502デフォルトの名無しさん
2009/09/09(水) 10:32:56 >windows専用らしい
イミネーwww
イミネーwww
503デフォルトの名無しさん
2009/09/09(水) 17:37:53 仮にただのMFCラッパーだとしても、使い勝手がよければそこに意味はあるはずだ
あとこのスレって別にマルチプラットフォーム限定ってわけでもないっしょ?
あとこのスレって別にマルチプラットフォーム限定ってわけでもないっしょ?
504デフォルトの名無しさん
2009/09/09(水) 20:51:20 ぺたぺた貼れるなら、使い勝手うんぬん言えるが、できないじゃんwwwww
505デフォルトの名無しさん
2009/09/12(土) 16:58:33 ペロッ
この味は・・・PHPer!
この味は・・・PHPer!
506本田
2009/09/26(土) 17:53:33 Object Windows Library
Inprise/Borland
http://cc.codegear.com/partners/bcb5/exclusive/object_windows_library/index.html
This release of the Object Windows Library is based on the OWL 5.4
release and is denoted as OWL 5.5.
It has been ported to Borland C++Builder 5 by Yura Bidus, author of OWLNExt.
It includes source code and debug and release libraries of, OWL, BIDS and OCF.
Inprise/Borland
http://cc.codegear.com/partners/bcb5/exclusive/object_windows_library/index.html
This release of the Object Windows Library is based on the OWL 5.4
release and is denoted as OWL 5.5.
It has been ported to Borland C++Builder 5 by Yura Bidus, author of OWLNExt.
It includes source code and debug and release libraries of, OWL, BIDS and OCF.
507本田
2009/09/27(日) 12:40:46 >>506
~ OWLNext project home ~
http://owlnext.sourceforge.net/
~ About OWLNext ~
http://owlnext.sourceforge.net/about.html
Advantages of using OWLNext:
* OWLNext is an object-oriented framework, built on top of the Windows API without adding much overhead.
* OWLNext is pure C++ library, which does not use any vendor- or compiler- specific extensions.
* OWLNext fully supports developing Unicode applications.
* OLE, OCX and ActiveX support (server and consumer)
* OWLNext can be used with wide range of C++ compilers. Currently it is tested with
o CodeGear Developer Studio 2007 and 2009
o Borland Developer Studio 2006
o Borland C++ Builder 6.0
o Borland Free C++ Compiler 5.5
o Borland C++ 5.01/5.02
o Microsoft Visual C++ 2003, 2005, 2008
o Microsoft Visual C++ 6.0
Also in the past it has been working with Borland C++ Builder 1.0-5.0, Microsoft Visual C++ 5.0 and GCC and has been ported to Linux using WINE
* OWLNext offers easy upgrade path for porting legacy OWL applications to modern compilers and operating systems.
* OWLNext is open-source project, it's based on contributions and directions from it's community
~ OWLNext project home ~
http://owlnext.sourceforge.net/
~ About OWLNext ~
http://owlnext.sourceforge.net/about.html
Advantages of using OWLNext:
* OWLNext is an object-oriented framework, built on top of the Windows API without adding much overhead.
* OWLNext is pure C++ library, which does not use any vendor- or compiler- specific extensions.
* OWLNext fully supports developing Unicode applications.
* OLE, OCX and ActiveX support (server and consumer)
* OWLNext can be used with wide range of C++ compilers. Currently it is tested with
o CodeGear Developer Studio 2007 and 2009
o Borland Developer Studio 2006
o Borland C++ Builder 6.0
o Borland Free C++ Compiler 5.5
o Borland C++ 5.01/5.02
o Microsoft Visual C++ 2003, 2005, 2008
o Microsoft Visual C++ 6.0
Also in the past it has been working with Borland C++ Builder 1.0-5.0, Microsoft Visual C++ 5.0 and GCC and has been ported to Linux using WINE
* OWLNext offers easy upgrade path for porting legacy OWL applications to modern compilers and operating systems.
* OWLNext is open-source project, it's based on contributions and directions from it's community
508デフォルトの名無しさん
2009/09/27(日) 13:03:16 何だ、クロスプラットフォームじゃないのか…
509デフォルトの名無しさん
2009/09/27(日) 13:47:44 クロスプラットフォームとかいらんだろ
510デフォルトの名無しさん
2009/09/27(日) 16:06:52 クロスプラットフォームじゃなかったら何の意味が?
511デフォルトの名無しさん
2009/09/27(日) 20:08:34 WINEで動けば充分
> has been ported to Linux using WINE
> has been ported to Linux using WINE
512本田
2009/09/27(日) 20:39:01 >>508
Object Windows Library
http://en.wikipedia.org/wiki/Object_Windows_Library
In 1993 Borland launched Borland C++ 2.0 for OS/2 which included a version of OWL 2.0.
OWL 2.0 used BIDS, the newer template library for 'container' or 'class library'.
In January 1994 Borland launched Borland C++ 4.0 for Windows which also included OWL 2.0.
It added Doc/View support, VBX controls, OLE. Win16, Win32s and Win32 was supported
(Windows 95, the Win32 successor of Windows 3.x appeared in August 1995).
Late in 1994, Novell CEO Raymond Noorda resigned.
Novell expansion plans were reconsidered,
AppWare development was stopped and so was OWL for AppWare.
In 1995 a group of original team members bought AppBuilder.
In the same year, Software UNO (www.uno.com) offered a commercial port for OWL 2.0,
to several platforms:
AIX 3.2.5, DEC Alpha OSF/1, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x, and SVR4 fox x86,
it was called WM_MOTIF.
Object Windows Library
http://en.wikipedia.org/wiki/Object_Windows_Library
In 1993 Borland launched Borland C++ 2.0 for OS/2 which included a version of OWL 2.0.
OWL 2.0 used BIDS, the newer template library for 'container' or 'class library'.
In January 1994 Borland launched Borland C++ 4.0 for Windows which also included OWL 2.0.
It added Doc/View support, VBX controls, OLE. Win16, Win32s and Win32 was supported
(Windows 95, the Win32 successor of Windows 3.x appeared in August 1995).
Late in 1994, Novell CEO Raymond Noorda resigned.
Novell expansion plans were reconsidered,
AppWare development was stopped and so was OWL for AppWare.
In 1995 a group of original team members bought AppBuilder.
In the same year, Software UNO (www.uno.com) offered a commercial port for OWL 2.0,
to several platforms:
AIX 3.2.5, DEC Alpha OSF/1, HP-UX 9.03, Linux 1.2, Solaris 2.x, Sun OS 4.1.x, and SVR4 fox x86,
it was called WM_MOTIF.
513デフォルトの名無しさん
2009/09/27(日) 20:46:20 >>512
引用するなら翻訳しろカス
引用するなら翻訳しろカス
514デフォルトの名無しさん
2009/09/27(日) 20:46:37 10年以上昔の話とか、WINEでポーティングされているとか…
515本田
2009/09/27(日) 20:58:13 >>514
【レビュー】
Linux版一太郎と新しいATOKを試す
http://journal.mycom.co.jp/articles/2005/02/03/justlin/002.html
Windows版そのままの「一太郎 for Linux」
一太郎 for Linuxは、Win32 APIと互換のバイナリ実行環境をLinux上に実現する「WINE」を利用して動作する。
LinuxネイティブのELFバイナリではなく、
Windows PEバイナリの形で提供されるWindows用アプリケーションだ。
付属のインストーラ(シェルスクリプト)では隠蔽されていたが、
wineコマンドから直接インストーラ(SETUP.EXE)を起動したところ、
そのまま「一太郎2004のセットアップ」と題されたウィザード形式のダイアログが表示された。
【レビュー】
Linux版一太郎と新しいATOKを試す
http://journal.mycom.co.jp/articles/2005/02/03/justlin/002.html
Windows版そのままの「一太郎 for Linux」
一太郎 for Linuxは、Win32 APIと互換のバイナリ実行環境をLinux上に実現する「WINE」を利用して動作する。
LinuxネイティブのELFバイナリではなく、
Windows PEバイナリの形で提供されるWindows用アプリケーションだ。
付属のインストーラ(シェルスクリプト)では隠蔽されていたが、
wineコマンドから直接インストーラ(SETUP.EXE)を起動したところ、
そのまま「一太郎2004のセットアップ」と題されたウィザード形式のダイアログが表示された。
516デフォルトの名無しさん
2009/09/27(日) 21:00:40 4年以上昔の話とか、WINEでポーティングされているとか…
517デフォルトの名無しさん
2009/09/27(日) 21:12:41 >>515
それもどうかと思うけど、完成品とライブラリを一緒くたにするとか…
それもどうかと思うけど、完成品とライブラリを一緒くたにするとか…
518デフォルトの名無しさん
2009/10/02(金) 16:39:07519デフォルトの名無しさん
2009/10/23(金) 12:27:33 Win32++について「GUIがむずかしすぎる」スレから引っ越してきたヨ
>66 名前: 60 Mail: sage 投稿日: 2009/10/21(水) 14:38:51
>Win32++の翻訳文書を公開した。
>
>・Win32++概要
> http://www.h6.dion.ne.jp/~machan/win32pp/overview.txt
>
>Windowsプログラミングは未経験なので、不適切だったり誤っている箇所があると思う。
>特に、リバーコントロール(Rebar Control)/メッセージの反射(Message Reflection)/
>CWndオブジェクト/WndProc関数に関連した部分は、無理矢理に訳した感がある。
>Win32 APIに詳しい住人さん達からのツッコミに期待。
>66 名前: 60 Mail: sage 投稿日: 2009/10/21(水) 14:38:51
>Win32++の翻訳文書を公開した。
>
>・Win32++概要
> http://www.h6.dion.ne.jp/~machan/win32pp/overview.txt
>
>Windowsプログラミングは未経験なので、不適切だったり誤っている箇所があると思う。
>特に、リバーコントロール(Rebar Control)/メッセージの反射(Message Reflection)/
>CWndオブジェクト/WndProc関数に関連した部分は、無理矢理に訳した感がある。
>Win32 APIに詳しい住人さん達からのツッコミに期待。
520デフォルトの名無しさん
2009/10/26(月) 07:36:35521デフォルトの名無しさん
2009/10/26(月) 14:34:43 sage
522デフォルトの名無しさん
2009/11/03(火) 18:15:47523デフォルトの名無しさん
2009/11/03(火) 18:21:49524デフォルトの名無しさん
2009/11/03(火) 18:24:12 >>522
Last updated May 13, 2007
Last updated May 13, 2007
525本田
2009/11/04(水) 00:38:57526デフォルトの名無しさん
2009/11/04(水) 00:51:02 C++BuilderみたいにGUIでパーツを配置していけるライブラリって
何がありますか?
何がありますか?
527デフォルトの名無しさん
2009/11/04(水) 18:33:28 >>526
あなたが求めているのは,単なるGUIデザイナじゃなくて,IDEと一体になったいわゆるRADツールだよね?
(例えばフォームの上にボタンをGUIデザイナ上で配置しておいてダブルクリックすると,ボタンをクリックした
時のイベントルーチンのスケルトンが自動的に作成されて,後は中身を書けばいいってヤツ)
それだとWindows上のC++で俺の知ってる限りだと,QtとwxWidgets(両方ともマイナーじゃないけど)。
QtならQt CreatorというRADツールがあるし,wxWidgetsならCode::Blocks,DialogBlocks(有料),wxDev-C++,
VisualWxとRADツールはいろいろある。
WideStudioって日本製のもあるけど,デバッグがIDEのエディタ上ではできなくて(そもそもエディタは内蔵してなくて
外部エディタを使う),コマンドラインデバッガでやるってのが痛い。
あとUltimate++ってのもインストールしてみたけど,使い方がさっぱりわからなかった。
俺みたいな短気なアホには向いてないようだ。
どれがいいかは自分で評価するしかないと思うけど,俺はQt+Qt Creatorか,wxWidgets+Code::Blocksが
良いと思う。それぞれ別スレがあるので覗いてみたら?
俺もC++ Builderの将来に不安を抱いてて,いろいろ評価してるから気持ちはわかるなぁ。
あなたが求めているのは,単なるGUIデザイナじゃなくて,IDEと一体になったいわゆるRADツールだよね?
(例えばフォームの上にボタンをGUIデザイナ上で配置しておいてダブルクリックすると,ボタンをクリックした
時のイベントルーチンのスケルトンが自動的に作成されて,後は中身を書けばいいってヤツ)
それだとWindows上のC++で俺の知ってる限りだと,QtとwxWidgets(両方ともマイナーじゃないけど)。
QtならQt CreatorというRADツールがあるし,wxWidgetsならCode::Blocks,DialogBlocks(有料),wxDev-C++,
VisualWxとRADツールはいろいろある。
WideStudioって日本製のもあるけど,デバッグがIDEのエディタ上ではできなくて(そもそもエディタは内蔵してなくて
外部エディタを使う),コマンドラインデバッガでやるってのが痛い。
あとUltimate++ってのもインストールしてみたけど,使い方がさっぱりわからなかった。
俺みたいな短気なアホには向いてないようだ。
どれがいいかは自分で評価するしかないと思うけど,俺はQt+Qt Creatorか,wxWidgets+Code::Blocksが
良いと思う。それぞれ別スレがあるので覗いてみたら?
俺もC++ Builderの将来に不安を抱いてて,いろいろ評価してるから気持ちはわかるなぁ。
528デフォルトの名無しさん
2009/11/04(水) 20:17:00 GTK+のGladeは?
529デフォルトの名無しさん
2009/11/04(水) 23:30:39530デフォルトの名無しさん
2009/11/05(木) 00:35:35531デフォルトの名無しさん
2009/11/05(木) 07:57:30 >>529
GTK+はC言語専用じゃないよ。
いろんな言語のバインディングがあって、C++用のもの(gtkmm)もある。
と言いつつ、GTK+とかGladeは興味があるだけでまだやってないから
GUIデザイナ/RADのことはわかんない。スマソ
GTK+はC言語専用じゃないよ。
いろんな言語のバインディングがあって、C++用のもの(gtkmm)もある。
と言いつつ、GTK+とかGladeは興味があるだけでまだやってないから
GUIデザイナ/RADのことはわかんない。スマソ
532デフォルトの名無しさん
2009/11/05(木) 13:27:42 >>529
wxWidgets (wxPython) + XRCed
wxWidgets (wxPython) + XRCed
533527
2009/11/05(木) 14:48:06 >>532
wxPython+XRcedは面白そう。小さなアプリならいいかもね(何気にPython好きだったりする俺)。
出来上がったらpy2exeで実行ファイルにしてしまう手もありそうだし。
ただXRCedってXRCを出力するからC++にも使えるけど、C++ではRADツールにはなり
得ないんじゃないの? もう一つC::BみたいなIDEを組み合わせると似たようなことは出来るのかな...
wxPython+XRcedは面白そう。小さなアプリならいいかもね(何気にPython好きだったりする俺)。
出来上がったらpy2exeで実行ファイルにしてしまう手もありそうだし。
ただXRCedってXRCを出力するからC++にも使えるけど、C++ではRADツールにはなり
得ないんじゃないの? もう一つC::BみたいなIDEを組み合わせると似たようなことは出来るのかな...
534デフォルトの名無しさん
2009/11/05(木) 15:26:07 >>533
CodeBlocks + wxWidgets + XRCed
CodeBlocks + wxWidgets + XRCed
536デフォルトの名無しさん
2009/11/05(木) 17:42:30 GTKの事情は知らんけど、フツーはRADの吐いたコードは手でいじらず、
継承するなりラップするなりで、実装とデザインを分離するのでわ。
継承するなりラップするなりで、実装とデザインを分離するのでわ。
537デフォルトの名無しさん
2009/11/05(木) 18:35:20 そういうアプローチを取るツールもあるけど(Code::Blocks+wxFormBuilderとか),
一般的にRADツールといったら,実装とデザインを分離せず,マニュアルで書いたコード
を壊さずにGUIのデザインとコードの実装をシームレスにできるものを指すと思ってるんだが。
Visual Basic,C++ Builder/Delphi,VC++ .NET,wxDev-C++,CodeBlocks+wxSmith(内蔵),
Qt+Qt Creator...みんなそうだよ。
そうじゃないヤツはIDE+GUIデザイナだと思ってる。
なんか全然マイナーなGUIツールキットの話になってないな。
つーか,RADツールまで出来ると,メジャーになっていくんだろうな。
一般的にRADツールといったら,実装とデザインを分離せず,マニュアルで書いたコード
を壊さずにGUIのデザインとコードの実装をシームレスにできるものを指すと思ってるんだが。
Visual Basic,C++ Builder/Delphi,VC++ .NET,wxDev-C++,CodeBlocks+wxSmith(内蔵),
Qt+Qt Creator...みんなそうだよ。
そうじゃないヤツはIDE+GUIデザイナだと思ってる。
なんか全然マイナーなGUIツールキットの話になってないな。
つーか,RADツールまで出来ると,メジャーになっていくんだろうな。
538デフォルトの名無しさん
2009/11/05(木) 19:21:27 マイナーGUIツールキットって、Wikipediaにも載ってないようなものじゃないの?
539デフォルトの名無しさん
2009/11/05(木) 20:59:54 eric4
540デフォルトの名無しさん
2009/11/05(木) 22:54:33 マイナー杉るだろ……
541デフォルトの名無しさん
2009/11/06(金) 01:17:20 むしろ未だにUIデザイナの吐いたコード直接弄るのタイプのはレガシーな感じがするんだが。
まあ一応GTK+系でもMonoDevelop + Stetic GUI Designerがその「RAD系」だった希ガス。
まあ一応GTK+系でもMonoDevelop + Stetic GUI Designerがその「RAD系」だった希ガス。
542デフォルトの名無しさん
2009/11/06(金) 08:26:48 まぁ,どう思おうと勝手だが,歴史的にみるとそうじゃないな。
MicrosoftもVC++のMFCではできなかったものが,VC++ .NETやC#でできるようになったし,
QtなんかQt Designer(GUIデザイナ)しかなかったんだが,Qt Creatorが生まれたのは
今年のこと。
GUIデザイナの吐いたコードを直接弄ると,後でGUI変更したときにせっかく書いたコードが
上書きされると思ってるんじゃないの?
MicrosoftもVC++のMFCではできなかったものが,VC++ .NETやC#でできるようになったし,
QtなんかQt Designer(GUIデザイナ)しかなかったんだが,Qt Creatorが生まれたのは
今年のこと。
GUIデザイナの吐いたコードを直接弄ると,後でGUI変更したときにせっかく書いたコードが
上書きされると思ってるんじゃないの?
543デフォルトの名無しさん
2009/11/06(金) 08:51:40 541じゃないけど
ボタンがあってそれのクリック時のコードを書いてたとき
そのボタンそのものを削除したらコードはどうなるの?
ボタンがあってそれのクリック時のコードを書いてたとき
そのボタンそのものを削除したらコードはどうなるの?
544デフォルトの名無しさん
2009/11/06(金) 09:51:47 全部試したわけじゃないけど,少なくともC++ Builder,Qt Creator,Code::Blocks(wxSmith)だと
ボタンをクリックしたときのイベントハンドラの中味を記述した状態でボタンを削除しても,
コードはそのまま残るよ。ヘッダーファイル上では,ボタンのクラスのインスタンスポインタは
消えるけど,イベントハンドラ関数の宣言はそのまま残ってるし,.cppファイル上での
関数の実装もそのまま。
例えばボタンの種類を変えたいとき(文字だけのボタンからアイコンつきのボタンに代えた時)など
に配慮してるんだと思う。後で交換したボタンのクリックイベントルーチンとしてそのまま使える
ように。
ボタンをクリックしたときのイベントハンドラの中味を記述した状態でボタンを削除しても,
コードはそのまま残るよ。ヘッダーファイル上では,ボタンのクラスのインスタンスポインタは
消えるけど,イベントハンドラ関数の宣言はそのまま残ってるし,.cppファイル上での
関数の実装もそのまま。
例えばボタンの種類を変えたいとき(文字だけのボタンからアイコンつきのボタンに代えた時)など
に配慮してるんだと思う。後で交換したボタンのクリックイベントルーチンとしてそのまま使える
ように。
545本田
2009/11/12(木) 06:45:42546デフォルトの名無しさん
2009/11/20(金) 00:50:23 ttp://www.assembla.com/wiki/show/cppgui/
547デフォルトの名無しさん
2009/11/28(土) 20:19:35 Visual Studio 2005 で使えて、swing のような感じでお手軽にGUI を作成できるライブラリィってないでしょうか?
548デフォルトの名無しさん
2009/11/30(月) 04:34:12 .NET Framework
549デフォルトの名無しさん
2009/12/28(月) 20:41:11 >>547
俺はVC8でwxWidgets使ってるよ。サイザーとか手軽だよ
俺はVC8でwxWidgets使ってるよ。サイザーとか手軽だよ
550デフォルトの名無しさん
2010/01/08(金) 16:01:11 保守
551デフォルトの名無しさん
2010/02/16(火) 18:44:53 最近のFLTKは1.3の更新ばっかりで2.0は停滞しているなぁ
大きな問題に直面してるわけではないが
成熟もしていないのが・・・
大きな問題に直面してるわけではないが
成熟もしていないのが・・・
552デフォルトの名無しさん
2010/03/06(土) 16:18:00 fltk2はフォーラムでも「過去のバージョン」扱いだな
trunkなのにbranchとはこれいかに
1.3に移行するか
それとも1.3の修正を2.0にバックポート(?)するか
あるいはもう別のツールキットに乗り換えるか
trunkなのにbranchとはこれいかに
1.3に移行するか
それとも1.3の修正を2.0にバックポート(?)するか
あるいはもう別のツールキットに乗り換えるか
553デフォルトの名無しさん
2010/03/07(日) 06:14:16 うがー
fltk1.3をubuntu9.10で使おうとしたら日本語が入力できん。
ファイルから読み込んで表示はできるが、
ibus-anthyから入力しようとすると文字化けする。
せっかくパッケージにある1.1じゃなくて1.3を入れたのに。。。。
fltk1.3をubuntu9.10で使おうとしたら日本語が入力できん。
ファイルから読み込んで表示はできるが、
ibus-anthyから入力しようとすると文字化けする。
せっかくパッケージにある1.1じゃなくて1.3を入れたのに。。。。
554デフォルトの名無しさん
2010/03/07(日) 17:11:08555553
2010/03/07(日) 19:44:08 >>554
xtermにもfirefoxにも入力できるから、ximは動いてると思ってた。
やってみたけど駄目だった。
日本語入力がonにできないんじゃなくて文字化けするってのが、
どういう状況なのかわからない。
XIMプロトコルでは文字コードどうなってるの?
ibusが悪いのかとscim入れてそっちを使ってみたけど駄目。
fltk2.0いれてみたらdemoアプリでは入力できた。
が、APIが全然違うので目的のコードを動かすには相当な変更が必要そうだ。
fltk2.0 と fltk1.3 で、どこが違うのか比較するかな。
xtermにもfirefoxにも入力できるから、ximは動いてると思ってた。
やってみたけど駄目だった。
日本語入力がonにできないんじゃなくて文字化けするってのが、
どういう状況なのかわからない。
XIMプロトコルでは文字コードどうなってるの?
ibusが悪いのかとscim入れてそっちを使ってみたけど駄目。
fltk2.0いれてみたらdemoアプリでは入力できた。
が、APIが全然違うので目的のコードを動かすには相当な変更が必要そうだ。
fltk2.0 と fltk1.3 で、どこが違うのか比較するかな。
556553
2010/03/07(日) 21:00:14 printfしてみたら、そもそもXから来る文字コードがUTF-8じゃなさげ。
setlocale関係かなと思ったけど、差はないっぽいな。うーむ。
setlocale関係かなと思ったけど、差はないっぽいな。うーむ。
557553
2010/03/09(火) 23:53:34 fltk2.0も環境によっては入力できないみたい。
あんまり時間をかけられないので、俺は諦めます。
誰か解決してくれるとうれしいなぁ。
Fox-toolkitは日本語が入力できるんだろうか?
あんまり時間をかけられないので、俺は諦めます。
誰か解決してくれるとうれしいなぁ。
Fox-toolkitは日本語が入力できるんだろうか?
558デフォルトの名無しさん
2010/04/21(水) 02:12:07 ttps://svn.boost.org/svn/boost/sandbox/guigl/
559デフォルトの名無しさん
2010/05/15(土) 00:10:23 質問です。
自作のプログラミング言語処理系に組み込むのに向いているGUIツールキットを探しています。
ただ、その言語処理系の制限上、コールバックをする事ができません。
つまり、[その言語]->[C or C++]->[その言語]という呼び出しは行えません。
この問題を回避できるツールキットをご存知の方はいらっしゃいませんか?
自作のプログラミング言語処理系に組み込むのに向いているGUIツールキットを探しています。
ただ、その言語処理系の制限上、コールバックをする事ができません。
つまり、[その言語]->[C or C++]->[その言語]という呼び出しは行えません。
この問題を回避できるツールキットをご存知の方はいらっしゃいませんか?
560デフォルトの名無しさん
2010/05/16(日) 01:25:01 どういう使い方をしたいのかがさっぱり判らん
561デフォルトの名無しさん
2010/05/16(日) 19:20:55 イベントループをその言語から呼んではいかんということだな。
その言語はイベントループ手前で一旦終了、
Cの方でイベントループを呼び出す。
コールバックは毎回君言語を実行する形。とするのかな。
その言語はイベントループ手前で一旦終了、
Cの方でイベントループを呼び出す。
コールバックは毎回君言語を実行する形。とするのかな。
562559
2010/05/19(水) 23:12:46 一度終了して、後から呼ぶのも(不可能ではないですが)難しいです。
継続をサポートしているため、559の制限が発生していて、
一度終了し、イベント内で再開した場合も、同様に継続をサポートできません。
Windowsに話を絞ると、Windowsの標準メッセージループは次のようなのだと思います。
while (GetMessage(&msg,NULL,0,0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
この3つの関数呼び出しをまとめた、ProcessMessage関数を作り、
bool ProcessMessage(){
if(!GetMessage(&msg,NULL,0,0)) return false;
TranslateMessage(&msg); DispatchMessage(&msg); return true;
}
これを私の言語から、
while ProcessMessage() do
hogehoge()
end
のように使えば動くと思います。この場合、C側のイベントハンドラは発生したイベントをQueueに入れて、俺言語の中でそれを取り出して使う事になると思います。
Windows以外にも対応したいので、このような形を取れる、ツールキットはないでしょうか?
継続をサポートしているため、559の制限が発生していて、
一度終了し、イベント内で再開した場合も、同様に継続をサポートできません。
Windowsに話を絞ると、Windowsの標準メッセージループは次のようなのだと思います。
while (GetMessage(&msg,NULL,0,0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
この3つの関数呼び出しをまとめた、ProcessMessage関数を作り、
bool ProcessMessage(){
if(!GetMessage(&msg,NULL,0,0)) return false;
TranslateMessage(&msg); DispatchMessage(&msg); return true;
}
これを私の言語から、
while ProcessMessage() do
hogehoge()
end
のように使えば動くと思います。この場合、C側のイベントハンドラは発生したイベントをQueueに入れて、俺言語の中でそれを取り出して使う事になると思います。
Windows以外にも対応したいので、このような形を取れる、ツールキットはないでしょうか?
563デフォルトの名無しさん
2010/05/21(金) 14:59:44 >>559
もし実装言語がCなら、標準ライブラリのsetjmp/longjmpを使って、
インタプリタ側とコールバック関数側をコルーチンの形式で
交互にジャンプさせることで、擬似的な並行処理を実現するんだろうね。
もちろんジャンプバッファ(jmp_buf)は2個必要になる。
Rubyのスレッド(平行処理)も、インタプリタ内部ではスレッド単位に
ジャンプバッファを持って、スレッドのコンテキストを管理してる。
以下は、RHG(Ruby Hacking Guide)の該当する章へのリンク。
・ttp://www.loveruby.net/ja//rhg/book/thread.html
もし仮想マシンで実行しているなら、(setjmp/longjmpに相当する)
実行コンテキストを保存/復帰させる命令を仮想マシンの仕様に追加する。
というか、開発中の言語処理系が「ホントウ」に継続(countinuation)を
サポートしているなら、継続で互いのコンテキストを切り替え続ければいいはずなんだが....
もし実装言語がCなら、標準ライブラリのsetjmp/longjmpを使って、
インタプリタ側とコールバック関数側をコルーチンの形式で
交互にジャンプさせることで、擬似的な並行処理を実現するんだろうね。
もちろんジャンプバッファ(jmp_buf)は2個必要になる。
Rubyのスレッド(平行処理)も、インタプリタ内部ではスレッド単位に
ジャンプバッファを持って、スレッドのコンテキストを管理してる。
以下は、RHG(Ruby Hacking Guide)の該当する章へのリンク。
・ttp://www.loveruby.net/ja//rhg/book/thread.html
もし仮想マシンで実行しているなら、(setjmp/longjmpに相当する)
実行コンテキストを保存/復帰させる命令を仮想マシンの仕様に追加する。
というか、開発中の言語処理系が「ホントウ」に継続(countinuation)を
サポートしているなら、継続で互いのコンテキストを切り替え続ければいいはずなんだが....
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に [蚤の市★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★3 [ぐれ★]
- ゼレンスキー氏、NATO加盟断念に言及 ドイツで米代表団と [蚤の市★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 【音楽】カイリー・ミノーグ 最新シングル「XMAS」のミュージックビデオ公開 [湛然★]
- 「婚活中の男女の8割以上が婚活疲れ」続ければ続けるほど蟻地獄にハマる必然とは? ★2 [ぐれ★]
- パナソニック、ほぼ全て20%値上げ… ありがとう高市早苗 働いて働いて働いてまいります [667744927]
- 高市早苗、病気か?ろれつ回らず上手く喋れずwwwwww [153490809]
- 名古屋にビュッフェが無くてつらい
- 土曜か日曜の朝にやってる番組「ローカル番組に中山秀征が飛び入りで参加します!」←これ
- (´;ω;`)まぜのっけごはんが食べたいのにすき家がない!!!
- (財務)片山さつき『サナエノミクス💕』開始。「所得、経済、税収全てが上がる夢のような政策」 [153490809]
