1 名前:デフォルトの名無しさん [2007/09/10(月) 12:20:27 ] 1 : ◆Manna2uCLg :2005/04/15(金) 13:33:14 Visual C++入門者・初心者からの質問を、 お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html myu.daa.jp/osiete/ ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5 。
435 名前:409 mailto:sage [2007/10/21(日) 10:21:58 ] >>409 >>418 どなたかご存知の方がおられましたら、教えてください。
436 名前:デフォルトの名無しさん [2007/10/21(日) 12:43:51 ] >>421 hBitmap=LoadImage(hInstance,"C:\\test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); なら、その後Bitbltで描けるようですが、 hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_NULL"),IMAGE_BITMAP,0,0,LR_DEFAULTCOLOR); これだと駄目です。MAKEINTRESOURCEを取っても駄目です。 パスで指定 → OK リソースから → 駄目 もう、どうしたらいいか・・・
437 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 12:48:21 ] >>436 GetLastError()で見たのかよ低脳 ""取ってみ MAKEINTRESOURCE("IDB_NULL")→MAKEINTRESOURCE(IDB_NULL)
438 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 12:51:43 ] >>434 自分の2005+XP SP2では問題は発生しない。 2000->XP SP2 はもちろんクリーンインストールだよな。 >>435 コンパイラの既定CRTライブラリは/MTなので、 出力されたオブジェクトファイルにlibcmt.libのリンク指示が含められている。 で、リンク時にCRTライブラリによってエントリポイントが解決された結果、 それが依存するライブラリもリンクされている。 CRT内部で何をしているか調べるのは正直骨だし、 とりあえず宣言しとけばいいんじゃね?被っても問題無いし。 ちなみに、エントリポイントを自分のコードで解決してCRTを一切リンクしなかった時は kernel32.libすらリンクされなかったので、あくまで依存関係に従っていると考えて良さそう。 >>436 リソースの識別には、16ビットIDと文字列を対応付ける二つの方法がある。 "IDB_NULL"という文字列を対応付けているなら "IDB_NULL" で良いが、 resource.hのIDB_NULLのID定義を介しているなら、MAKEINTRESOURCE(IDB_NULL)だ。
439 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 12:58:40 ] 画像はウィンドウクラスでカーソルとアイコンの登録しかやったことないけど メニューの指定でもいろいろ悩んだなぁ・・・。 とりあえずわかったことは 引数として文字列(のポインタ)が要求されるのに resource.h でリソース名に定数振られてて そのせいでうまくいかないっぽいってことはわかった。 画像とかの ID とかを "" で囲んで resource.h から #define の定義を消すとうまくいってた。 正当なやり方はよくわかってない。
440 名前:デフォルトの名無しさん [2007/10/21(日) 13:05:00 ] よくわかってない奴は黙ってろや あほが余計悩むだろ
441 名前:デフォルトの名無しさん [2007/10/21(日) 13:10:39 ] >>437 ,438,439 " を外しても同じです。 エラーなどは出ません。 一応、使ってるのがVC5なんですよ。これって関係あるんかな? GetLastErrorも調べてみます。
442 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:17:43 ] たまに、resource.hに使われなくなったIDが残ったりするから、それかもしれないな。 .rcファイルとresource.hを目視で確認してみ。
443 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:21:34 ] 何か理由があってVC5なんて使ってるの? 新しいのに移行する時に余分に時間が掛かるだけだし情報も少ないよ
444 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:27:34 ] リソースビューでその画像が "IDB_NULL" ってなってるんじゃないの? "" とって IDB_NULL にしてみたら?
445 名前:デフォルトの名無しさん [2007/10/21(日) 13:33:21 ] >>444 画像名はリソースビューで見ても IDB_NULL で "" は付いていません。 本当に謎だ・・・
446 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:37:03 ] >>445 今手元に環境あるの?
447 名前:409 mailto:sage [2007/10/21(日) 13:57:16 ] >>438 オブジェクトファイルにコンパイラからのリンク指示が含まれているということなので、 dumpbinを使ってオブジェクトファイルの内容を調べてみたところ、libcmt.libのリンクを 指示するリンカオプションが含まれていました。 また同様に、libcmt.libをdumpbinで調べてみたところ、kernel32.libへのリンクが 指示されていました。 おかげで疑問が解決しました。ありがとうございました。
448 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 14:59:09 ] OS:XP Pro sp2で下記URL先のWindows アプリケーションがアクティブにならない状態です。 解決策はあるのでしょうか? ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1361138&SiteID=7
449 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 15:04:10 ] 解決してんじゃん いろいろやってみろよ お前には無理だけど
450 名前:434 mailto:sage [2007/10/21(日) 15:22:29 ] >>438 クリーンインストールです. サブPCが2000のままだったのでVC++6.0を入れて メインPC(XP)の.netの2005とモニタ並べて まったく同じ処理をやってもメインPCの方だけアクセス違反が…. 2005では文字コードをUnicode→マルチバイトへの変更が差分です.
451 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 15:29:12 ] 同じじゃないじゃん
452 名前:デフォルトの名無しさん [2007/10/21(日) 16:36:59 ] >>446 あります。 一応、LoadImage後に if (hBitmap == NULL) { MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK); return 0; } で調べてみると メッセージが出ます。
453 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 16:41:48 ] あるのに遅すぎんだよ
454 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 17:56:53 ] LoadImageで読み込めないフォーマットのビットマップの可能性もあるから、 まずは、FindResourceでリソースを見つけられているかどうか確認した方が良いな。 生成された実行ファイルをIDEで開けばリソースを覗けるはずだから、 IDが正しく対応しているかの確認も。
455 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:00:58 ] LoadImageで読み込めてるって書いてある
456 名前:434 450 mailto:sage [2007/10/21(日) 18:06:57 ] >>451 @windowsXP (.NETの2005)で文字コードをマルチバイト, Awindows2000(.NETの2005)で文字コードをマルチバイト, 同じ条件で@では終了時エラー,Aでは正常終了です. まったく同じ条件です. XPのSP2で何か気をつけるべきことがあるのかと考えていますが, まだ原因が特定できません.
457 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:12:33 ] 今まで問題のあるコードがたまたま動いていただけなんじゃねぇの。
458 名前:434 450 456 mailto:sage [2007/10/21(日) 18:22:27 ] >>457 うーん,その可能性も否定できないんですが 実際に複数台のPCで1日中ずっと処理を走らせて, 3年間,エラーが起きることはなありませんでした. エラーが起きる部分(ファイル読込)は少なく見積もって 数万回は走っているはずです. 終了時にエラー(アクセス違反)は一度も出ていません. 現在調べている時は余計な部分を削除していき, ファイル読込部分しか書いていないです.
459 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:33:12 ] 自分は絶対間違ってないという前提なら ここで質問されても答えようがないから マイクロソフトに直接聞け
460 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:34:41 ] 短いならコード出すべし。
461 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:36:08 ] Unicodeなら問題ないの?
462 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:42:48 ] どうせバッファオーバーフローとかだろ
463 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 19:14:49 ] どうしてデバッガで追うとかしないの?
464 名前:自作ブラウザ [2007/10/22(月) 17:48:37 ] VC++ 6.0 で htmlview を基本クラスにして、ブラウザを作成した時には マウスによるクリック処理をプログラマがコードを追加して実装しなくても、 左ボタン処理等が実装されていますが、これをカスタマイズしたい時には どうすればよいのでしょうか?
465 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 17:52:14 ] >>464 つ[JavaScript]
466 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 16:00:19 ] windows フォームアプリケーションを使ってるんですがC++と少し違いを感じました。 messagebox.showをmessagebox::showと書いたり messagebox以外にもいろんな機能を使いたいんですがなんと入力すればいいのかわかりません。 ファイルを特定フォルダに作成したり、特定なファイルを上書きしたり、別ウィンドウを開いたりしたいんですが 誰か教えてください
467 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 17:20:25 ] C++出来るんならMFCなりapiたたいたりapiクラス化するなりで良いじゃん
468 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:30:31 ] >>466 がやっているのは、C++/CLI だ。 というわけで .NET Framework のリファレンスを見れ。 もっとも、.NET 触るんであれば、俺は C# をお勧めする。
469 名前:デフォルトの名無しさん [2007/10/24(水) 05:26:09 ] >>468 だな。VSC++はネーテブコード吐き出すためのツールだと知れ>>466
470 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:31:13 ] VS2003.NET→VS2005に環境を移行しました。 が、VS2003.NETでは警告、エラーともにでなかったソースでもVS2005だと警告が出ます。 調べたところ、文字コードがUNICODEではないため警告が出ているようです。 そこで、文字コードを一括(プロジェクト内のソースすべて)をUNICODEに変更するにはどうすればよいのでしょうか?
471 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:37:28 ] めんどくさいぞ それよりプロジェクトのプロパティで以前の文字コードに設定したらどや
472 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:46:34 ] >>471 ありがとうございます。 プロジェクトのプロパティはVS2005の設定項目のどこを変更すればよいのでしょうか? 質問ばかりですいません・・・・
473 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:57:41 ] 左側のソリューションエクスプローラのプロジェクトファイルのアイコンを右クリック→プロパティ 全般のページが開いてると思うから真ん中当たりに文字セットがある 2005からデフォルトでUNICODEになった
474 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 06:15:14 ] VS2003.NETで作成したプロジェクトをVS2005で開き、>>473 の部分を確認したのですが、 すでに「マルチバイト文字セットを利用する」となっていました。 warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 出てくる警告は上記のものです。これは気にしなくてもよいのでしょうか・・・
475 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 06:17:54 ] 何やそれかw ファイル→保存オプションの詳細設定でUnicodeで保存し直したら消えるんちゃう?
476 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 06:40:16 ] これでいけそうですね。 ただ、ファイルが十数ファイルあるので一括変換できればうれしかったのですが・・・残念です。 早朝からありがとうございました。
477 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 11:49:14 ] >>476 せっかくVC++使ってるんだから 一括変換のプログラム書けばいいだろう
478 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 12:54:31 ] >>467-469 ありです。やってみます
479 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 21:59:36 ] 超初心者で申し訳ないのですが、質問があります。 VC++ 2005で、 ttp://tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_6.htm を参考にペイントツールを作成していたのですが、 ツールバーのボタンが押されたときに呼び出される関数を設定する所で詰まってしまいました。 ClassWizardのない2005では、この部分をどう作ったら良いのでしょうか?
480 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 22:17:38 ] ツールバーのボタンを押す
481 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 22:20:29 ] 最初メニューにコマンド追加して それをツールバーにも設定
482 名前:479 mailto:sage [2007/10/25(木) 22:40:56 ] >>481 クリアしました。 啓蒙ありがとうございました。
483 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 06:53:45 ] オブジェクト指向プログラミングを大きく分けてみたんですが、 カプセル化、抽象化、階層化で合ってますか?
484 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:16:05 ] 質問ですが、フォルダをウィンドウから開きたい場合はどうしたらよいのでしょうか? 例えばですが、 ウィンドウにマイコンピュータの画像を貼り付け、そこをクリックしたらマイコンのフォルダが開く。と と、したいのですが、色々調べていてやり方がさっぱり分かりません。 分かるかた是非教えて下さい。また、参考サイト等ありましたら合わせて教えて下さい。お願いします。
485 名前:デフォルトの名無しさん [2007/10/26(金) 10:34:18 ] system("explorer.exe C:\\");
486 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:41:15 ] >>485 レスありがとうございます。 書いて頂いたのは、プロンプトが一回開いてしまうんですが、そのまま直にフォルダを開く事はできませんか? 私が今まで書いていたものは、 ShellExecute(hWnd, "oepn", "パス", NULL, NULL, SW_SHOWNORMAL); なんですが、この方法ではうまくいきませんでした。無理なのであればsystem()でやろうかと思います。 また、マイコンピュータを開く場合、ファイルパスがうまく指定できないのですが、何故でしょうか・・ C:\Documents and Settings\ユーザ名\Favorites\My Computerではフォルダがないと言われるんですが、違うのでしょうか。 度々ですが、宜しくお願いします。
487 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:44:12 ] 質問小出し野郎はスルーするのが吉
488 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 11:01:22 ] "oepn"ではフォルダはオープンしないと思う。せいぜいできるとしてもオエプンくらいかな。
489 名前:デフォルトの名無しさん [2007/10/26(金) 11:14:04 ] ShellExecute(hWnd, "open", "explorer.exe", "パス", NULL, SW_SHOWNORMAL); でいいのかな。 参考サイト:www.google.co.jp つかいかた:テキストボックスに [ShellExecute explorer.exe] と入れて [google検索]ボタンを押す
490 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 11:20:18 ] ホームラン級の馬鹿ですね
491 名前:デフォルトの名無しさん [2007/10/26(金) 11:26:08 ] つか、ここに書いてあるやん。 msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpshell/html/_win32_shellexecute.asp main() { ShellExecute(NULL, "open", "C:\\Documents and Settings\\NEC-PCuser\\Favorites" , NULL, NULL, SW_SHOWNORMAL); }
492 名前:デフォルトの名無しさん [2007/10/26(金) 11:30:25 ] >>489 は ShellExecute(hWnd, "explore", "パス", NULL, NULL, SW_SHOWNORMAL); だね
493 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 12:17:05 ] で、マイコンピュータのパスの調べた方も教えてやれよ
494 名前:デフォルトの名無しさん [2007/10/26(金) 12:19:47 ] 「教えてやれよ」 とは何だよ。 人にモノを尋ねるときは、「教えてください」 だろ
495 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 12:40:10 ] なんとなく教えてくれてるっぽい人どうも 全部自分でなんとかなりました。
496 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 14:30:27 ] マイコンピュータをユーザー名だけで決めうちはどうかと
497 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 14:39:24 ] 気になるから便乗するけどマイコンピュータのパス(?)は環境変数 USERPROFILEでいいんですか?
498 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:59:07 ] 調べたけど、マイコン他特殊フォルダはパスじゃない。 レジストリのIDみたいなの
499 名前:デフォルトの名無しさん [2007/10/26(金) 17:52:11 ] おまいら降参か?ホレ ShellExecute(NULL, "explore", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", NULL , NULL, SW_SHOWNORMAL);
500 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:40:24 ] 降参も何も、ほぼ答え出た時点で終ってるのに
501 名前:デフォルトの名無しさん [2007/10/26(金) 18:43:59 ] 「おまいら降参か?ホレ」 とは何だよ。 「ググりました。これで合っていますか?」 だろ
502 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:54:41 ] その長ったらしいのいちいち憶えてるわけにいかないから 特殊フォルダ id でぐぐったら出てくることだけ知ってれば十分
503 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:03:58 ] clsidの前の::もいるんですか?
504 名前:デフォルトの名無しさん [2007/10/26(金) 19:06:35 ] 「ググれ」で済むならこのスレいらんだろ。
505 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:09:29 ] ググれで済むよ。ググる能力もない奴はプログラムやる資格ない
506 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:10:58 ] 答え丸写ししなきゃできないならプログラミングは無理だから土方でもやったほうがいい
507 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:11:53 ] 「ググれ」で済む程度の問題でこのスレに来るな
508 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:13:14 ] >>504 子供かよ
509 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:13:46 ] ありがとうございます
510 名前:デフォルトの名無しさん [2007/10/26(金) 19:20:59 ] >>500-502 おまいら、何も泣く事は無いだろ。 ここは初心者スレなんだから、知らなくても恥にはならないぞ。
511 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:24:00 ] >510は >498に答え書いてあるのに気がつかない初心者
512 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:25:48 ] >>510 ここは初心者スレだけど初心者のお前が威張れる場所じゃない。
513 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:27:53 ] >>509 どういたしまして^^
514 名前:デフォルトの名無しさん [2007/10/26(金) 19:43:06 ] >>511 ば〜か、>>498 は無視されてるのに気づかないの?
515 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 20:14:44 ] とりあえずage厨の子供が一人いたということでFA?
516 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:25:56 ] なんでいつまでたってもSHGetSpecialFolderPathとか出てこないの
517 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:28:58 ] 既に解決済みだから
518 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:32:14 ] >487
519 名前:デフォルトの名無しさん [2007/10/26(金) 23:34:19 ] まだやってるのかよ、しつこいな。
520 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:38:56 ] >487
521 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:42:58 ] clsid直書きで解決ってどんだけー
522 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:45:47 ] 馬鹿は心の隅で笑うのが鉄則 下手に指摘しても知恵を付けさすだけ
523 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 23:35:34 ] VS2005 Pro.を使用しています。 プロジェクトにクラスの追加を行う方法について困ったことがあります。 あるヘッダファイルに書かれているクラスをProjectに追加するにはどうすればいいでしょうか?普通はどのように追加するものでしょうか? 以下のようにするとコンパイルエラーになります。 1. ソリューションの作成 2. ソリューションにProject Aをクラスライブラリとして追加 3. Project Aにあるheader ”Common.hとします” を#includeで追加 4. ソリューションにProject Bをクラスライブラリとして追加し、同じようにCommon.hを#include 5. Main ProjectにProject AとProject Bを「プロジェクト」 -「参照の追加」で追加 ビルド →Common.hで定義された型が再定義されました。というエラー。
524 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 02:33:01 ] ソリューションエクスプローラを開いて 「ヘッダー ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でヘッダーを入れて 「ソース ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でソースを入れて クラスが必要なソースからヘッダーを include すればいい
525 名前:デフォルトの名無しさん [2007/10/29(月) 02:36:03 ] アイタタタタタ・・・
526 名前:523 [2007/10/30(火) 00:39:16 ] 返事が遅くなってすいません。調べてみると、public, privateが決まってくる ような気がしました。 Main, ClassLibA, ClassLibBでヘッダファイルに書かれたClassZを includeしたいと思います。ClassLibA, ClassLibB, ClassZはPublic ref のクラスです。 ClassLibA, ClassLibBはクラスライブラリとして追加したものです。 Main Class・・・ClassLibA, ClassLibB ClassLibA・・・ClassZ(includeで追加) ClassLibB・・・ClassZ(includeで追加) Main Class, ClassLibA, ClassLibBそれぞれでClassZで定義された メンバを使いたいと思ってます。 ただし、上記でコンパイルすると、再定義警告となってしまいます。 ClassZをprivateにして、Main, ClassLibA, ClassLibBのClassで includeするしかないでしょうか? ClassZはClassLibA, ClassLibBを参照した場合にしか使わないので、 なるべくincludeという形で別includeにしたくないと思っております。 上記のように2つのdllから共通のクラスを使い、その2つのdllを使う クラスがある場合はどのようなクラス構成、設定にするべきでしょうか? 長々と書いてしまってすいません。
527 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 01:00:03 ] .net かよ...
528 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 01:58:49 ] >>526 C++/CLIはスレ違いだよね ClassZもdllにしたら? とりあえず.netについて分かってない気が
529 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:38:00 ] VS2005でファイル操作をするためにfstream.hをインクルードしたいのですが、 ファイルを開けないと出るのですが、fstream.h以外に何かありますでしょうか?
530 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:44:11 ] fstream
531 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:58:49 ] #include <iostream> #include <fstream> void main(){ char buf[512]; // ifstreamのインスタンスを作る // C言語のfopenと同じ ifstream ifs("input.txt") ; // ofstreamのインスタンスを作る // C言語のfopenと同じ ofstream ofs("output.txt") ; // ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。 while( ifs.getline( buf, sizeof(buf) )) // ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む ofs << buf << endl; } コンパイルエラーになるんですが、なぜですか?
532 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:20:16 ] バカじゃねぇの using namespace std;
533 名前:デフォルトの名無しさん [2007/10/30(火) 20:24:42 ] #include <iostream> #include <fstream> using namespace std; void main(){ char buf[512]; // ifstreamのインスタンスを作る // C言語のfopenと同じ fstream ifs("input.txt" ,ios::in) ; // ofstreamのインスタンスを作る // C言語のfopenと同じ fstream ofs("output.txt",ios::out) ; // ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。 while( ifs.getline( buf, sizeof(buf) )) // ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む ofs << buf << endl; }
534 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:35:10 ] ありがとうございます。
535 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:50:33 ] >>532 は無知の知を知らぬ無知
536 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:54:45 ] ググれば分かるレベルだろ 答えもしてない分際で答えた者をバカにするな
537 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:58:57 ] ( ´,_ゝ`)プッ たかが2chで簡単な答えを書いただけの癖に随分と偉そうですなあ
538 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 21:05:22 ] ( ´,_ゝ`)プッ たかが2chで簡単な質問を書いただけの癖に随分と偉そうですなあ
539 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 21:54:39 ] >>536 先に答えが出たので答えなかっただけ。 たまたま自分が答えを知っていたというだけで質問者を愚弄する者こそ愚者と知るべし。
540 名前:デフォルトの名無しさん [2007/10/30(火) 22:06:49 ] たまたまってレベルじゃねぇぞ お前どんだけレベル低いんだ
541 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 22:08:39 ] >>539 >答えもしてない分際で答えた者をバカにするな 日本語読める?
542 名前:デフォルトの名無しさん [2007/10/30(火) 22:40:20 ] Q&A系スレッドを勝負に例えるなら 答えた者が勝ち。 答えられなかった者は負け。 答えられなかったのに捨てゼリフ吐くのはみっともない。 亀田3兄弟よりみっともない。
543 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 22:52:30 ] ここC++スレじゃないし
544 名前:デフォルトの名無しさん [2007/10/30(火) 23:00:49 ] ↑ 亀田3兄弟よりみっともない男
545 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:20:50 ] スレ違いは犯則負け
546 名前:535 mailto:sage [2007/10/31(水) 00:10:22 ] >>540 >質問者を愚弄する者こそ愚者と知るべし ~~~~~~ 勝ち負けの問題じゃない。君こそ日本語を読め。 しかも、俺じゃない奴(>>543 )すら攻撃するし。 自分以外は全員敵かよw
547 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 00:17:30 ] レス番間違ってるし 同一人物だと思ってるし 自分以外は全員敵かよw
548 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 00:27:48 ] ( ´,_ゝ`)プッ なら口ださなきゃいいのに>>547
549 名前:デフォルトの名無しさん [2007/10/31(水) 02:53:50 ] picutureBox1とpicutureBox2があって、 picutureBox1 Clickの処理をpicutureBox2 Clickにも同じくさせたいんですが、 どうのようにすればいいでしょうか?
550 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 08:01:23 ] 自分の使ってる物も分からんのか スレ違いだ馬鹿野郎
551 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 08:39:39 ] C++/CLIはOKだろ。 >>549 PictureBoxの派生クラスを書けばいい。 追加 - クラス - C++クラス で作成、 ビルドした時点でツールボックスに追加されるので、 後は普通のPictureBoxと同じように配置すればいい。
552 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 08:43:14 ] 専用スレがあるのにもったいない
553 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 09:28:52 ] VisualC++6.0ではMSDN入れないと型情報自動表示機能は使えないのでしょうか?
554 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 09:39:26 ] MSDNなんか参照しないよ
555 名前:デフォルトの名無しさん [2007/10/31(水) 11:58:43 ] LRESULT から intに正しく変換する方法を教えてください
556 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 12:28:14 ] intでキャスト
557 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 16:25:21 ] Windows XP sp2 Visual C++ 6.0 フォームの中のボタンを押すとWindowsキーを押したようにしたいと思っています。 フックして仮想キーコードを取得するところまででき,Windowsキーのコードは確認できたのですが, そこからWindowsキーを押したように見せる方法がわかりません。 どうすれば,Windowsキーを発行することができるんのでしょうか。
558 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 16:36:42 ] WM_LBUTTONDOWNでも送りつけてみたら?
559 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 17:00:16 ] >>558 さん お返事ありがとうございます。 >WM_LBUTTONDOWNでも送りつけてみたら? 実際にはどのような関数を使えばいいのでしょうか。
560 名前:558じゃない人 mailto:sage [2007/10/31(水) 17:14:36 ] うーん。PostMessage()で、WM_KEYDOWN(WM_SYSKEYDOWN?)を送るというアイデアぐらいしか 思いつかない。
561 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 17:20:40 ] >>559 >実際にはどのような関数を使えばいいのでしょうか。 PostMessage()
562 名前:557 mailto:sage [2007/10/31(水) 17:29:05 ] >>560 さん,>>561 さん ありがとうございます。 WM_KEYDOWN(WM_SYSKEYDOWN?)とPostMessage() の使い方がわからないので探してみます。 名前さえもわからない状態だったので,とてもうれしいです。 うまくできたら,ご報告させて頂きます。
563 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 08:43:17 ] 文字コードがバラバラのファイルを 同じ文字コードに統一したいのですが、 どのように処理したらいいのでしょうか? ちなみに、VC2005です。
564 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 08:50:42 ] 文字コード判別→変換
565 名前:563 mailto:sage [2007/11/01(木) 08:53:17 ] >>564 すばやい回答ありがとうございます。 文字コード判別になにを使えばいいでしょうか?
566 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 08:57:40 ] Windows的にはMLang。 だけどnkf使った方が楽。
567 名前:563 mailto:sage [2007/11/01(木) 09:05:27 ] .NET の方にはなにかないですか?
568 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 10:39:24 ] スレ違い
569 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 11:13:48 ] >>567 死ね
570 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 13:32:02 ] >>567 死ね
571 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 14:09:14 ] >>567 死ね
572 名前:デフォルトの名無しさん [2007/11/01(木) 14:38:35 ] >>567 生きろ
573 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 18:31:21 ] >>567 C++なんだから、そこだけネイティブで>>566 とすればいいじゃない。
574 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 09:24:11 ] WM_CREATEの中でBeginPaintって出来ませんか? WM_PAINTじゃなく、CREATEの中でLineToとか一度だけの表示をしてしまいたいんですが・・
575 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:27:48 ] いちいち聞かなくても好きなところで書けばいいよ 自分でやってみればわかるから
576 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:09:17 ] ウィンドウを常に画面の右上に固定や左下に固定で表示させるのはどうしたらいいでしょうか? CreateWindow内で座標を指定するのではなく、どのPCで開いてもちゃんと画面左上などの位置にぴったり表示させたいんです。 分かる方お願いします。
577 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:13:46 ] 座標を指定する
578 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:20:15 ] その座標を指定するというのはディスプレイサイズが分かる関数があるんでしょうか?
579 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:53:56 ] VC++って何?ってところから勉強したいんですけど、オススメの書籍ありますか? C#は1年くらいやったんですが、VC++は初めてで・・・
580 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:25:33 ] VC++って何?という状況だと勧められるものはない
581 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:40:14 ] >>574-575 これくらいは、実験するよりも仕様を確認するほうがいいと思う。 msdn2.microsoft.com/en-us/library/ms534894.aspx
582 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:45:32 ] >>578 GetMonitorInfoとかそこら辺を使う
583 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:47:14 ] GetWindowRect で十分な気がする
584 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 23:18:39 ] 初心者スレでいきなり敷居の高い話をし始める>>582
585 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 07:52:54 ] MonitorFromWindowで自分のいるモニタのハンドルとって、 GetMonitorInfoでそのモニタの作業領域を取得するだけ。 簡単だろ。
586 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 09:20:02 ] GetWindowRect一回呼ぶだけ
587 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 12:32:56 ] GetWindowRectのウィンドウハンドルには、何を指定すればいいのですか?
588 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 13:54:10 ] RECT rect; GetWindowRect(GetDesktopWindow(), &rect);
589 名前:デフォルトの名無しさん [2007/11/04(日) 02:31:20 ] Visual C++6.0でSTL(mapやset)を使ったコードをデバッグ情報を生成する オプションを指定してコンパイルすると、鬼のように長くてたくさんの 警告が出ます。警告の内容は、"デバッグ情報で識別子が255 文字に切り 捨てられました(warning C4786)"というものです。 この問題を回避するには次の選択肢の中から選ぶしかないのでしょうか? (1) 警告を表示しないようにする → 他の便利な警告を受け取ることができない。 (2) デバッグ情報を生成しない。→ デバッガが使えない。 (3) 死ぬほどたくさんの警告メッセージを我慢。→ 非常につらい。 (4) STLを使わない。→ それは無理。
590 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 02:36:06 ] #pragma warning (disable: 4786) が常套手段
591 名前:589 mailto:sage [2007/11/04(日) 03:54:29 ] >>590 うまくいきました。感謝します。
592 名前:デフォルトの名無しさん [2007/11/05(月) 16:44:09 ] tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_6.htm のお絵かきソフトを作るページを参考にしてるんですが 「ToolBar」の「IDR_MAINFRAME」のボタンとIDを書き換えても ページに書かれているようなIDに対応するような関数が作られず ボタンも描いたように表示されず灰色の使用不可のような状態 になってしまいます。 VS2005stdです。 どなたか、わかるかた、VS2005ではどうしたらよいか教えていただけないでしょうか。 お願いします。
593 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 16:50:01 ] >>592 マルチ死ね
594 名前:592 [2007/11/05(月) 16:56:38 ] マルチしてすみません。 ただ「くだすれVisualC++(超初心者用)」のほうが1000レスいったので こちらでも質問ささしてもらいました。 すいませんが教えてください。
595 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 17:34:30 ] ツールバーにハンドラ追加する方法なら少し前に誰かに教えたから過去ログ見ればいい ウイザードから追加する方法は知らん
596 名前:デフォルトの名無しさん [2007/11/05(月) 19:09:58 ] メモ帳で[F5]を押すと日付と時刻がペーストされますが、 Visual C++のエディタでも同じことができるでしょうか? できるなら方法を教えてください。
597 名前:デフォルトの名無しさん [2007/11/05(月) 19:32:57 ] 自分で[F5]を押せば分かるだろ?
598 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 19:59:39 ] Std以上のVCならマクロで簡単に出来るよ。もちろんキーボード割り当ても可能。
599 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 20:40:23 ] unicodeにすると char→CStringをどうやって渡すのかわからないです。 ヒントでいいから教えていただければ、、つД`)
600 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 20:46:28 ] CStringのコンストラクタ
601 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 21:21:27 ] CString は TCHAR データ型をもとにしています。 プログラムでシンボル _UNICODE が定義されたときは、 TCHAR 型は 16 ビット文字型の wchar_t 型として定義されます。 それ以外は、通常の 8 ビット文字型 char で定義されます。 Unicode 環境下では、CString オブジェクトは 16 ビットの文字で構成されます。 Unicode 環境以外では、CString オブジェクトは 8 ビットの文字で構成されます
602 名前:599 mailto:sage [2007/11/05(月) 22:46:31 ] >600 >601 ありがとう。 ちょいとそれを頭に入れてググル先生に聞いてみます。
603 名前:デフォルトの名無しさん [2007/11/05(月) 23:04:43 ] 初心者は黙ってVC++でMFCでウィザードでサクサクやるのがいいですよね?
604 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:14:49 ] いい というのは何を根拠として良いと判断するんですか?>>603
605 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:17:45 ] VC++がどーだ、MFCはあーだこーだ言ってないで、 サクサク作れるんだから作った方が勉強になるという意味で、 いいと思いますが。
606 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:26:12 ] サクサク作れない
607 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:32:03 ] MFCウイザードでさくさく作れる香具師は、 MFCウイザードがなくたってサクサク作れる。
608 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 07:54:50 ] MFCキライなヤツが増えたな。
609 名前:デフォルトの名無しさん [2007/11/06(火) 18:13:37 ] ダメ! MFCで人生を棒に振った悲しいプログラマが、いったい何人いることやら。 MFC犠牲者慰霊の塔の下に眠っている幾千幾万のプログラマたちが 成仏できずに毎晩、悲痛なうめき声をあげて助けを求めているというのに。 マイクロソフト社さえ見放した禁断の果実MFCを、なぜ今更? もうこれ以上、犠牲者が増えるのを善良な市民として見ていられない。 忘れなさい。MFCの事は忘れなさい。記憶の底から消し去るのです。 MFCなんて見なかった。聞かなかった。この世に存在しなかった。 いいですね?わかりましたね?
610 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 21:54:51 ] ダメ! .NET で人生を棒に振った悲しいプログラマが、いったい何人いることやら。 (ry
611 名前:デフォルトの名無しさん [2007/11/06(火) 22:13:12 ] VC++でWin32アプリならいい?
612 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 23:47:36 ] VisualC++6 と VisualC++.NET の差がわかりません 差はないのでしょうか? 今から始めるならVC.netでいいんでしょうか? VCに興味を持っている理由は .NET Frameworkとかの ランタイムのインストールをしなくても動くEXEが作れるらしいから、と DirectXでゲーム作ろうとしてもC++の参考書しかないから、なのですが VC.NETで作ったEXEは .NET Frameworkがないと動かないものになるのですか?
613 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 23:56:01 ] Visual C++ .NET 2002はVisual C++ 7.0、.NET 2003は7.1相当。 .NET抜きにして、C++コンパイラとしても開発環境としても機能は上がっている。 .NET Framework使うプロジェクトを作らなければ、 Visual C++ .NET 2002/2003でも.NETなしのネイティブプログラムが作れる。 ちなみに、現在の最新版は2005 (8.0)。ただ、上に書いたような事情は変わらず。
614 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:11:39 ] >>613 ありなとうございまつ 早速VC++2005EEをインスコしますた しかしネットだと.NET Framework使うプロジェクトか HalloWorldみたいなウインドウすら出てこないのの解説ばかりでつなorz 猫でもわかるプログラミングでも観ることにするでつよ
615 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:15:34 ] >HalloWorld 早くもオリジナルな要素を取り入れてるのか
616 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:24:29 ] >>614 SDK入れなウィンドウの表示なんてできへんで〜
617 名前:デフォルトの名無しさん mailto:age [2007/11/07(水) 00:59:03 ] すみませんが質問です。 大量のログをとれるようなDOSプロンプトというか、コンソールエミュレータと いうようなものを作る場合、リッチエディットコントロールを使うのがよいので しょうか? それともwin32アプリにしてしまって、入出力をリダイレクトするのが良いので しょうか?
618 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 01:00:01 ] >>615 もまい、やさしいでつね >>616 www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ をやらないと.NET Frameworkなソフトしか作れないということですか?
619 名前:デフォルトの名無しさん [2007/11/07(水) 01:08:09 ] >>617 特に見栄えを気にしなくてもいいのなら、「コンソールアプリ」 にするのがいちばん簡単だよ。 ログを取るだけで、画面にスクロール表示する必要がないのなら、ふつーにウインドウアプリ でもいいし。ログだけファイルに落とせればじゅうぶんだろ?
620 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 07:29:29 ] >>619 レスサンクス スクロールは使いたいですね。ログは軽く64kb以上になるので、リッチ エディットコントロールしかないかな、と。 イベントのことはよく分かりませんけど、CLIを真似する以上はEnterキーを 見張らないとダメそうで、どうしたもんだかと悩みますね。 teratermのログ機能と、DOSプロンプトが合体したような感じが望ましいの です。
621 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 08:39:00 ] ログ取るのにリッチエディットコントロールが出てくるのが意味不明だったけど それぐらいの容量なら普通のエディットコントロールでも余裕でいける
622 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 21:47:52 ] >>621 CREATEしたときにEM_SETTEXTLIMITを投げればいい、って言ってくれればいいのに。
623 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:12:57 ] AllocConsole
624 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:19:28 ] 上のGetWindowRect(GetDesktopWindow(), &rect);について質問です。 この関数でrect.leftをはじめ、ディスプレイサイズの取得が出来るのは分かるのですが、 それによってウィンドウの表示位置を変えていくのであれば、WinMainの中のCreateWindowの水平、垂直位置の更新をしなければいけませんよね? その方法ってのはどうやるんですか?一応ウィンドウの雛形やCreateWindowの再描画などで調べたんですが、さっぱりでして。
625 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:50:41 ] 起動時に位置を設定したいならCreateWindowに好きな位置を渡すだけだし 後で変えたいならMoveWindowとかSetWindowPlacement()など。
626 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:56:40 ] >>625 取り敢えずMoveWindowについて調べてぱっと記述してみたらできました。 SetWindowPlacementについてもまた調べてみたいと思います。 ありがとうございました。
627 名前:デフォルトの名無しさん [2007/11/08(木) 00:43:31 ] うは、Win32プロジェクトがないw イラネw
628 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 00:55:37 ] Windows SDKでも入れて、 あとは適当なプロジェクトを作って、適当にオプションいじっておけ。
629 名前:デフォルトの名無しさん [2007/11/08(木) 07:17:34 ] MUIに対応したものを作りたいのですが、 .rcconfigファイルの中身をどう書いたら良いかご存知の方はいませんか? サンプルアプリケーションを見てみたのですが、 <resourceType typeNameId="#4"/> の4が何を意味しているのかがわかりません。。
630 名前:デフォルトの名無しさん [2007/11/08(木) 07:30:10 ] C#やっている人がC++やってもわからないよね?
631 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 11:09:42 ] >>627 貧乏人乙w
632 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 20:44:10 ] スタンダード以上だと別途PSDK入れなくても Win32プロジェクトが最初から選べるのに気づいた ところでWin32プロジェクトってインテリセンスが 使えないんだが設定が悪いのか?それとも仕様?
633 名前:デフォルトの名無しさん [2007/11/08(木) 23:06:47 ] LNK2001: 外部シンボル ""public: virtual void __thiscall CWnd::DoDataExchange(class CDataExchange *)" (?DoDataExchange@CWnd@@UAEXPAVCDataExchange@@@Z)" は未解決です。 Visual Studio 2005でMFCのアプリケーションをコンパイルすると 上のようなエラーがいっぱいでるのです。 これはどうやって回避すればいいのでしょうか?
634 名前:デフォルトの名無しさん [2007/11/08(木) 23:12:48 ] ダメ! MFCで人生を棒に振った悲しいプログラマが、いったい何人いることやら。 MFC犠牲者慰霊の塔の下に眠っている幾千幾万のプログラマたちが 成仏できずに毎晩、悲痛なうめき声をあげて助けを求めているというのに。 マイクロソフト社さえ見放した禁断の果実MFCを、なぜ今更? もうこれ以上、犠牲者が増えるのを善良な市民として見ていられない。 忘れなさい。MFCの事は忘れなさい。記憶の底から消し去るのです。 MFCなんて見なかった。聞かなかった。この世に存在しなかった。 いいですね?わかりましたね?
635 名前:デフォルトの名無しさん [2007/11/08(木) 23:18:21 ] マイクロソフトは、.NETの成功に関わらず C++の開発を進めています。 次に発売するVisual StudioのMFCには、Vista用のWindowsメッセージの追加。 XmlLiteなどなど、お楽しみがいっぱいです。
636 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:22:34 ] そんなことよりもATLのopen source化をだな
637 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:06:25 ] >>633 VS2005の修復で直らなければ再インスコ
638 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:11:36 ] マイドキュメントのVisual Studio 2005のフォルダをまるまるノートにコピーして プロジェクトを開いたところ,作成していたプログラムの中のラベルが全て 黒塗りに表示されてしまいました。 ビルドして実行しても黒塗りは変わりません。 直す方法はありますか?
639 名前:デフォルトの名無しさん [2007/11/09(金) 00:45:40 ] PSRTとかLPSTRってString型みたいなもんですか?
640 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:22:46 ] >>639 ちゃうよ
641 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 05:46:56 ] 全くの無知なんですが、C・C++を覚えたいと思います。 まず何をするべきでしょうか?
642 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 06:24:21 ] C/C++のコンパイラをインストール このスレに来たからにはVisualC++だな
643 名前:デフォルトの名無しさん [2007/11/09(金) 06:31:52 ] >>642 把握d とりあえずいろいろ調べながらいじってみます! スレチに気付いたら黙って消えますw
644 名前:デフォルトの名無しさん [2007/11/09(金) 14:10:53 ] VisualC++のwindowsフォームアプリケーションで スクリーンキーボードを作ってるんですが 初期のウィンドウを非アクティブ化することができません。 どうしたらいいでしょうか?
645 名前:デフォルトの名無しさん [2007/11/09(金) 16:13:31 ] >>644 初期のウィンドウってなに? キーボード?
646 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 17:33:59 ] systemやgetchといった関数が「認識されません」というふうにエラーが出ます。 #include<windows.h>や#include<conio.h>のヘッダが登録できてないのでしょうか。 またそうであれば、やり方を教えてください。 よろしくお願いします。
647 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 17:43:48 ] windows.hとconio.hをインクルードしてもsystemやgetchは使えない。 systemを選択してF1押すべし。
648 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 17:53:24 ] >>647 選択とはドラッグでいいんでしょうか。 F1押すとヘルプが出るんですが、どの時点で押せばいいんでしょうか・・・
649 名前:デフォルトの名無しさん [2007/11/09(金) 18:00:11 ] ・まず、画面に出たエラーメッセージをよく読んでみてごらん。 読んでも分からないなら、省略せずにそっくりそのまま掲示板に貼り付けて質問しよう。 ・system関数を使うのに必要なヘッダファイルは何かな? (あえて正解は書かないよ。自分で調べる練習しなさい。宿題です) ・getchも同様。 Visual CコンパイラはIDE統合開発環境と、コマンドラインの2種類がある。 ・IDEはIDEの使い方を覚えなきゃいけないという障害は立ちふさがる。 ・コマンドラインのコンパイラは環境変数の設定とかなんとかメンドクサイ。 どちらも超初心者には敷居が高い。独学はかなりの覚悟が必要。 だれか先生になってもらってくれる人がいればいいんだけどね。
650 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:13:30 ] >>649 エラーメッセージは 'getch': 識別子が見つかりませんでした 'system': 識別子が見つかりませんでした です。 ヘッダファイルは <windows.h> <conio.h> だと思います。 違っていたら、調べ直すので指摘だけお願いします
651 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:25:31 ] 違ってます。 選択の説明しようと思ったけど指摘だけとのことなので省略。 まーがんばれ
652 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:53:40 ] windowsがどっからくるのよ stdlib
653 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 19:40:50 ] ::CreateProcessかなんかと勘違いしてるんだな 俺にはわかる
654 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 20:34:42 ] コンパイル通りました。ありがとうございました。 実はttp://fatalita.sakura.ne.jp/TubeRPG/のサイトのlesson1を 実行したかったのですが、コンパイルは通っても画面がすぐに消え "ハンドルされていないwin32の例外が発生しました" と出て実行できません。 何がおかしいのでしょうか。
655 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 21:36:28 ] そんな糞サイトの後始末頼まれても迷惑 書いた本人に直接聞けよ
656 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:33:26 ] うは、声がきもい。 インデントが変態。 空白の明け方がへぼい。 思考の流れが行き当たりばったり。
657 名前:デフォルトの名無しさん [2007/11/10(土) 01:27:18 ] 面白そうなのでオレも見てみた。 インデントが変???ぜんぜん変じゃないんだけど・・・ っつう事で、>>656 がどんな立派なコードを書いてるのか、期待age
658 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:27:26 ] www.wisdomsoft.jp/dev/api/windows/004 の #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { CHAR chStr[128]; wsprintf(chStr , "インスタンスハンドル : %d" , hInstance); MessageBox(NULL , chStr , TEXT("Kitty on your lap") , MB_OK); return 0; } が エラー 1 error C2664: 'wsprintfW' : 1 番目の引数を 'CHAR [128]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照) c:\documents and settings\gald.pc-p4gald\デスクトップ\sdaf4e\sdaf4e\asdf.cpp 7 エラー 2 error C2664: 'MessageBoxW' : 2 番目の引数を 'CHAR [128]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) c:\documents and settings\gald.pc-p4gald\デスクトップ\sdaf4e\sdaf4e\asdf.cpp 8 というエラーで実行できないんだけど なぜでございましょう? つか、VBやらC#の型はわかりやすいのに WCHARとかTCHERとかLPSTRとか理解しにくい型が多くて苦しい
659 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:31:08 ] >>658 エラー通りだな CHAR chStr[128]; を TCHAR chStr[128]; に変更すればいいんでない? それでエラーが出るなら、<tchar.h>をインクルードすればOK
660 名前:デフォルトの名無しさん [2007/11/10(土) 01:32:52 ] プロジェクトがユニコードになってるからだよ。 ANSIに変更しよう。 初心者がかならずつまづく超FAQだね。
661 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:42:19 ] 何回も同じ質問を見てるな テンプレにでも入れた方がいい気がする
662 名前:若者は馬鹿者 ◆KorX0HCHGU mailto:sage [2007/11/10(土) 01:43:24 ] >>659 #include <windows.h> #include <tchar.h> int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { TCHAR chStr[128]; wsprintf(chStr , "インスタンスハンドル : %d" , hInstance); MessageBox(NULL , chStr , TEXT("Kitty on your lap") , MB_OK); return 0; } エラー 1 error C2664: 'wsprintfW' : 2 番目の引数を 'const char [26]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) だそうでつ >>660 プロジェクトのプロパティ-構成プロパティ-全般 の 文字セットを「Unicode文字セットを使用する」から「設定なし」にしたら 上記のコードが動いたわけですが、 これはソースコードそのものがUnicodeだったからダメだったってことでつか? 理由がよくわからんです
663 名前:デフォルトの名無しさん [2007/11/10(土) 02:01:46 ] >>662 ユニコードじゃ無いアプリケーションを、ユニコードアプリケーションとしてコンパイルしようとした。 www.wisdomsoft.jp/dev/api/windows/003 ここには「将来性を考えて、これから文字コードは Unicode を用いるべきです。 」とか書いてあるけど・・・ 初心者はユニコードアプリには手を出さんほうがいいよ。もうすこし慣れてからがいい。 よっぽど注意深くコーディングしないと、ワケワカランことになるよ。
664 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 02:03:43 ] >>662 _T("インスタンスハンドル : %d") とすれば、いいよ TCHARってのは、コンパイル時に自動で、マルチバイト文字セットとUNICODE文字セットを切り替えてくれます 文字リテラル("文字列"とか'a'とか)については、_Tもしくは、TEXTマクロで、マルチバイト文字セットとUNICODE文字セットの変更を自動でしてくるようになります ソースコードがUNICODEとか言うんじゃなく、現在扱っている文字が何なのかをコンパイラに教えてやる必要があるって事です それを省略したら、勝手に、ANSIとかOEMとか言う文字セットとして扱われるって事です
665 名前:デフォルトの名無しさん [2007/11/10(土) 03:09:35 ] 非ユニコードアプリとユニコードアプリの差をまず理解しないとだめってことでつね
666 名前:デフォルトの名無しさん [2007/11/10(土) 10:46:55 ] 今、ゲーム作ってるんですけど教えてください。(ゲ製作で聞くべき?) ゲームの画面を(ウィンドウが隠れたりしても)表示させるために WM_PAINTで BitBlt(hDC2,0,0,200,200,GetDC(hWnd),0,0,SRCCOPY); てな感じでhDC2に退避させて、ウィンドウが隠れたりして再表示する時に hDC2から持ってくる・・・という風にしたいんですが、 1.WM_PAINTの部分で画面を退避させるという事は変でしょうか? 「普通はこうやる」っていうのがあれば教えて頂きたい。 2.退避させた画面はどの部分(ハンドラ)で戻すべきですか? 今のところ、WM_TIMERで一定時間ごとに戻してるのですが・・・
667 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 10:56:55 ] 予めメモリDCを作っておいて、描画は全てそこへ行う。 WM_PAINTでは、そのメモリDCからウィンドウDCへのBitBltに限る。 ってのが普通。
668 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 11:32:26 ] >>667 いまどきそんな原始的な方法なんかw
669 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 11:38:55 ] でも666はありえないだろ。 話はそれるがReleaseDCしていないのも目に付くし。
670 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:42:02 ] >>657 void main() {
671 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:43:53 ] 夫失敬。 >>657 void main(){ while (1) { DrawMap(); } } -- 変態かどうかは兎も角、不思議なコーディングスタイルだとは思う。
672 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:32:33 ] めんどくせー > VC++ Formねーじゃん どうやってGUIつくんだよ
673 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:46:10 ] 珍しいVC++だね。ウチのにはForm付いてるよ。
674 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:56:55 ] うちのはintも付いてない
675 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 01:03:24 ] それVirtualConsoleだろ
676 名前:デフォルトの名無しさん [2007/11/11(日) 01:40:15 ] VC6.0でプログラムしています。 MFCは使わず、APIのみ。 ダイアログボックスにコンボボックスを貼り付けて 内容(数字)をリストから選択するような動作をさせたいと思っています。 ワードでフォントを変更するときのコンボボックスのようなイメージです。 VC上でダイアログボックスにコンボボックスを貼り付け、 コンボボックスのプロパティのデータ にある”リストボックス項目の入力(N)”に 選択したい数字のリストを並べれば良いかと思ったのですが 実際に動かしてみると コンボボックスの▼を押してもキーボードの↓を押しても リストが現れません。 やり方が間違っているでしょうか? 関係ないかもしれませんが手元の参考書ではリストボックスを使用する場合の方法が書いてあり リストボックスを初期化するにはSendDlgItemMessage()関数を使用するとのことだったので 試しにやってみましたがリストボックスではリストに文字列を追加できましたがコンボボックスでは追加されませんでした。 内容に不足などありましたらご指摘をお願いします。
677 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 05:28:25 ] >コンボボックスの▼を押してもキーボードの↓を押しても >リストが現れません。 ああこれね
678 名前:676 [2007/11/11(日) 07:36:53 ] >>677 おはようございます。 良くある質問でしょうか? 申し訳ないですが質問内容が間違ってました。 ▼ボタンを押すとドロップダウンリストは出ます。 しかし、中が空っぽです。 リソースエディタで入力した内容を反映させたいのですが。
679 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 08:28:15 ] 早まって答えなくてよかった >リストボックスではリストに文字列を追加できましたがコンボボックスでは追加されませんでした 問題はこれか
680 名前:96 [2007/11/11(日) 09:14:14 ] リソースエディタのコンボボックスまわりの内容はこんな感じです // Dialog // IDD_CONFIG DIALOG DISCARDABLE 125, 110, 194, 95 STYLE DS_SYSMODAL | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION CAPTION "CONFIG" FONT 9, "MS Pゴシック" BEGIN LTEXT "コンボボックスで値を選択してください",IDC_STATIC,7,19,77,8 PUSHBUTTON "OK",IDC_CONFIG_OK,133,14,26,15 COMBOBOX IDC_COMBO2,86,16,46,71,CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | WS_TABSTOP END // Dialog Info // IDD_CONFIG DLGINIT BEGIN ←コンボボックスのリストに表示したい値(1〜20の数字) IDC_COMBO2, 0x403, 2, 0 0x0031, IDC_COMBO2, 0x403, 2, 0 〜〜〜〜省略〜〜〜〜〜〜〜〜 IDC_COMBO2, 0x403, 3, 0 0x3931, "\000" IDC_COMBO2, 0x403, 3, 0 0x3032, "\000" 0 END
681 名前:676=680 mailto:sage [2007/11/11(日) 09:15:52 ] 名前欄ミスしました。
682 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 09:31:42 ] リソースレベルでコンボボックスのデータを定義できるのはMFCの独自機能。 リソースビューの*.rcを選んでプロパティを見てもらえば分かるが、 'Mfc Mode'という項目が用意されている。 これをFalseにすると、コンボボックスのプロパティでData部分が無効になる。
683 名前:676 mailto:sage [2007/11/11(日) 13:38:36 ] >>682 なるほどそういうことでしたか。 ありがとうございます。 リストの値をSendDlgItemMessage()関数で追加できないと書きましたが 参考書で引数に LB_ADDSTRING を指定しているところで CB_ADDSTRING を指定するようにしたところリストに追加できました。 ありがとうございました。
684 名前:デフォルトの名無しさん [2007/11/11(日) 15:40:55 ] 質問させてください。 Visual C++ .net 2005で開発を行っています。 フォーム(Form1)やピクチャボックス(pictureBox1)に簡単なグラフを表示させたいのですが、 button1_Click等で描画すると、一度非表示になった部分の線が消えてしまいます。 Form1_Paintイベント内で描画すれば解決するのですが、毎回データを読み込んだり計算するのが 無駄に感じます。 Form1で非表示になった部分を消さないための方法はあるのでしょうか? または、なんらかのバッファに描画して、それをForm1_Paint内で毎回読み出すという方法のほうがいいのでしょうか? そのための方法等があれば教えてください。 よろしくお願いします。
685 名前:684 mailto:sage [2007/11/11(日) 15:44:04 ] 補足 線は、 Graphics^ gr = pictureBox1->CreateGraphics(); Pen^ pen1 = gcnew Pen(Color::Black,2); gr->DrawLine(pen1,10,10,200,200); こんな感じで書いています。
686 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:25:30 ] >>684 Imageに描いて、Paintイベントでgr->DrawImage
687 名前:648 mailto:sage [2007/11/12(月) 00:13:47 ] >686 なるほど、ありがとうございます。 Bitmapをバッファとして使い、Graphics::FromImageで取り込んだイメージに対して、 描画を行いました。おかげでうまくいきました。 ↓みたいな感じでよろしいでしょうか? 何か改善点があればご指摘お願いします。 Bitmap^ bmap1; private: System::Void mnDraw_Click(System::Object^ sender, System::EventArgs^ e) { Pen^ pen1 = gcnew Pen(Color::Black,2); Graphics^ gr1 = Graphics::FromImage(bmap1); gr1->DrawLine(pen1,10,10,100,100); // gr1->Dispose(); //なぜかエラーになる Form1::Refresh(); } private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { bmap1 = gcnew Bitmap(200,200); } private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { e->Graphics->DrawImage(bmap1,100,100,200,200); }
688 名前:デフォルトの名無しさん [2007/11/12(月) 00:15:57 ] >>687 Bitmap^ の 「^ 」 ってどういう意味?
689 名前:若者は馬鹿者 ◆KorX0HCHGU mailto:sage [2007/11/12(月) 00:16:21 ] Win32アプリ開発で VSの出力の部分にウインドウメッセージを表示したいのですが .netでいうSystem.Diagnostics.Debug.Printに相当する機能はないですか?
690 名前:デフォルトの名無しさん [2007/11/12(月) 00:18:17 ] >>689 ドットネットの質問は他所でやれ馬鹿者!
691 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:24:38 ] >>690 には>>689 が”ドットネットの質問”に見えるらしいw
692 名前:684 mailto:sage [2007/11/12(月) 01:09:01 ] >688 自動でガーベージコレクションをやってくれるようです。ようは、使い終わったら勝手にメモリを開放してくれるらしい。
693 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 03:14:25 ] >>692 なるほどー 2005からの機能ですね
694 名前:デフォルトの名無しさん [2007/11/12(月) 08:44:30 ] win32APIで虫眼鏡のプログラムを作ってます。 メモリデバイスコンテキストでマウスカーソル周辺を拡大したものを ディスプレイのデバイスコンテキストに転送してるんですが、 マウスを移動させたときに先ほど拡大した部分を元に戻して 移動先のマウスカーソル周辺をまた拡大という風にしたいんです。 ですが、毎回GetDC(0)をしたとしても拡大した後のディスプレイでは初期化できないし、 hdc2という二つ目のデバイスコンテキストに拡大前の状態を退避させて hdc1に復活させようと思ったのですがうまくいきません。 さらに、メニューを開いたり新たにソフトを起動させたりと、 刻々と変化するディスプレイの状態を追いかけつつ拡大できるようにしたいのです。 探し方が悪いのかもしれませんが、 いろいろ検索しましたが良い解決法が見つかりませんでした。 それに虫眼鏡のプログラミングを解説してるサイトもなさげだし・・・。 このような場合、どのような方法を用いればいいのでしょうか? よろしくお願いします。
695 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 09:49:55 ] MSDNのサンプルじゃダメなの? /****************************** Module Header ******************************* * Module Name: zoomin.c * * Microsoft ZoomIn utility. This tool magnifies a portion of the screen, * allowing you to see things at a pixel level. * * History: * 01/01/88 Created. * 01/01/92 Ported to NT. * 03/06/92 Cleanup. * ****************************************************************************/
696 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 10:35:31 ] 一応 .netを使ったC++/CLI は、普通のC++とは全く別物 .net使いたいならC#がいいと思う
697 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 12:45:26 ] argcとargvについて教えてください。
698 名前:694 mailto:sage [2007/11/12(月) 13:27:05 ] >>695 そのページってどこを探したらありますかね? MSDNのサイト調べても見あたらなかったんですが…。 教えて君で申し訳ありません。
699 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 16:26:41 ] >>698 Platform SDKはインストールしてる?
700 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:51:17 ] Visual Studio 2005を使って、DirectXプログラムを作ろうとしてます。 ちなみにOSはWindowsXP Home Editionです。 ネット上の解説サイトで、Visual C++ Express Editionを使って Windowsアプリケーションを作成する場合にはPlatform SDKが必要と書いてあるんですが、 Visual Studio 2005を使う際にもPlatform SDKをインストールしておいたほうが良いでしょうか?
701 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:58:14 ] 今ならPlatform SDKよりWindows SDKお勧め。 DirectXには、DirectX SDKが必要。 ただし、DirectShowには上2つの内どちらかが必要。
702 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:04:12 ] >>701 ありがとうございます。 DirectShowが何かよくわかりませんが、 解説本がPlatform SDKで進めているので、 これとDirectX SDKでやってみます。
703 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:20:49 ] VisualC++ Expressでプログラム製作をしています。 プログラム実行中にコードを書き換えてAlt+F9を押すと、動的にプログラム の内容を変えてくれますが、ボタンを押しても出来ない時があります。 これは何が原因なのでしょうか?
704 名前:700 mailto:sage [2007/11/12(月) 20:24:35 ] 度々すみません。 DirectXのテストをしようと、 D:\Program Files\Microsoft DirectX SDK (November 2007)\Samples\C++\Direct3D\Tutorials\Tut01_CreateDevice\CreateDevice.cpp を自分のプロジェクトフォルダにコピー、既存の項目を追加して、 ソリューションのビルドをしてみると以下のエラーが出ました。 CreateDevice.obj : error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAJPAUHWND__@@@Z) で参照されました。 C:\Documents and Settings\(ユーザ名)\My Documents\Visual Studio 2005\Projects\d3dtest01\Debug\d3dtest01.exe : fatal error LNK1120: 外部参照 1 が未解決です。 そこで、Direct3DCreate9を含む「d3d9.lib」をプロジェクト名→プロパティ→リンカ→入力の「既存の依存ファイル」に追加したのですが、 まだ同じエラーが起こります。 D:\Program Files\Microsoft Platform SDK\Bin/Lib/Includeのパスは追加したのですが、 他に何が原因なんでしょうか?