- 1 名前:デフォルトの名無しさん [2007/08/01(水) 06:23:28 ]
- Microsoft Foundation Classライブラリ専用スレです。
- 367 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 23:28:00 ]
- VC++2005スタンダードを使ってMFCを勉強しているのですが、
onNewDocumentやonOpenDocument、Serializeなどファイル操作や イベント処理などがどういう流れで行われているのかがいまいち把握できないので、 詳しく解説してある良い書籍とかないでしょうか? ちなみに今頃MFCかよとかなしでおねがいします。
- 368 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 02:40:56 ]
- いや、本当にいまさらMFC勉強しても意味がない
>>367 みたいな質問してるようだと、人に見せれるようなアプリがかけるまで、2年以上はかかる 2年後にはMFCはVSからなくなってるぞ
- 369 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 11:34:51 ]
- なくなるわけねーだろ
お前みたいな、おこちゃまアプリしか作らんやつには MFC は必要ないだけだ
- 370 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 12:46:27 ]
- 2年後が楽しみになってきました
- 371 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 13:17:56 ]
- 2年後にMFCが無くなってたら怖いな。
M$がwin32apiを無理矢理クラス化し、永続させてきたMFCを ばっさり切るなんて、今までの努力を捨てちまうようなもんだもんな。 それにVBを.net化したりしてるのを見れば「まだまだ、へこたれへんでー」 ってな感じに受け止めれる。 まぁ、主流はVC#VB.netの方針で発展していくんだろうね。
- 372 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 14:37:15 ]
- >>371
いいえ。C++の財産はとてつもなく大きいものです。 C++/CLI について語ろうぜ Part2 pc11.2ch.net/test/read.cgi/tech/1142147319/ これ最強
- 373 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 15:45:45 ]
- Picture ControlのBorderをプログラム実行中に変更する方法を教えてください
- 374 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 16:16:42 ]
- 変らない?
- 375 名前:373 mailto:sage [2007/11/06(火) 16:17:49 ]
- >>374
やり方がよく分からないんです。
- 376 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 10:43:29 ]
- パスがファイルかフォルダかを判定する方法があれば教えていただけないでしょうか?
そのパスは存在することが前程でよいのですが。。。 よろしくお願いいたします。
- 377 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 10:53:11 ]
- ファイルの属性を見る
MFCにそういうのを扱うクラスはなかったと思う
- 378 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 10:58:57 ]
- >>377
CFileにGetStatus()があるのだが。static版の方は引き数にフルパスを取るから一応使えると思う。
- 379 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 11:25:51 ]
- CFileでディレクトリも扱えるの?
- 380 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 11:32:05 ]
- >>379
CFile::GetStatus()のstatic版は、実体を必要としないので普通の関数のように使える。 つまり、その対象を予め開いておく必要はない。詳しくは、MSDNでも読め。
- 381 名前:367 mailto:sage [2007/11/07(水) 18:08:26 ]
- >>368
何を根拠に2年なのかkwsk、というかカチンときた。 まぁ、ATLとか.NETとか出てる中、いまどきMFCやるのもあれかもしらんが・・・ で、MSDN以外に参考になるものはないってことかい?
- 382 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 18:13:41 ]
- カチンと来るのは勝手だけれど、MFCが斜陽なのは事実。
一頃本はたくさんあったようだしWebSiteもそれなりにあると思う。 それを探せないようでは先が思いやられるのも同感。
- 383 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 18:15:08 ]
- ATLとMFCって同じレベルのものなの?
全然知らなくてすまそ
- 384 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 20:48:24 ]
- 無駄に複雑で使えないっていう点では同じレベル
- 385 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 21:13:42 ]
- 簡単なツールならVB感覚でさくっと作れるじゃない。MFCは。
- 386 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:05:34 ]
- やっぱり.NET
- 387 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 15:15:14 ]
- View画面でのサイズ指定で
SDIのCMainFrameウィンドウサイズを変更する関数ってありますか? やっぱり、指定のサイズ+枠のサイズとかメニューのサイズとかを計算しないとだめですか?
- 388 名前:デフォルトの名無しさん [2007/11/09(金) 16:37:49 ]
- CHTMLViewクラスを使って表示したHTML文書のテキストの
色などをプログラム中から変更することはできるでしょうか? PutPorpertyというメソッドを使えばできそうな気がするの ですが使い方がよく分かりません。 <P class='test'>Hello, World</P> というテキストの色を赤にする方法を教えてください。
- 389 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 21:49:22 ]
- >>388
CHTMLViewのGet/SetPropertyは、単にIWebBrowser2の同メソッドが呼ばれるだけ。 GetHtmlDocument()から始めるしかないと思う。という訳で、試しに書いてみた。 ちなみに、MFCでなくてATLだが全く問題無い。 // 1. CSSを追加してみる方法 CComPtr<IDispatch> spIDisp; spIDisp.Attach(GetHtmlDocument()); CComQIPtr<IHTMLDocument2> spIDom(spIDisp); CComPtr<IHTMLStyleSheet> spCSS; spIDom->createStyleSheet(NULL, -1, &spCSS); long idx; spCSS->addRule(CComBSTR(_T("P.test")), CComBSTR(_T("color:red")), -1, &idx);
- 390 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 21:53:27 ]
- // 2. エレメントに直接スタイルを追加してみる方法
CComPtr<IDispatch> spIDisp; spIDisp.Attach(GetHtmlDocument()); CComQIPtr<IHTMLDocument2> spIDom(spIDisp); CComPtr<IHTMLElementCollection> spElemCol; spIDom->get_all(&spElemCol); spIDisp.Release(); spElemCol->tags(CComVariant(_T("P")), &spIDisp); CComQIPtr<IHTMLElementCollection> spElemCol2(spIDisp); for ( int idx = 0 ; ; idx++ ) { spIDisp.Release(); spElemCol2->item(CComVariant(idx), CComVariant(), &spIDisp); if ( !spIDisp ) break; CComQIPtr<IHTMLElement> spElem(spIDisp); CComBSTR clsname; BSTR bstr; spElem->get_className(&bstr); clsname.Attach(bstr); if ( clsname != _T("test") ) continue; CComPtr<IHTMLStyle> spStyle; spElem->get_style(&spStyle); spStyle->put_color(CComVariant(_T("red"))); }
- 391 名前:388 mailto:sage [2007/11/09(金) 22:57:03 ]
- >>389 >>390
ありがとうございます。ATLは全く知らないのでコードは謎ですが、 必要なヘッダを調べてインクルードして何とか両方とも動かすこと ができました。 if ( clsname != _T("test") ) continue; のところで エラーが出たので調べてみると CComBSTR::operator==は 定義されていましたが CComBSTR::operator!=は定義されて いませんでした。if ( clsname == _T("test") ) { /*../*/ } と直すとコンパイル通りました。これはVisual C++6.0の 不具合かもしれません。 師匠になってほしいです。
- 392 名前:デフォルトの名無しさん mailto:sage [2007/11/13(火) 02:19:17 ]
- blogs.msdn.com/somasegar/archive/2007/11/09/visual-c-libraries-update.aspx
結局捨てないのか ともかく壮絶なソースコードが見れそうだ
- 393 名前:デフォルトの名無しさん [2007/11/14(水) 11:34:45 ]
- CReBarでレバーコントロールを利用しているのですが、
複数のコントロールを1つのバンドに含めるにはどうすればいいでしょうか。 CReBar cRebar; … cRebar.AddBar(コンボボックス) cRebar.AddBar(ボタン) とすると、コンボボックスとボタンが別々のバンドに配置されますが、 目的としては、コンボボックスとボタンを同一バンドに配置したいです。
- 394 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 12:30:31 ]
- 各バンドには 1 つしか子ウィンドウ (コントロール) を含むことができません。
各バンドに複数の子ウィンドウを含めたい場合は、この点が制約になります。
- 395 名前:393 mailto:sage [2007/11/14(水) 17:10:33 ]
- なるほど、ありがとうございます。
ちょっと微妙ですけど、コンボボックスとボタンをスタティックコントロールの子にして、 そのスタティックコントロールをAddBarすることにしました。
- 396 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 00:22:50 ]
- MFCでExcelのセルみたいなぐりっどコントロールってないんですか?
- 397 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 01:22:56 ]
- ありません。ListCtrlを自前で拡張するか、CodeGuruでそうしたものを探すか、市販のライブラリを使うか、
ExcelをDDEで使うことになるかと。
- 398 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 18:29:30 ]
- 拡張DLLでダイアログクラスをエクスポートしようとしているのですが、
ヘッダのクラス宣言の中に enum { IDD = IDD_… }; という記述があります。 このリソースIDは拡張DLL側のResource.hに書かれているものです。 拡張DLLを使う側がこのヘッダをインクルードすると、 リソースIDが見つからないと言われると思うのですが、 拡張DLLでダイアログクラスをエクスポートする場合 この部分はどのように対応すればよいものなのでしょうか。
- 399 名前:デフォルトの名無しさん [2007/11/16(金) 16:17:31 ]
- 保守!
- 400 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 21:52:56 ]
- >>398
そのリソースIDが記述されてるヘッダをインクルードしなきゃいんじゃね? 使う側は、拡張DLL側のリソースIDなんて余計なだけじゃね?
- 401 名前:デフォルトの名無しさん [2007/11/17(土) 18:06:11 ]
- MFC VC でセマフォや共有メモリみたいなのって無いの?
- 402 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:15:43 ]
- >401
自分で調べようとも思わないのか?
- 403 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:25:37 ]
- ぐぐってみようとも思わなかったんだろうな
- 404 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 19:25:53 ]
- VS2005付属MSDNのキーワードに「セマフォ」って入れるだけで
あっさり対応するクラスが見つかった件について。 おまえやる気無いだろ。氏ね。 >>401
- 405 名前:デフォルトの名無しさん [2007/11/17(土) 22:35:15 ]
- >>404
そんな高価なツールもってねえよばーーか
- 406 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:04:35 ]
- VS2005のどこが高価なんだよw
今までのこと考えたらクソ安いつーの つーかMSDNのちょっと遅れのイメージなんか完全フリーじゃねえか
- 407 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:12:13 ]
- MSのサイトでみれるMSDNはVS2005のとは別ものなの?
同じなら、オンラインで検索すれば。
- 408 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 16:15:43 ]
- 基本的には同じはずだが…
- 409 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 17:58:57 ]
- VS2005 MFCです
折れ線グラフを描画する、ツールを作りたいんだけど MFCのツールボックスには、ピクチャーコントロールというツールと カスタムコントロールというのがあるけれど、どう違うのでしょうか? また、グラフを描画させるにはどちらのコントロールを選んだ方がいいのでしょうか?
- 410 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 18:29:12 ]
- >>409
つ[TrueWinChart]
- 411 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 18:43:10 ]
- >>410
>>409です True WinChart for .NETですよね、標準価格:102,900円 そんな予算でないです
- 412 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 18:58:09 ]
- 自分で描画するだけだからコントロールは必要ない
- 413 名前:409 mailto:sage [2007/11/18(日) 19:11:21 ]
- >>412
ダイアログに直接描画するのではなく、ピクチャーコントロールかカスタムコントロールに 描いて、それをサブクラス化したいんだけど、違いがよく分からないんだよね
- 414 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 19:24:32 ]
- 違いは標準かカスタムか
- 415 名前:409 mailto:sage [2007/11/18(日) 19:34:14 ]
- ということは、カスタムコントロールのほうが、拡張性(自由度)が
高いってことだね?
- 416 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 19:56:50 ]
- 描画するだけなら、単純にウインドであれば良いだけじゃないの?
ゴテゴテ機能が付いている方がいろいろな横槍がはいって返って上手くいかないかもしれん。
- 417 名前:409 mailto:sage [2007/11/18(日) 20:34:14 ]
- >>416
言われてみればそうかも知れないな、 コントーロールを貼り付けて、描画専用クラスを別に書き、シリアル化したデータを 流し込んで、グラフを描画させようと思ったけど よく考えたら、描画専用クラスは、ダイアログに描こうがコントロールに描こうが必要なわけで 対象となるオブジェクトがどっちになろうが、使えるクラスを設計する方が賢いかもしれないね
- 418 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:17:07 ]
- .flvから0.5秒おきのBMPを作りたいんですが
何かヒントだけでもいただけたら
- 419 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:24:14 ]
- ヒント MFCと関係ない
- 420 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 13:34:30 ]
- >>419
とは思ったのですがやはりプログラミングのプロ集団は MFCスレかと思いまして。
- 421 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 14:26:56 ]
- B's Recorderみたいな画面作りたい><
- 422 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 15:29:48 ]
- >>420
DirectShowスレがあるぞ
|

|