- 1 名前:デフォルトの名無しさん [2008/12/26(金) 00:43:36 ]
- Microsoft Foundation Classライブラリ専用スレです。
前スレ ■MFC相談室 mfc19d.dll■ pc11.2ch.net/test/read.cgi/tech/1207301867/
- 196 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 03:07:01 ]
- >>193
ここの使用例をテキトーに書き直しただけだから、 ttp://msdn.microsoft.com/ja-jp/library/s7zy7cwk(VS.80).aspx 細かい事気にすんな。 ハゲるぞ。(もうハゲてるかもしれんけど)
- 197 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 04:18:10 ]
- GetLineの戻り値、、使わないなあ。 使いどころない。
>>193は、>>192でどう戻り値使うのだろうか?
- 198 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 09:07:51 ]
- >>194
GetTextMetrics
- 199 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:51:17 ]
- lineText..GetLine(iLine, strText.GetBuffer(iLength));
っていう風に関数を実行するとstrTextにその行が入る時と入らない時があるんですがなぜなんでしょうか?
- 200 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:57:30 ]
- ReleaseBuffer してるか?
- 201 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:01:19 ]
- 行ってますし、デバッガでとめて一個一個通すと何故か全部入っていくんです。
- 202 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:08:02 ]
- >lineText..GetLine(iLine, strText.GetBuffer(iLength));
こんなコード、有り得ないだろ。
- 203 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:07:15 ]
- CEdit::GetLine(int nIndex, LPTSTR lpszBuffer)
だろ?EM_GETLINEのベタ実装なんだよな、これ。 昔から思っていたんだが、わざわざメソッドとして用意しておく必要性あるんだろうか。 普通バッファ長を指定できる方しか使わないと思うのだが。 わざわざこっちでバッファの先頭ワードにバッファ長代入とか暇人過ぎだろ。
- 204 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 21:11:51 ]
- 2つあるうちの一見楽そうに見える方が実は大変ということか
- 205 名前:デフォルトの名無しさん [2009/01/18(日) 15:22:20 ]
- >>199
>>203 が書いているように、引数が2つしかない CEdit::GetLine()を使う 時は、呼び出す前に、第二引数で渡すバッファの先頭に、バッファ長を 書いておく必要があるのに、それをやっていないからだろ? LPTSTR pBuf; pBuf=strText.GetBuffer(iLength); *((LPWORD)pBuf)=iLength; // バッファ長をセット m_wndEditCtrl.GetLine(iLine,pBuf); strText.ReleaseBuffer(iLength); 自分でバッファ先頭にバッファ長をセットするのが面倒なら、引数が3つ あるCEdit::GetLine()を使うことだ。
- 206 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:01:41 ]
- 日付や時間を取得したいけどエラーがでてしまうんです・・・
内容は Run-Time Check Failure #3 - The variable 'newtime' is being used without being initialized. afx_msg void CMainWin::OnTime() { char str[80]; CTime Curtime = CTime::GetCurrentTime(); struct tm *newtime; newtime = Curtime.GetLocalTm(newtime); //ここが問題 wsprintf(str,asctime(newtime)); str[strlen(str) - 1] = '\0'; MessageBox(str,"Time and Date"); } msdn.microsoft.com/ja-jp/library/fxy17zta(VS.80).aspx ここ見る限りじゃ間違いないと思うんだけどなあ・・・ 指摘と改善お願いします。。。
- 207 名前:デフォルトの名無しさん [2009/01/18(日) 16:57:35 ]
- >>206
突っ込みどころが大杉。釣りか? C++やMFC以前に、ポインタも理解していないなら、C言語の基礎からやった 方がいいと思う。 MFCのサンプルは間違っているな。 struct tm newtime; Curtime.GetLocalTm(&newtime); でうまくいくだろう。 また、ワイド文字版のwsprintf()を使うなら「char str[80]」ではなく 「wchar_t str[80]」とすべき。MessageBoxもワイド版を使う。 > str[strlen(str) - 1] = '\0'; これもprintf()/wprintf()によって文字列末尾にNUL文字('\0')は付与され ているから意味がないし、ワイド文字なら、strlen()ではなくwcslen()を 使うべき。 str[wcslen(str)-1] = L'\0'; 第一、str[]がNUL文字で終端されていないと、strlen()/wcslen()は 文字列長さを判定できない。
- 208 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:08:05 ]
- >>207
MSのサンプル間違ってるとか悲しいわな これ、一応参考書のサンプルなんですけど捨てたほうがいいでしょうか まあ2001年に出版されたものなんですけどね
- 209 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:14:24 ]
- サンプルは間違っているとは言い切れないよ。
宣言と利用の間に、メモリ確保が隠されているかもしれないw とは言え、2008用のページの方は訂正されているんだからそっちを見ればいい訳で。 ttp://msdn.microsoft.com/ja-jp/library/fxy17zta.aspx
- 210 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:22:43 ]
- CTime Curtime = CTime::GetCurrentTime();
tm newtime; Curtime.GetLocalTm(&newtime); wsprintf(str,asctime(&newtime)); でできました! 参考書って年代で仕様も変わるけど図書館にはこれしかなくて・・・^^; なんか疑いにくいんですよね、参考書って どうもありがとうございました
- 211 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:28:49 ]
- 本に誤字脱字があるのは珍しいことじゃない
- 212 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:33:05 ]
- おかしいと思ったら複数調べるのがいい。
- 213 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:33:41 ]
- >>210
その参考書が何か知らんが、MSDNのサンプルをコピペしただけの悪書なんじゃないか? いみじくも参考書を名乗るのなら、ちゃんと検証されたコードを載せるべきだと思うのだが。
- 214 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:37:35 ]
- >>213
えっと・・・ ハーバート・シルト/フランク・クロケット著 「標準講座 MFC6.0」だそうです 結構分厚いからコピペではないと思います ver間での使用の違いを疑わなかった自分のミスです
- 215 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:40:25 ]
- いやこれ仕様の違いじゃなくてもともと間違ってるよ。
でもその本見る限り、コピペじゃなくて同じソースってことみたいね
- 216 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:44:41 ]
- ってサンプルソースがダウンロードできるから見てみたけど、
struct tm *newtime; newtime = curtime.GetLocalTm(); これなら旧仕様で合法だな。
- 217 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:48:03 ]
- >>216を2008でコンパイルするとGetLocalTm()に引数がないことからエラーがでました
昔はよかった
- 218 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:50:03 ]
- まあそれはMSDNのほうでも、_SECURE_ATLを未定義にすればいいみたいだけどね。
- 219 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:50:40 ]
- >いいみたい
→いいと書いてるみたい
- 220 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 17:56:33 ]
- 昔は引数にNULL(省略化)を渡すことで、オブジェクト内部のstruct tmの
ポインタを返す仕様だったけど、NULLポインタを渡すのを許可しなくなった ってことでは? オブジェクト内部のstruct tmのポインタを取得できると、直接データを 書き換えて隠蔽化の意味がなくなるから。
- 221 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 18:56:56 ]
- 元のサンプルと全然違ってるし
- 222 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 19:33:49 ]
- サンプルコードなんて使い方の雰囲気を感じ取るだけのもんで
コピペするもんじゃねぇ。 自分のプログラムに組み込むときは、引数・戻り値の意味と動作を理解し 自分の頭でコードを書くべき。
- 223 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 20:41:17 ]
- サンプルコードをいじくりながら学ぶもんなんじゃねえの?
いじくる前に1回コピペするだろ
- 224 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 21:26:46 ]
- いじくるのは勝手だけど、自分が間違ったのを本のせいにしない。
- 225 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:59:29 ]
- >>207
wsprintf()ってワイド文字ではなくTCHARだけど。
- 226 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 23:02:26 ]
- TCHARは_tsprintfみたいな名前だろ?
wprintfはwcharのはず プリプロセッサで切り替わるだけだし
- 227 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 23:05:43 ]
- wsprintfはWindowsのAPI
wprintfはprintfのワイド文字版
- 228 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:15:16 ]
- >>210
手元の2004年初版第6刷発行では>>216のコードになってるな >>225-227 wsprintf()は環境によってマルチバイトかUNICODEだよね。 >>206のコードだとマルチバイト環境のコードならばcharは間違えというわけではない。 それと str[strlen(str) - 1] = '\0'; ってのはasctime()が改行文字を付加するからそいつを取っ払うため。 まぁ、あんまりよろしくないコードとは思うけどね。
- 229 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:41:37 ]
- wsprintfとwprintfとswprintfは紛らわしすぎる
- 230 名前:デフォルトの名無しさん [2009/01/19(月) 05:48:07 ]
- 処理をCPU使用率30%を上限に制限して実行させるにはどうすればいいんでしょうか?
そんなことは可能なんですか?
- 231 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 08:47:51 ]
- なんでそんなことする必要があるのか疑問。
他のアプリの邪魔をしたくなければ、スレッドの優先順位を低くしとけばいいだけ。
- 232 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 08:53:15 ]
- >>230
25%上限でよければ、簡単だよw
- 233 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 09:23:00 ]
- >>232
Core2Duoですが簡単ですか?
- 234 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 09:25:08 ]
- 惜しいな、Core2Duo単体なら上限は50%だ。
- 235 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 09:31:19 ]
- Core2Duo限定のソフトか!
- 236 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 10:31:14 ]
- いえ、Qのほうで
- 237 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 12:33:52 ]
- MFCと関係あるか?
- 238 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 14:54:00 ]
- 誰ですか。勝手に話を進めないでくださいw
アプリに重い処理を乗せたくて起動者全員CPU30%とか10%づつシェアするプログラムを組み込みたいんです 制限かけないとずっと自分が使ってなくてもずっと100%で熱暴走が心配なのでCPU10%を提供に制限したいんです。 どうすればいいと思いますか?
- 239 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 15:36:17 ]
- MFCにそういうライブラリが存在しなければスレ違い
- 240 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 17:17:46 ]
- >>238
熱暴走が心配ってどんな環境だよ。 「起動者全員」とか「シェアする」とかサーバーアプリなの? どうしても心配ならユーザー数に応じてSleepでもさせたら?
- 241 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 19:23:57 ]
- CPU使用率を求める処理でCPUを食うから無意味
- 242 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 20:09:19 ]
- >>241
えっ?
- 243 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 20:29:40 ]
- お前ら >>237 も >>239 も見えないフリか。
- 244 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 20:50:46 ]
- 熱暴走については、昔の焼き鳥こさえてたAthlonの時代ならともかく、
今のCPUは温度が上がりすぎると勝手にクロックとか落とすので、特に問題ないな。 CPU利用率については、WindowsServerならプロセスがどれだけフル回転していようと、 一定時間毎に容赦なく他のプロセスに明け渡すから、無難なレスポンスが確保できそうかな、と。
- 245 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 06:57:04 ]
- 優先度でいつでも明け渡せるとしても、気分的に窮屈な感じしませんか?
自分の作ったプログラムはいつも全力で走るんですが、CPU見てると常に20%ぐらいでなんかまわってたりするんですが 、タスクマネージャで確認してるだけなんですが、この%って一定時間内のCPU100%使用率ってことなんですか? そうでないとしたら%制限の方法を教えてください!
- 246 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 07:08:05 ]
- >>240
thx! 今ってCPUというかハードの性能がすごくてほとんどの処理がすぐ終わって待機時間がすごくもったいない気がしたので そういう部分だけの汎用的なCOMとかで自由に独自のソフトに組み込めたらよくないですか? 10%シェアでも100人いればパソコン10台分ですよね。フリーでそういうのあれば教えてください。 Sleepでどうやるかじっくり考えます。 どうもです
- 247 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 07:56:11 ]
- 無駄。つーか、スレ違いだと。
そもそも>234辺りの理屈は判っているのだろうか。
- 248 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 10:08:04 ]
- スレ違いだと何度指摘されても話を続ける奴って何なの?
知的障害者なの?死ぬの?
- 249 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:56:45 ]
- ム板は初心者にとってスレチが紛らわしいと思うけどこれはわかるだろ、な?
- 250 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 08:26:16 ]
- どこで聞けばいいんでしょうか?
どうやって実現するかわからないのでターゲットのスレもわからないです。
- 251 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 09:10:06 ]
- >>250
>この板はプログラムを作る人のための板です。 >あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
- 252 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 09:38:27 ]
- thx
- 253 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 08:41:42 ]
- MDIで一つのDocに複数のViewというのはなんとか判る。今回、
そのViewが一つ1枚とその他10枚が別のViewになる構成ってどうやるのがいいのだろう。 CMultiDocTemplateを11個AddDocTemplateすることになるのだろうか。 その場合、クラスを派生して10個にしておかないと10枚の区別がつかない気がするのだが。 ってことで、これから移動するからレスは夜になるが、誰かヒント頼む。
- 254 名前:デフォルトの名無しさん [2009/01/22(木) 09:50:02 ]
- Viewクラスだけ異なるDocTemplate作ればよいのではないか?
たしか複数のAddDocTemplateをすると新規作成時にテンプレ選択ダイアログが出るようになるな
- 255 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 14:10:59 ]
- ドキュメントテンプレートはアイコン、メニュー、ツールバーみたいなリソース関係で
ドキュメントごとじゃなくてドキュメントタイプごとに違うリソース使えるようにする
- 256 名前:253 mailto:sage [2009/01/23(金) 00:42:41 ]
- 今(帰って)きた。レスTHX。つーか、>253は出掛けとは言え酷いなぁw
結局、一つの必ず必要なViewだけドキュメントテンプレートにして、 他の10枚分は全部そのViewから必要に応じて開くようにしてしまった。 考えてみたら、新規作成ならテンプレート選択ダイアログが開くけど ファイルオープンだとどうせ最初のテンプレートでしか開かないしね。 それとも選択する手段があるのかな? # うーむ、今更真面目にMFCの勉強し直すのも面倒だなぁ……
- 257 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 10:35:20 ]
- 同時に開く1個+10個が、常に同じファイル数でセットなのか、10個は
中身は異なるが同じクラスのオブジェクトなのか、そこらへんで全く 違ってくると思う。 開くファイルとビュー(ウィンドウ)を全てMDIのDoc-View構造に登録して 管理しなければならないかといえば、決してそうではない。 SDIだけど、ペイントブラシのように、開くのは1個の画像ファイルで、 一部を拡大表示するウィンドウを複数同時に表示できるなどというインター フェースだって作れる。 例えばMDIベースでVisual Studio相当のアプリケーションを作成すると して、独立した1個がプロジェクトファイル、残りのN個がプロジェクト を構成するソース/ヘッダファイルだったとして、ソース/ヘッダファイル はプロジェクトの一部としてだけでなく単独でも開ける。 プロジェクトの一部として開いたソース/ヘッダファイルは、プロジェクト に相当するドキュメントクラスで管理することになると思う。ソース/ヘッダ ファイルを単独で開いた場合、インターフェースに統一性を持たせるため、 一時的に無名のプロジェクトを作成し、それに管理させているような形に なるのでは?
- 258 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 11:33:53 ]
- CHtmlViewをMDIで使いたいんですが、
このビューを単独でプロジェクトに追加して開くにはどうすればいいですか? ドキュメントテンプレートでAddにすると、使わないのに.Docも作らなければいけないとおもうんですが。
- 259 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 13:07:32 ]
- >>258
クラスの追加もできない馬鹿は、MFCの参考書でも読んで勉強し直せ
- 260 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 13:28:44 ]
- もとからあるMDIViewにCHtmlViewを張り付けられなくないですか?
ビューを切り替えるだけのときオープンドキュしなきゃいけないので.Docもセットなのが嫌なんですが
- 261 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 13:50:47 ]
- >>260
Viewクラスの使い方ぐらい調べろ、阿呆が
- 262 名前:名無し募集中。。。 mailto:sage [2009/01/23(金) 14:25:44 ]
- 使わないDocがあってもいいじゃない
m_pDocTemplate->OpenDocumentFile(NULL) が楽なんじゃないかなぁ
- 263 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 15:35:09 ]
- そんな書き方ができるんですね!ありがとうございます。
>>261 死ね
- 264 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 10:50:59 ]
- viewじゃないコントロールもあるよ
- 265 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 10:53:01 ]
- CDCクラスからウィンドウハンドル(hWnd)って取得できますかね?
- 266 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 11:33:18 ]
- つ CDC::GetWindow
- 267 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 11:34:22 ]
- AfxGetMainWnd()->GetSafeHwnd();
- 268 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:11:14 ]
- Visual Studio 2008 SP1にてMFCアプリケーションを作るんだけど、
ダイアログにも"視覚スタイルと色"を反映させたいのですが、 無理でしょうか? "視覚スタイルと色"を反映させたSDIでも、 ダイアログ(CAboutDlg)だけが浮いたデザインの気がするので、 知ってる方が居られればご教授願いたいです。
- 269 名前:デフォルトの名無しさん [2009/01/31(土) 00:02:52 ]
- MFCって今後衰退して、.NETがデファクトスタンダードになるんですか?
今更、MFCをやれなんて上長から言われたんだけど、MFCでガリガリ かけるようになった頃にはVSから姿を消してたら淋しいな
- 270 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 00:05:27 ]
- 少なくともMSは、数年前まではそのつもりだったんだろうな
- 271 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 02:02:34 ]
- MFCが消える頃に、やっとガリガリかける程度なら、
消えて当然のプログラマ。
- 272 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 02:49:03 ]
- >>269
触ってみたけど変わんない 俺、ツリーのドラッグアンドドロップが簡単にできるとか リストの更新関連がうまくできるようになってるとかそういうの期待したけど 結局、全然改善されてないところがアフォだと思った 今ならノウハウや情報がそろってるMFCのがいいよ .NETは糞面倒臭い上に情報少ない んでMFCやってから.NET入っても同じところに気を配らないといけないのは まったく同じなので情報が豊富なMFCから入ったほうがいいと思う
- 273 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 05:42:34 ]
- .NETの方が情報は豊富
- 274 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 08:47:27 ]
- MFCでやってたらいざとなったら素APIに逃げるからな
って.NETでもP/Invokeに逃げたりするか
- 275 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 16:12:58 ]
- 時代はVB
- 276 名前:デフォルトの名無しさん [2009/01/31(土) 16:18:59 ]
- 工エエェェ(´д`)ェェエエ工工
- 277 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 03:21:56 ]
- というかC++/CLIで.NETは書きにくい
凄く汚くなる C++/CLI単体は悪くないと思ってるけど
- 278 名前:デフォルトの名無しさん [2009/02/01(日) 03:27:28 ]
- .NETを使わないならC++/CLIを使う必要があるのか?
- 279 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 16:47:36 ]
- CWinAppをCWinAppExに変えただけで、400KBから1800KBにexeファイルのサイズが大きくなった
MFCでかくなりすぎワロタ
- 280 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:11:55 ]
- さらにリソース追加で3Mバ・イ・ト!
- 281 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:00:50 ]
- スタティックリンクしてんのか?
ダイナミックリンクに直せよ
- 282 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:19:17 ]
- やだよばか
- 283 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:21:56 ]
- 別にサイズなんかどうだっていいような気がするけどね
でかいとなんかヤバイの?
- 284 名前:デフォルトの名無しさん [2009/02/01(日) 22:22:36 ]
- >>283
デカくてなにかいいの?
- 285 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 22:27:35 ]
- >>284
いや、勝手にでかくなるからさ
- 286 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 07:24:22 ]
- >>272
ツリーの(略)とかはWPFではできるよ ただ、C++/CLIじゃWPF使えないからC++のコードはバッサリ捨てなきゃならないけどね…
- 287 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 20:33:41 ]
- はじめまして。
MFCのコレクションクラスにて質問があります。 MFCのコレクションクラスにCListとCByteArrayってのがあります。 これを使って、たとえば通信電文の様に可変長データをリストに置きたい場合 CList<CByteArray, &CByteArray>と書けば良いのでしょうか? error C2955: 'CArray' : クラス テンプレート を使用するには テンプレート 引数リストが必要です ってのが出て、どうしていいかわからないです。 有効な宣言の仕方があれば、教えていただきたいですが・・・・
- 288 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:12:11 ]
- >>287
そもそも&の位置が前後逆だな。 直したところでCByteArrayはoperator=の実装が無いからやっぱり駄目だけど。 MFC的には、CList<CByteArray*>って感じにポインタで持つしかないと思う。 これ以上はSTLの出番か?全然詳しくないから答えられないけど。
- 289 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:56:09 ]
- C++で扱いやすい新しいフレームワークを作って欲しいのが本音だな
.NETと住み分けて
- 290 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 23:11:43 ]
- WTLはそれなりに使いやすいだろメッセージハンドラもIDE上で追加できるし。
EEでは古いATLになっちゃうのが難だけどMFCじゃ使えないし。 eGUI++は使ったことないから判らないがstd::stringてのが嫌だな。
- 291 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 08:17:48 ]
- >>288
やっぱりSTLで組むしかないのですか・・・ がんばってみたいと思います。 ありがとうございます。
- 292 名前:デフォルトの名無しさん [2009/02/03(火) 10:26:48 ]
- >>291
CByteArrayの派生クラスを定義して、そいつでoperator =を実装した上で、 CList<CMyByteArray, const &CMyByteArray>とすればいけると思う。
- 293 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 10:37:34 ]
- つーか、STL のコンテナではなく
MFC のコレクションを使うメリットって何だろう。
- 294 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 16:56:07 ]
- STLをリンクしなくて済む
- 295 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 17:52:53 ]
- CObject からの派生していること
- 296 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 21:35:34 ]
- MFCベースならMFCに統一したいっていうのはあるな
|

|