1 名前:誰も立てないから・・ [2007/11/30(金) 22:40:42 ] Visual C++入門者・初心者からの質問を、 お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html myu.daa.jp/osiete/ ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5 。
577 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 12:05:54 ] ヘッダのインクルードより先に書いている?
578 名前:デフォルトの名無しさん [2008/01/19(土) 12:13:16 ] >>577 ありがとうございました。 解決しました。 自作のヘッダーの方では、ライブラリのinclude前に あったのですが、mainの方ではそのヘッダーをライブラリよりも あとから呼んでました。 もしかして、 このdefineはmainのあるcppの頭にだけ 書けばよいものなのでしょうか?
579 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 13:30:28 ] ふつうは、コンパイルオプションに仕込むけど
580 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:23:17 ] Visual C++ってフォームデザイナ付いてんの?
581 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 14:56:38 ] >>580 [ファイル]-[追加]-[新しいプロジェクト] [Visual C++]-[CLR] Windows フォーム アプリケーション でプロジェクトを作成すると使えるみたい
582 名前:デフォルトの名無しさん [2008/01/19(土) 15:00:17 ] C++ とうか C++/CLI だけどね.
583 名前:デフォルトの名無しさん [2008/01/19(土) 18:30:45 ] クラスの中で+演算子(などを)定義した際、一時的に、 newで何かを作ったとします。 (こんな感じ?) type* tmp = new type[num];。 で、その何かは(何らかの処理後) その演算子定義のreturnで使いたいとします。 return CLASS_X(tmp_s); このとき、tmpのdeleteはいったい どこで行ったらよいのでしょうか? (deleteなしで作成後、実行しても動いてはいる? のですが、たまたまのような気がして心配なので)
584 名前:デフォルトの名無しさん [2008/01/19(土) 18:32:07 ] 訂正 誤:return CLASS_X(tmp_s); 正:return CLASS_X(tmp);
585 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 18:44:40 ] >>583 tmpの型をboost::scoped_array<type>にでもすればいい。
586 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 18:59:11 ] >>583 CLASS_X()の戻り値を変数に保持してからtmpを解放 で、returnで保持した変数を返せばいい
587 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:00:19 ] ちなみに>>583 でも動くだろうが、呼び出す毎にどんどん空きメモリが減っていく
588 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:02:32 ] >>580 スタンダード以上ならついてる
589 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:12:29 ] フォームでよければexpressにもついてる
590 名前:デフォルトの名無しさん [2008/01/19(土) 19:31:40 ] >>585 できればboost以外でお願いしたいのですが。
591 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:34:09 ] >>583 operator=()の中でnewする必要がある状態ってのがよく分からない。 自動変数の値返しじゃダメなのか? ソース提示可能なら提示よろ。 deleteしなかった場合は587の言うように当然メモリリークしていくぞ
592 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:46:23 ] 標準C++の話なら他所でやれ
593 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:47:08 ] >>590 std::vector<type> &tmp[0]のようにすれば、先頭要素へのポインタも得られる。
594 名前:583 [2008/01/19(土) 19:48:07 ] >>591 ありがとうございます。 簡単に言えば文字列の足し算なんですけど、 newしないでできるのでしょうか。 (当方初心者です) friend Mojiretsu operator+=(const Mojiretsu& moji1, const Mojiretsu& moji2) { // +演算子 int tmp_nagasa = moji1.nagasa + moji2.nagasa ; char* tmp_moji = new char[tmp_nagasa+1]; mojicpy(tmp_moji,moji1.s); mojicat(tmp_moji,moji2.s); return Mojiretsu(tmp_moji); }
595 名前:583 [2008/01/19(土) 19:51:06 ] >>586 ありがとうございます。(前後してすいません) こんな感じでしょうか。 friend Mojiretsu operator+=(const Mojiretsu& moji1, const Mojiretsu& moji2) { // +演算子 int tmp_nagasa = moji1.nagasa + moji2.nagasa ; char* tmp_moji = new char[tmp_nagasa+1]; mojicpy(tmp_moji,moji1.s); mojicat(tmp_moji,moji2.s); char* tmp2_moji = tmp_moji; delete tmp_moji; return Mojiretsu(tmp2_moji); } 一応、動きましたが、tmp2_mojiの先が解放されちゃってて これも心配なんですが、大丈夫なのでしょうか。
596 名前:583 [2008/01/19(土) 19:54:04 ] 訂正 正:mojicpy、mojicat 誤:strcpy、strcat
597 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:55:17 ] 最近マジデ、どのプログラムもつまんないんですが、どうしたらいいですか? 責めて、C++で鬱病から逃れたいんですが
598 名前:583 [2008/01/19(土) 19:59:39 ] >>592 すいません、この質問が終わったらよそに行きます。 見逃してください。
599 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 19:59:44 ] ここC++スレじゃないってば VCスレ
600 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 20:00:57 ] >598 見苦しいから汚いコード貼らないでくれる?
601 名前:591 mailto:sage [2008/01/19(土) 20:05:37 ] 正直すまんかった。 >>598 C++相談室 part60 pc11.2ch.net/test/read.cgi/tech/1200044614 あたりで同じ質問してくれ。
602 名前:583 [2008/01/19(土) 20:08:15 ] >>601 すいませんです。 そちらに行きます。 お邪魔いたしました。
603 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 20:30:05 ] 最近は、プログラムってFPGAとかのハードプログラムが面白い罠
604 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 23:23:32 ] 3週間完全マスターVisual C++ 6.0 1版1刷(日経BP社)を図書館で借りたのですが、、、 どっかに、正誤表とかはないんですか?
605 名前:デフォルトの名無しさん [2008/01/20(日) 01:25:08 ] >>603 PCに標準で乗ってたら面白いけどな.
606 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 09:45:08 ] >>604 ここで聞いてどうするw 出版社に聞け
607 名前:デフォルトの名無しさん [2008/01/20(日) 12:10:01 ] デバイスコンテキストを使用しててどうも前に進めません。 新しくトップにウィンドウ(タイトルバー無し)をポップアップして、 そこにテキストを表示するというものなのですが、 一定以上の大きさを制限するために、一旦デバイスコンテキストに描画したものをStretchしたいのですが、 それ以前にCreateCompatibleDCでメモリデバイスコンテキストにDrawTextしてから BitBltでウィンドウにそのままSRCCOPYしても真っ白なままです。 hDC = GetDC(hWnd); hMemDC = CreateCompatibleDC(hDC); GetClientRect(hWnd); DrawText(hMemDC, szText, -1, &rec, DT_WORDBREAK); BitBlt(hMemDC, 0, 0, rec.right, rec.bottom, hDC, 0, 0, SRCCOPY); のような感じで、取り敢えずウィンドウの大きさそのままに描画してもダメでした。 これが DrawText(hDC, szText, -1, &rec, DT_WORDBREAK); に置き換えると、ちゃんと描画されます。 プロポーショナルフォントを使っているので、ウィンドウサイズに合わせてポイントを変えるとずれてしまうので、 設定したフォントのまま縮小出来れば、、と試行錯誤してますが、デバイスコンテキストの描画の時点で止まってしまってます。 助言どうかよろしくお願いします。
608 名前:607 [2008/01/20(日) 12:12:20 ] すいません、一行書き間違えしました。 >BitBlt(hMemDC, 0, 0, rec.right, rec.bottom, hDC, 0, 0, SRCCOPY); →BitBlt(hDC, 0, 0, rec.right, rec.bottom, hMemDC, 0, 0, SRCCOPY);
609 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 12:29:26 ] CreateCompatibleDCでググれ。 メモリDCはビットマップを割り当てないとまともに使えない。
610 名前:デフォルトの名無しさん [2008/01/20(日) 16:37:28 ] 2008/01/20 現在での最新のVisualC++ のバージョンは何でしょうか?
611 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 16:40:49 ] マイクロソフトの公式でも池よカス
612 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 16:47:11 ] >>611 いっぺあってどれがどれやらワケワカメなんだよボケェ 体系的に整理されていないと頭にインプットされねーんだよウンコ
613 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 16:52:28 ] 2008じゃないの?
614 名前:デフォルトの名無しさん [2008/01/20(日) 17:00:35 ] まずなにしたらいいですか
615 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:09:27 ] >>614 オナ・・・というのは置いといて Hello world を表示だな
616 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:10:33 ] >>614 コーヒーを用意し 服を脱ぎ コーヒーに塩を入れ 裸体のまま一気に飲む
617 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:16:28 ] >>614 void main() { printf( "Hello world!!\n" ); } これを動かしてみ? できるかな? できるかな?
618 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 17:25:46 ] >>614 なんで手に入れたんだよ ワレズか? 違法だからやめとけお勧めしないから違法なんだよ
619 名前:デフォルトの名無しさん [2008/01/20(日) 17:47:26 ] >>609 更に調べてみたら、どうにか作りたい形に近づきました。 hBmp = CreateCompatibleBitmap(hMemDC, rec.right, rec.bottom); SelectObject(hMemDC, hBmp); のようにしてから、DrawText, StretchBltをhMemDCに出力したところ、反映されたのですが、 テキストの埋まってない余白部分が黒くなってしまいます。 HBITMAPやCreateCompatibleBitmapで調べてるのですが、どうも背景を白く塗りつぶす事が出来ず・・・。 SelectObject(hMemDC, hBmp); に関してはメモリデバイスコンテキストとBITMAP領域をリンクした状態にするという感じでしょうか・・・?
620 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:40:28 ] DrawTextやStretchBltは呼べるのに、何故FillRectを呼ばないのかと
621 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:47:16 ] >>619 DrawText()とか使うなら、SetBkColor()やSetBkMode()を覚えましょう。
622 名前:デフォルトの名無しさん [2008/01/21(月) 00:46:43 ] Cプログラマ必須テキスト! mori.eco.to/
623 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:37:57 ] Visual Studio 2005 でリビルド ↓ ========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ========== リビルドがすべて正常に完了しました ↓ デバッグする ↓ ダイアログで 「プログラム×××.exeは開始できませんでした。」 と表示され、デバッグできません。 何のエラーメッセージも表示されないのですが 心当たりのある方いますか?
624 名前:619 mailto:sage [2008/01/21(月) 04:30:52 ] >>620-621 レスどうもです。SetBkColorは書き忘れただけで、書いてました。が、ダメでした。 FillRectは完全に盲点でした。。存在すら知らなかったもので、試した所、上手く行きました。 本来はマスクかけたりとか色々やるべきなのかもしれませんが、 取り敢えずテキストを白背景に黒で表示という目的は達する事が出来、ありがとうございました。
625 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:23:25 ] 質問です。 タスクトレイのアイコンから最小化、元のサイズの処理をしているんですが、 最小化は ShowWindow(hWnd,SW_MINIMIZE); ShowWindow(hWnd,SW_HIDE); で、出来るんですが、下のサイズの処理をした時に、ウィンドウがアクティブにならず、他のものに隠れて後ろに表示されてしまいます。 処理は ShowWindow(hWnd,SW_RESTORE); ShowWindow(hWnd,SW_SHOW); と書いているんですが、これのどこがいけないんでしょうか?
626 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:26:15 ] そのへん、いろいろあるんで似たような目的のAPIや引数をいろいろ試してみるといい。 まあ、SetForegroundWindowを併用するのが確実かなあ
627 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:48:47 ] >>626 レスありがとうございます。 一応、SetForegroundWindowやSetWindowPosを使って最前面に表示する事が可能なのは確認しましたが、 普通のウィンドウとは動作が違っちゃうんですね。 上記のものだと、関数が発行された時は確かにアクティブなんですが、そのあと後ろのウィンドウを消したりすると、 自分のプログラムが最背面になってしまいます。 自分の作ったウィンドウをmy、その他のウィンドウA、Bとあるとすると、 アクティブ順位が1:A、2:Bの状態から1:my、2:A、3:Bになり、AやBを最小化すると、 1:A(B)、2:myになってしまいます。何故か分かりますか?
628 名前:デフォルトの名無しさん [2008/01/21(月) 11:05:56 ] visual c++ 2008 express editionでgeocoderja.dll内の関数gcjDbLoadを使うプログラムを書いています。が、エラーが出てしまいます。 dllを扱うには動的リンクと静的リンクがあるというところまではわかり、とりあえず動的リンクで試そうとしているんですがどうにもわかりません。 かなり低脳なので申し訳ないのですが、解決法を教えてください。 [ソース] #include "stdafx.h" #include <stdio.h> #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { typedef int(__cdecl* _gcjDbLoad)(char *, int); HINSTANCE hDll = LoadLibrary("geocoderja.dll"); int func = (int)GetProcAddress(hDll, "gcjDbLoad"); char *path = "C:/Documents"; int loadLevel = 4; int retCode = func( path, loadLevel FreeLibrary(hDll); return 0; } [エラー] ------ ビルド開始: プロジェクト: geocoderja, 構成: Debug Win32 ------ コンパイルしています... geocoderja.cpp c:\documents and settings\de\デスクトップ\geocoderja\geocoderja\geocoderja.cpp(16) : error C2064: 2 引数を取り込む関数には評価されません。 ビルドログは "file://c:\Documents and Settings\DE\デスクトップ\geocoderja\geocoderja\Debug\BuildLog.htm" に保存されました。 geocoderja - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
629 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:08:04 ] 引数はいろいろやったの? SW_SHOWNORMAL とか
630 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:14:37 ] SW_SHOWNORMALならRESTOREなんてやる必要ない
631 名前:628 [2008/01/21(月) 11:16:12 ] >>629 早速レスありがとうございます。 SW_SHOWNORMAL?? 動的リンクのサンプルを見ながらちょこちょこいじってきたんでよくわかりません。 すみません・・
632 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:20:43 ] typedef int(__cdecl* _gcjDbLoad)(char *, int); イミフメイ
633 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:21:57 ] >>628 何を聞いてるの? もともと間違いはあちこちあるけど、そのエラーは >int retCode = func( path, loadLevel この行が途中までしか書いてないから出るんだよ。
634 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:22:13 ] >>631 ShowWindow()の引数だよ それ一つあればSW_RESTOREもSW_SHOWもいらない
635 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:22:32 ] >>628 geocoderのことは知らないが > typedef int(__cdecl* _gcjDbLoad)(char *, int); ↑のように書いたのなら >int func = (int)GetProcAddress(hDll, "gcjDbLoad"); の行は _gcjDbLoad func = (_gcjDbLoad)GetProcAddress(hDll, "gcjDbLoad"); と書かないと意味無くないか? >>631 629-630はその前の質問に対するものだろ。
636 名前:628 [2008/01/21(月) 11:28:52 ] すみません訂正です。書き込みの際に消してしまったようです。 [ソース] #include "stdafx.h" #include <stdio.h> #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { typedef int(__cdecl* _gcjDbLoad)(char *, int); HINSTANCE hDll = LoadLibrary("geocoderja.dll"); int func = (int)GetProcAddress(hDll, "gcjDbLoad"); char *path = "C:/Documents"; int loadLevel = 4; int retCode = func( path, loadLevel ); //エラーが出てる行 FreeLibrary(hDll); return 0; } [エラー] c:\documents and settings\de\デスクトップ\geocoderja\geocoderja\geocoderja.cpp(13) : error C2064: 2 引数を取り込む関数には評価されません。 >>632 その行が意味もわからず見よう見まねで書いたのでよくわからないんです・・ >>634 ShowWindow()は使ってないのですが、関連があるんですか?無知ですみません・・
637 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:31:49 ] >>636 俺が悪かった ShowWindowは君の質問とは一切関係ないw
638 名前:635 mailto:sage [2008/01/21(月) 11:33:36 ] >>636 >int retCode = func( path, loadLevel ); //エラーが出てる行 エラーの出てるのはその行だろうけど 原因は635で書いたところにあると思うよ。 意味が分からないなら「関数ポインタ」について調べてみ。
639 名前:628 [2008/01/21(月) 11:42:21 ] >>637 完全に勘違いしてました。すみません。 >>635 635さんの言うように int func = (int)GetProcAddress(hDll, "gcjDbLoad"); を _gcjDbLoad func = (_gcjDbLoad)GetProcAddress(hDll, "gcjDbLoad"); にするとうまくビルドできました! 関数gcjDbLoadも使えているようです。 ありがとうございます! >>638 とりあえず動作するようにはなったみたいなのでいろいろと調べてみます。 ありがとうございます!
640 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:19:15 ] SW_SHOWNORMALも試しました。 ShowWindow(hWnd,SW_SHOWNORMAL); でも、>>627 に書いた通りの動作になってしまいます^^; ShowWindow(hWnd,SW_SHOWNORMAL); SetForegroundWindow(hWnd); でも同じです。
641 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:28:49 ] うちじゃそうならないから、キミのとこの環境がおかしいのかもね
642 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:49:08 ] 何で出来ないんですかねぇ; もうちょっと試行錯誤してみます。ありがとうございました。
643 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 17:45:19 ] Windowでプロジェクト全検索してみれば? どっかでアホな事やってるんだろう
644 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:47:59 ] Visual Basicにはちゃんとしたスレはないの? 変な流れのネタスレしかないお。
645 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:42:25 ] VB(笑)
646 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:09:20 ] 澄んだ目で見れば、ネタスレなどない。
647 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 05:14:22 ] >>644 サイトが充実してるから2ちゃんでやらんでいいやろ
648 名前:名無しさん@ゴーゴーゴーゴー! mailto:sage [2008/01/22(火) 10:08:57 ] VisualStadio2005を使っています。 コンパイルオプションにdefineを追加するのはどうやったらいいのでしょうか。 #define _CRT_SECURE_NO_DEPRECATE 1 #pragma warning(disable:4312) #pragma warning(disable:4996) 上記のをソースに書かず、オプションに追加したいんですが、 プロジェクト→〜のプロパティ→C/C++→コマンドラインの中に書くのでは違うのでしょうか? どこに、どう書いたらいいのか分かりません。 分かる方お願いします。
649 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 10:21:31 ] >>648 コマンドラインに書いてもいいけど、VC++でやるなら普通は プロパティのC/C++ - プリプロセッサの「プリプロセッサの定義」
650 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 10:23:34 ] あー、あとpragmaのほうは同じく C/C++ - 詳細の「指定の警告を無効にする」
651 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 10:48:29 ] 出来ました。ありがとうございます。
652 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 13:18:08 ] Visual C++とかVBの如くバカにされたときの反応を教えろ。(・∀・)
653 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 14:42:41 ] スルー
654 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 14:52:15 ] そうなんだーって言う
655 名前:デフォルトの名無しさん [2008/01/23(水) 01:42:39 ] Visual Studio.NET 2003でWin32のプログラムを作りました。 Visual Studio上でデバッグ起動することはできるんですが、 使ってる画像などを含めて、他のPCで動かすためのexeファイルを作るには どうすればいいんでしょうか? 解説してるサイトなどあったら、教えてもらえませんか。
656 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 07:03:54 ] exe作らずデバッグできるほどVC++は器用じゃない
657 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:39:25 ] Release版の話?インストーラーの話?
658 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 10:12:49 ] >>656 Debugフォルダにexeができてました。 画像を同じフォルダに入れたら動きました。 >>657 インストーラの作り方もできれば知りたいです。 exeファイルにアイコン画像をつける方法とかも。
659 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 10:42:29 ] すごく基本的なことだから少し勉強すればすぐわかると思う
660 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:08:16 ] リソースエディタで検索
661 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 15:22:03 ] >>660 ?????????????????????????????????????????????
662 名前:デフォルトの名無しさん [2008/01/23(水) 16:25:10 ] DirectShowを用いて二つのカメラからの信号をそれぞれサンプルグラバフィルタを使用して入力し、 RGB情報をカメラごとの配列に入れて画像処理で用いたいのですが、なかなかうまくいきません。 どのようにすればいいか、ご教示願えませんでしょうか。
663 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:26:45 ] VC++関係ない気が DirectShowと戦うスレ Part 2 pc11.2ch.net/test/read.cgi/tech/1162913156/ ここの誤爆?
664 名前:http:// p1062-ipbf4007marunouchi.tokyo.ocn.ne.jp.2ch.net/ mailto:ura [2008/01/23(水) 16:31:20 ] tbs
665 名前: p1062-ipbf4007marunouchi.tokyo.ocn.ne.jp mailto:ura [2008/01/23(水) 16:34:16 ] tbs
666 名前:655 mailto:sage [2008/01/23(水) 23:25:43 ] >>659 基本的なことなら、もう少し自力で調べてみます。
667 名前:デフォルトの名無しさん [2008/01/24(木) 19:54:53 ] VC++2002 MFC で CFormViewにリストコントロールを配置しています リストコントロールの幅や高さ等を取得したいのですがうまくいきません コントロールのサイズを取得する方法を教えてください
668 名前:デフォルトの名無しさん [2008/01/24(木) 20:13:28 ] 自己解決しました
669 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 13:28:26 ] VARIANTとCStringの変換について教えてください。 下記のようなコーディングで問題ないでしょうか? //VARIANTからCString CString hoge = newValue.bstrVal; //CStringからVARIANT CString hoge = "hoge"; vaResult.vt = VT_BSTR; vaResult.bstrVal = hoge.AllocSysString();
670 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 17:42:48 ] それでいいけど、VARIANTからCStringへは、 単にCString hoge = newValueでいけるはず。 あと場合にもよるけど、CComVariant (ATL), COleVarinat(MFC)もよろしく。
671 名前:デフォルトの名無しさん [2008/01/25(金) 20:59:51 ] プロジェクト内のファイルのファイル名を変更する 簡単な方法があれば、教えてください。現在は次の 方法でファイル名を変更しています。 (Visual C++6.0です。) (1) プロジェクトからそのファイルをいったん除外する。 (FileViewでファイルを選択し[編集]→[削除]) (2) エクスプローラでファイル名を変更。 (3) そのファイルをプロジェクトへ再度追加する。 [プロジェクト]→[プロジェクトへ追加]→[ファイル]
672 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 21:10:10 ] >>671 (1)の後、エクスプローラで操作しなくても、 (3)の追加時にファイル名変更すればいい。
673 名前:671 mailto:sage [2008/01/25(金) 21:17:46 ] >>672 なるほど。ありがとうございました。
674 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 00:37:17 ] 俺メモ ShowCursor()関数は単純に表示のON/OFFを切り替えるものではない 表示カウンタという意味不明なカウンタを持ってるらしく ON/OFF切り替えるには同じ回数だけtrueとfalseをセットする必要がある 氏ねよMS('A`)
675 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 00:40:02 ] MSDN見ずにAPIを叩いてはいけないという例。 >Parameters bShow >[in] Specifies whether the internal display counter is to be incremented or decremented. >If bShow is TRUE, the display count is incremented by one. >If bShow is FALSE, the display count is decremented by one. >Remarks >This function sets an internal display counter that determines >whether the cursor should be displayed. The cursor is displayed >only if the display count is greater than or equal to 0.
676 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 00:53:55 ] 流石にそれで氏ねは可哀想だろ。 とはいえ、自分で使うとしたらラッパ書いて単純トグルにしてしまいそうだけど。
677 名前:デフォルトの名無しさん [2008/01/27(日) 02:53:52 ] FileViewのツリーの中でファイルはファイル名の順に 並ぶようですが、この順序を変更することはできるでしょうか? Visual C++6.0です。