[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 09/12 19:35 / Filesize : 114 KB / Number-of Response : 423
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

■MFC相談室 mfc18d.dll■



1 名前:デフォルトの名無しさん [2007/08/01(水) 06:23:28 ]
Microsoft Foundation Classライブラリ専用スレです。

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スレがあるぞ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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