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


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

【C++】マイナーGUIツールキット



1 名前:デフォルトの名無しさん mailto:sage [03/10/09 00:41.net]
とにかくdat落ち必死なこの話題をどうかひとつ。

関連スレ:
【GUIライブラリ】wxWindowsでのひょーん
pc2.2ch.net/test/read.cgi/tech/1052186697/

411 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:26:28 .net]
MFCみたいなこれって何語っていうようなカスもあるお。

412 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:58:39 .net]
Windowsで初心者なら.NET一択じゃね
ウンコウンコ言われながらも、情報量が圧倒的過ぎる

413 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:06:46 .net]
情報量は圧倒だが、アウトプットのアプリは皆無。

414 名前:デフォルトの名無しさん [2008/06/16(月) 13:28:18 .net]
>>413
俺もそれ不思議。

「delphiで作った有名ソフトって何があるの?」に対抗して
「.NETで作った有名ソフトって何がある?」スレないのかな?

415 名前:デフォルトの名無しさん [2008/06/16(月) 13:32:49 .net]
.NET(C#,C♯,C#)で作られた有名なアプリって何?
pc11.2ch.net/test/read.cgi/tech/1213590713/

立てました

416 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:37:21 .net]
一番好きなプログラミング言語は?
itpro.nikkeibp.co.jp/article/OPINION/20080528/304478/

プログラマに対象を絞って聞いた「一番好きなプログラミング言語」は,「C/C++」(24%)が最も多く,
「Visual Basic(VB)」(20%),「COBOL」(13%)と続いた(図2)。企業の基幹システムに浸透しつつあるJavaや,
Webアプリケーション関連で使われることの多いスクリプト言語は,上位3位までに食い込むことができなかった。


C/C++  24%
VB6.0   20%
COBOL  13%
Java    9%
Perl/PHP 7%
C#     2%  ← m9(^Д^)プギャー


一番好きな言語と対比する格好で「最もよく使っているプログラミング言語」も聞いてみたが,
ここでは「C/C++」と「VB」の順位が逆転,「VB」が一位だった。

417 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:56:13 .net]
C#はいい言語だと思うんだがなぁ…
.NETじゃくネイティブコードコンパイラなければもっと使ってるのに…
COBOL(13%)ってのはITPro(というか日経)の読者層を反映しすぎてる気がする

418 名前:デフォルトの名無しさん [2008/06/19(木) 23:55:15 .net]
ここにも貼っておく
ttp://torjo.com/egui/

419 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 00:45:15 .net]
VB6.0にCOBOLが2〜3位って、時代に取り残されたおっさん確定だろ
そんな奴らにC#の良さが分かるとは思えないw



420 名前:デフォルトの名無しさん [2008/08/10(日) 06:46:14 .net]
>>419
4番目にJavaはともかく、5番目にPerl/PHPだもんなw

421 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 08:56:54 .net]
GC.AddMemoryPressureが追加されるまでのC#は実用にならないゴミだったから仕方が無い

422 名前:デフォルトの名無しさん [2008/08/11(月) 04:31:35 .net]
>>417
海外だとC#で書いたものが多くなってますよね
日本じゃまだ目新しすぎてついて行けないだけじゃないかなぁ
C/C++が一番多いのは納得だけど、VB6が20%なのは厨房SE/PGが多い日本ならでわかと。

423 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 07:57:16 .net]
Delphiがその他のどのくらいの割合なのかが気になる上に
VB6.0て分けるぐらいならC/C++も分けるべきだったろに。

424 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 20:01:01 .net]
>>422
厨房がVB6なんて知ってるわけねえだろ。

425 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 08:25:15 .net]
>>424
はぁ?リアル池沼乙。


426 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 10:38:25 .net]
>>422の言葉が悪いな
厨房じゃなくてオッサンなだけなんだよ
>>416の調査のメインの対象が

>回答者の年齢構成は,40才代が最も多くて39.4%,続いて30才代が34.8%,
>50才以上が19.3%,20才代が6.2%だった

という年齢層分布で察しる

427 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:05:28 .net]
gtkmm

428 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 00:03:40 .net]
だれか、使いやすいのを作ってくれ

429 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:59:18 .net]
>>426
でも20代なんてカネ稼いでない層だろ。
仕事でも無いのにプログラムを書くような人間が多い時代でもないだろ。

今の20代が10年後に何を好むのかは気になるけどな。



430 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:25:07 .net]
>>429
> でも20代なんてカネ稼いでない層だろ。
え?
現役で「プログラマ」をやってるのは圧倒的に20〜30代が多い、でしょ?
少なくとも日本では。

業界にもよるが、基本的にプログラマは下っ端の兵隊で、高級なデベロッパが
ほとんど存在しないという文化だからね。


431 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 02:22:15 .net]
>>430
20代。
いわゆるプログラマではほとんどカネが稼げない現実もあるだろうなぁ。

稼げないと好きになんてならないだろうに。

432 名前:デフォルトの名無しさん [2008/09/06(土) 02:59:58 .net]
脱しようと今起業しているがなかなかプログラムだと稼げないね
今年入った収入は1万8千円
受注仕事やるといいんだろうが、起業している意味ないしなあ

433 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 03:16:16 .net]
1万8千円って俺の月収より低いな

434 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 10:49:21 .net]
携帯ゲームあたりだろうか

435 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 23:25:16 .net]
WTL

436 名前:デフォルトの名無しさん [2008/11/07(金) 23:19:54 .net]
自作してみたいんだが、どうすればいい?

環境は WindowsXP で VC2008EE

437 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 01:28:14 .net]
既存APIのラッパーを作ることから始めてはどうか

438 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 01:31:14 .net]
質問する段階なら、APIの薄いラップのみでいいんじゃない
物足りなくなったら、他のツールキットがどういうアーキテクチャになってるか
調べて取り入れるとか

あと、オレオレライブラリの類は、演習と割り切って作らないと前に進むのが遅くなるよ
結局、既存のツールキットを使ったほうが便利な場面も多いし
ってこのスレで言うことじゃないなw

439 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 01:33:29 .net]
ボタンもリストも基本はWindow。その辺はググれば出てくる。
多くの人間が通る道として、それらをC++でラップしたコントロールを作る。
そしてメソッドで対応するのが面倒になり、GetHwnd()とか作ってごまかして終了する。

VC2008EEで生産性を追及してGUIを自作したいなら、個人的には
ResEditとかフリーのリソース作成ツールが吐き出したソースを
サポートする形にするのが良いかと。



440 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 17:29:15 .net]
ふむ、アドバイスdクス
まず、ラッパからやってみるよ。

できたら晒しにくるよ。

441 名前:デフォルトの名無しさん [2008/11/08(土) 22:08:18 .net]
ラッパやってみたけど、うまくいかない。。orz
アドバイスくれorz

www.geocities.jp/hoge12make/
置き場を↑にする

442 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 22:30:22 .net]
メンバ関数名にまでWindowは付けなくていい。
あとメッセージループもメンバ関数にしたらどうだろう。
エラーの原因はポインタの扱いだから、
その辺復習しながら作るといいよ。

443 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 23:43:45 .net]
久しぶりにネット繋いだらVC++6.0に怒濤のごとく更新入った

444 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 23:53:16 .net]
>>442

アドバイス有難う。
うまく表示できた。


さて、ウィンドウの表示はできた。

次は、
LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
の中でしているのをどうするかだ。。。

ここで、メッセージループをしているのをどうにかしたい。
じゃないと、ラッパを作る意味がないきがする。

445 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:13:01 .net]
>>444
WindowインスタンスごとにVirtualAllocで確保した領域に
ECXにthisを入れてメンバのWndProcに飛ぶコードを動的生成して
それをRegisterClassExでコールバックとして渡しておく。
そうすればWindowsが直接メンバ関数を呼んでくれるようになる。
あとはそれをOnXXXとかのvirtualなハンドラに飛ばして、
必要に応じて外部に委譲させておけばおk。

446 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:47:00 .net]
>>445

ググって、VirtualAllocこれが何かはわかった。
(呼び出し側プロセスの仮想アドレス空間に領域を確保)

が、そのほかの部分がわからない。

もうちょっと噛み砕いてお願いしたい。

447 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 02:04:48 .net]
とりあえず他でやって欲しい。

448 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 02:05:45 .net]
マイナーGUI(ラッパか・・・)作ってるからいいんじゃね?

449 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 02:27:18 .net]
>>446
君がどういうレベルかわからないと説明は難しい。
stdcallとcdeclは知っている?
clのABIはthiscallでECXにthisが入るのは知っている?



450 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 02:41:11 .net]
私のレベルは、簡単なものならAPIをガリガリでモノを作れる。
MFCは使ったことなし。

>stdcallとcdeclは知っている?
これは名前は知っている。

>clのABIはthiscallでECXにthisが入るのは知っている?
これは、知らない。
cl・・・コンパイラ?
ABI・・・アプリケーション・バイナリー・インターフェイス?
thiscall ≒ cdecl?
ECX・・・アセンブリは全く知らない

つまり、アセンブリを知らないとできないってこと?orz



451 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 03:14:18 .net]
>>450
アセンブリと言っても別に難しい知識は必要ない。
C言語が使えるんなら、レジスタとスタックの操作、
つまりmovとpushくらいは3分でわかるはず。

そして引数がスタックに積まれることが理解できれば良い。
そのスタックをどこで戻すかの違いがstdcallとcdecl。
インスタンスメソッドに対してはインスタンスが引数として扱われる。
それがcl(VC++のコンパイラ)ではECXで渡されるということ。
ちなみにgccだと第一引数としてスタックに積まれる。
こういう呼び出し規約のことをABIと呼ぶ。

なぜこんな知識が必要か?
それはインスタンスメソッドに対してコールバックさせるため。
実際にATLではこの方法が使われている。
ハッシュで済ませるんなら必要ないんだけど、
外部に委譲させるときに悩むことになる。

452 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 03:23:19 .net]
ふと疑問に思って昔作ったGUIクラスをひっぱりだして覗いてみたら

SetWindowLong( hWnd, GWL_USERDATA, (int)this );
みたいな感じのを使ってた。ハンドルと32bitデータを関連付けられるらしい。
で、Windowプロシージャで
GetWindowLong( hWnd, GWL_USERDATA );
を使って、ハンドルから対応クラスのポインタをひっぱってきて
Window別のイベントを処理してた。なつかすぃ。

453 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 03:33:48 .net]
>>452
その方法だとたとえばウィンドウ上でIMEの入力をしているときに
候補の上でホイール回したりしてIMEが作ったhWndが飛んでくると
不正なポインタに飛ばすことになって落ちるよ。
結局、登録されたhWndかどうかチェックするとハッシュになってしまう。

454 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 07:15:09 .net]
>>445
ウィンドウインスタンスごとにRegisterClassExって何か違うと思う。
ATLでやってるのは、StartWindowProcってのを登録しといて、
StartWindowProcの中でサンクつくって、次回以降はそれが呼ばれるようにする、っていう方法だったと思う。

>>453
俺はIME触ったこと無いから実際はどうなのか知らないんだけど、
そんなことがあったらそれIMEのバグじゃねーの?

455 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 09:30:36 .net]
同じくで、サンク作る方法は自分でも書いたことあったけども>>454の意味はちまちまわからんとこが。
ATLのソースか、エディタのGreenPadがそんな方法使ってたから見てみてもいいかも。
わかりにくい上に機械語直接埋め込むから試しに自分でラッパ書いてみる、って段階ではどうかと思うが、早いし。

ウィンドウハンドルとthisを関連づける方法はGWL_USERDATAの他にSetProp/GetPropAPIもある。

ttp://hp.vector.co.jp/authors/VA022575/c/msgmap.html
ttp://hilbert.elcom.nitech.ac.jp/~taki/program.html

一応この辺がその辺の話。

456 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 10:50:11 .net]
454だけど、実際にATLがどうやってるのかは>>455のリンク先が詳しいのでそっち見てね。
あと、WndProcからthisを手に入れる方法を適当にまとめてみた。他にも方法あるかも。

どこにHWND↔thisの対応を入れておくか
・Set/GetWindowLongPtrを使う(GWLP_USERDATAを使うのか、cbWndExtraで確保しとくのか)
・Set/GetPropを使う(キーは文字列かATOMか)
・ハッシュテーブルを使う(排他制御はどうすんのか)
・サンクを使う(CPUのアーキテクチャごとにry)

どのタイミングでHWND↔thisを関連づけるか
・WM_CREATEで(thisはCreateWindowの最後の引数か、グローバル変数から)
・最初にWndProcが呼ばれた段階で(thisはグローバル変数から)
・WH_CBTとかWH_CALLWNDPROCフックで(thisはグローバル変数から)
・そもそもWM_CREATEイラネ、CreateWindowを呼んだ後で
ただしグローバル変数にはTLSも含む

457 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 12:24:53 .net]
いくつか意見がでてるけど、個人的にはハッシュが一番楽じゃない?と思う。

std::map<HWND,[基底クラスのポインタ]> g_controlList;

LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
  基底クラス *p基底クラス = g_controlList[ hWnd ];

  // コントロール別イベント処理
  p基底クラス->OnEvent(msg, wParam, lParam);
}

最近C++書いてないんで色々間違ってそうだけど、キモはこんな感じかと。
ここは、より良い方法がでてきたら差し替えることにして
次へ進んだ方が本人の為になるし、スレ的にも面白いw

458 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 13:50:14 .net]
>>454
インスタンスごとにクラスを登録しているのはWindows Formsだね。

459 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:40:07 .net]
この流れを見てるとこのスレの住人はやっぱり結構自分ラッパを書いてしまっているんだなあと感じて親近感がw
しかし>>450は付いてきているのか。周りが凄い盛り上がってしまってるけど。



460 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 21:38:28 .net]
>>450は単語一個一個調べたり、根が真面目そうなんで、
今、大量の情報がドカドカ出てきたので知らん部分をググってる最中じゃない?
期待がプレッシャーにならない程度にマターリ待つのが良いかと。

俺もラッパ作ちゃった1人なんだが、結局デザイナーツールの作成が面倒で
活用には至らなかった。
その辺までしっかり作った人っているの?

461 名前:デフォルトの名無しさん [2008/11/10(月) 00:28:53 .net]
なぁ、>445 の方法って、ネットで探しても情報ないのな。
ATLのソース読んでみようと思ったけど、どこから読んだらいいのかわかんねw

>450 は初心者っぽいしきつい気がするのは俺だけか?


そういや、昔、CマガでGUIライブラリを作るってのがあったが
あれは参考にならないか?
もう、手に入らないけど。

462 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 02:05:47 .net]
>>460
> その辺までしっかり作った人っているの?

WideStudioってきもいけど凄いよね

463 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 06:11:25 .net]
>>461
ATLについては>>455
>>445の言ってるのはATLじゃなくてWindows Formsのことらしい

464 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 07:58:51 .net]
『組み込みGUI(ウィンドウ・システム)環境の設計と実装』って本
読んだことある人います? おもしろい?

465 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 08:11:08 .net]
>>463
>455は手軽にthunk作るやり方。
ATLはCDynamicStdCallThunkが__AllocStdCallThunkの確保した領域に機械語つっこんでるぞ。

466 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 13:35:58 .net]
>>450
適当にサンクを実装してみた。良かったら参考にしてみて。
ttp://www.yourfilehost.com/media.php?cat=other&file=KYSDK20081110.zip

>>451
stdcallとthiscallの変換があるから単純にECXに代入するだけじゃダメだぞ?
まあそれでも動くけどさ、ちょっと気持ち悪いよね。

467 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 15:47:24 .net]
>>464
フレームバッファ直描きでウィンドウシステムを作る本だよ。
OSを作ったりとか、LinuxでXを使わないGUIを作ったりとか、
そういうことに興味がある人には面白いと思う。
Windowsアプリを作るのにはほとんど参考にならない。

468 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 21:28:35 .net]
一つずつ

>>451

>つまりmovとpushくらいは3分でわかるはず。
mov・・・ジスタやメモリに、データの転送を行う
push・・・スタックにデータを積む

>そのスタックをどこで戻すかの違いがstdcallとcdecl。
このことでいいのかな?
ttp://www.ne.jp/asahi/nagoya/ahomaro/builder/cpb-055.html

>ECX
レジストリと
こんな場所がある、程度でいいのかな?



469 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 21:32:35 .net]
>>452
>>453
>>454
調べたらこんな頁を発見
ttp://qwerty.s2.xrea.com/XC2CCCAB82FBBB2B9CDA4CBA4B7A4C6A4CFA4A4A4B1A4CAA4A4XWindowsSDKXA5ECA5B7A5D42FX2.xhtml

サンク(thunk)って、調べても情報がないな。




470 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 21:34:28 .net]
>>455

いま、ここまで

参照先のリンクの内容を理解するのに苦労している。
正直、難しい。

471 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 22:41:30 .net]
>>469
wikipediaにあったぞ
en.wikipedia.org/wiki/Thunk

472 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 17:08:05 .net]
WindowsXP SP2のDEPでATLのThunkが問題になってたような気がするんだけど、
あれは何でなんだろ?

473 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 17:22:32 .net]
>>472
ウィルス等がバッファオーバーフローでヒープに不正コードを埋め込むことの対策として
ヒープのコードを実行できなくしたのがDEP。

ATLではサンクをHeapAlloc領域でやっていたため引っ掛かることになった。
今のATLはVirtualAllocでPAGE_EXECUTE_READWRITEで確保するため問題ない。

474 名前:472 mailto:sage [2008/11/11(火) 20:27:35 .net]
>>473
なるほど、わかりやすい説明サンクスです。

475 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 03:52:36 .net]
おまえら!
言いたいのをガマンしてるなら、代わり俺が言ってやるよ!
あくまでもおまえらの代弁だからな!俺が言いたいワケじゃないんだからな!





なるほど、わかりやすい説明Thunkです。

476 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 07:05:21 .net]
さみぃw

477 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:11:46 .net]
こんな方法どうやって勉強しました?

478 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 22:33:44 .net]
>>477
Windows 3.1の頃(15年前)からプログラム作ってたら嫌でも身に付く

479 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 18:52:55 .net]
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);
}

かなりふざけた方法だけど...
俺はこんな感じでやってる...




480 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 20:53:23 .net]
何となく、自分も昔作ったGUIを晒してみようとサンプル動かしてみたら、
リストビューを拡張して作ろうとしたらしいGridViewがいきなりバグってた。
出直してきます。orz

481 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:32:46 .net]
>>441はもうやめちゃったのかな?
こんなのあったよ
www.binzume.net/library/kwui/

482 名前:デフォルトの名無しさん [2009/01/28(水) 13:05:32 .net]
保守あげ

483 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 16:42:03 .net]
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());
 }
};


484 名前:デフォルトの名無しさん [2009/03/21(土) 03:51:43 .net]
SOL9をVC++2008SP1で試してみた。

>c:\usr\include\sol\window.h(68) : error C2664: 'GetClassNameW' : 2 番目の引数を 'char *' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
(面倒だから全部は乗せない)

こんなエラーが大量に出てきた。

これって、VC++2008SP1では使えないのか?



485 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 07:50:26 .net]
>>484
unicodeを使わない設定にしてみたら?


486 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 02:27:38 .net]
>>485

サンクス

コンパイルできた

487 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 02:29:43 .net]
SOL9って何?
Solaris9??

488 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 02:34:23 .net]
>>487

ttp://home.att.ne.jp/green/atlan/index.html

489 名前:デフォルトの名無しさん [2009/03/22(日) 15:53:22 .net]
使いやすいのない?



490 名前:デフォルトの名無しさん mailto:sage [2009/05/20(水) 19:07:36 .net]
ほしゅ

491 名前:デフォルトの名無しさん [2009/07/10(金) 06:59:47 .net]
Qt LGPL版が出ました。

492 名前:デフォルトの名無しさん [2009/07/19(日) 07:23:32 .net]
gtkmm一択

493 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:17:11 .net]
>>491
10 年前にその選択をしてればな…

494 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 21:50:27 .net]
マイナー用のこのスレで聞くのもどうかと思うけど、
OSSプロジェクトで一番使われているマルチプラットフォーム対応の
C++ GUIツールキットってどれでしょうか?

wxWidgetsとQtはどっちの方が使われてるのかな?

495 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 08:10:43 .net]
fltk

496 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 13:16:20 .net]
今からクロス開発するならQtのほうがよさげ。

497 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 13:31:27 .net]
>>496
できれば理由も聞きたい

498 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 14:18:48 .net]
Qtのほうが作りやすい。API綺麗だし開発ツールも充実してるから。この辺さすが商用は強い。

wxは古臭さ複雑さを隠し切れんな。元がMFCを参考にしているからな。もう限界だろ。

個人的にQPLか高い商用ライセンスがキライだっただけで
今QtをLGPLで使えるなら選択しない理由はあまりないな。

wxの強みはドマイナーなOS環境まで考慮されてることだけど、別にそこまで使わんしw

499 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 19:49:08 .net]
Qtは微妙な独自色がなければ最高なのに。qmakeとかLinguistとかWindowsのUIとか。



500 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 20:53:50 .net]
500

501 名前:デフォルトの名無しさん [2009/09/05(土) 08:41:35 .net]
Lily C++ GUI Library
ttp://kengolab.net/lily/lily_download.html
windows専用らしい

502 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:32:56 .net]
>windows専用らしい

イミネーwww

503 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:37:53 .net]
仮にただのMFCラッパーだとしても、使い勝手がよければそこに意味はあるはずだ

あとこのスレって別にマルチプラットフォーム限定ってわけでもないっしょ?

504 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:51:20 .net]
ぺたぺた貼れるなら、使い勝手うんぬん言えるが、できないじゃんwwwww

505 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 16:58:33 .net]
ペロッ
この味は・・・PHPer!

506 名前:本田 [2009/09/26(土) 17:53:33 .net]
Object Windows Library
Inprise/Borland
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 .net]
>>506
~ OWLNext project home ~
owlnext.sourceforge.net/
~ About OWLNext ~
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 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 13:03:16 .net]
何だ、クロスプラットフォームじゃないのか…

509 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 13:47:44 .net]
クロスプラットフォームとかいらんだろ



510 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 16:06:52 .net]
クロスプラットフォームじゃなかったら何の意味が?

511 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 20:08:34 .net]
WINEで動けば充分
> has been ported to Linux using WINE






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

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

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