- 1 名前:デフォルトの名無しさん [2008/05/07(水) 23:33:53 ]
- Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html myu.daa.jp/osiete/ ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5辺り。
- 526 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:36:10 ]
- >>522
ダイアログBが生きてるなら、Bのパブリック変数なりゲッタなりで。 Bが消えるなら、消える前に上記。あるいは、AのポインタをBに渡しておいて BからAのパブリック変数に代入なりセッタなりで。
- 527 名前:デフォルトの名無しさん [2008/06/17(火) 16:14:55 ]
- VisualC++2005でMFCアプリケーションをダイアログベースで作成しています。
メイン画面からサブ画面を開くのに DoModal(); を使って開いているのですが、 このときサブ画面のエディットボックスなどに初期値を入れたいです。 メイン画面ではOnInit関数内でセットできたのですが、 サブ画面ではどこに記述して良いかわかりません。 初歩的な質問で申し訳ありませんがよろしくお願い致します。
- 528 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:19:44 ]
- サブ画面のダイアログのクラスにOnInitDialog()を作れ。
クラスビューからクラス選択してプロパティでオーバーライドをクリックして OnInitDialogを探せ。
- 529 名前:527 [2008/06/17(火) 16:48:10 ]
- >>528
おぉ☆★☆ 早速のレスありがとうございました!! 早々に解決できました。 ありがとうございましたm(_ _)m
- 530 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:24:34 ]
- >>524
>>526 まだ完成はしていないのですが、無事解決しそうです。 どうもありがとうございました。
- 531 名前:デフォルトの名無しさん [2008/06/17(火) 20:59:57 ]
- すいません。すごく今困ってます。
今先生から内緒でCDに焼いてもらったVisual Stadioなんですが、 #include <stdio.h> void main(void) { printf("Hello"); } これを実行すると プロジェクト : error PRJ0003 : 'cmd.exe' の起動中にエラーが発生しました。 ってなるんですが、どうしたら良いですか?? お願いします。
- 532 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:06:54 ]
- とりあえずMSにメールしといた
- 533 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:07:26 ]
- 環境変数のpathに %SystemRoot%\system32 を追加。
PCを再起動 コピーは良くない。逮捕されるぞ Visual studio のアカデミック版は安いんだから、買え。 一番基本的なバージョンは無料ダウンロードできるんじゃなかったっけ?
- 534 名前:デフォルトの名無しさん [2008/06/17(火) 21:11:24 ]
- >>533
あの・・・すいませんが 環境変数ってどこですか?;
- 535 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:18:50 ]
- 流石にこれにはレスしない方向にしたいな
- 536 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:21:23 ]
- 無料で使えるExpressEditionがあるのになぜこの程度の
事をするのにコピーしてもらうのかと、そもそも学校の課題とかなら EEでも十分すぐる
- 537 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:36:30 ]
- ていうか先生に聞けよw
- 538 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:04:52 ]
- ていうか、学校名晒せよ。
- 539 名前:デフォルトの名無しさん [2008/06/17(火) 23:17:23 ]
- >>531 これはさすがにまずいな、まして教職者がやる行為ではないね
TV用
- 540 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:21:19 ]
- 内緒って書いてあるな、 約束を破っちゃいかんよ
- 541 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:26:19 ]
- これはすごい釣りですね
- 542 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:35:27 ]
- 国際学生証作ればMSから正規にタダでダウンロードできるだろう
- 543 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:36:00 ]
- MouseButtons & Windows::Forms::MouseButtons::Right ;
Noneになるクソワロタ あれ・・・?
- 544 名前:デフォルトの名無しさん [2008/06/18(水) 10:50:59 ]
- こんにちは!
ボタン押しでファイル保存をしたいのですが、エクセルやワードを保存するときのように、 フォルダを選べて、名前をつけて保存したいです。 まず、その画面はどうやって表示したら良いでしょうか?? 環境はVisualC++2005のMFCです。よろしくお願いします。
- 545 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:54:23 ]
- CFileDialogで検索
- 546 名前:デフォルトの名無しさん [2008/06/18(水) 12:21:17 ]
- クラスについての質問です。
class MakeWindow { public: char Name[256]; int Width; int Height; int Bit; int ScreenMode; } MakeWindow mWindow = new MakeWindow("A", 640, 480, 32, SELECT_MODE); このようにしてオブジェクトを作成したのですが、 エラー 2 error C2661: 'MakeWindow::MakeWindow' : 5 個の引数を伴うオーバーロードされた関数はありません。(Line 6) と表示されます。 受け取り側の変数も5個で設定しているのですが、何が原因なのでしょうか。
- 547 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:35:09 ]
- コンストラクタでググれよ
- 548 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:50:11 ]
- エラーをよく見ろ
'MakeWindow::MakeWindow'という関数はないと言ってる そのまんま
- 549 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:54:28 ]
- 548はアホ
スレ違いだから終了
- 550 名前:デフォルトの名無しさん [2008/06/18(水) 16:01:45 ]
- 質問させていただきます。
Microsoft Visual C++ .NET でアプリケーション (.exe)作成しました。 void main()を実行した所 実行画面が立ち上がりません。 出力の表示は ”XX.exe: ネイティブ' はコード 0 (0x0) で終了しました。” となっています。 実行画面が表示されれば Sleep(2000)が入っているの目視できるはずです。 ステップインで実行した所次のようになっていました。 ・appmodul.cppの_tWinMainが実行 ・crtexe.cのif ( !managedapp )でmanagedapp=0 ・exit(mainret)が実行 ここで終了しているようです。 何とかmainの中身を実行させたいのですが何が原因なんでしょうか? 当方のスキル:社内プログラマ1年目 申し訳ありませんが何とかお力を御貸し頂きたいと思います。
- 551 名前:MFC始めて3週間目 [2008/06/18(水) 16:12:49 ]
- CEditView でフォントを設定するのはどうするの。
ちなみに以下ではできない。 int CDeepPurpleView::OnCreate(LPCREATESTRUCT lpcs) { if(CEditView::OnCreate(lpcs) == -1) return -1; CDC* pDC = this->GetDC(); CFont screenFont; screenFont.CreatePointFont(600,"MS ゴシック",pDC); CFont* pOldFont = pDC->SelectObject(&screenFont); return 0; }
- 552 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:33:42 ]
- >>550
MFCのプロジェクトを選んでいないか?main関数から始まるプログラムを作りたいなら、 Win32コンソールアプリケーションのプロジェクトを選ばないといけない。 あるいはMFCを使いたくてそうしているのなら、 プログラムの実行開始はmain関数でないというのがMFCの流儀。
- 553 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:40:41 ]
- フォントの寿命がOnCreate終わるまでなんだろ
- 554 名前:550 mailto:sage [2008/06/18(水) 17:10:31 ]
- >>552
ありがとう御座います。 MFCを使用しないため Win32コンソールアプリケーションで プロジェクトを組みなおした所 問題が解決しました。 ありがとう御座います。
- 555 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:15:45 ]
- mag.autumn.org/Content.modf?id=20060122170124 の
SetWindowsHookExのサンプルをvc++2008でコンパイルしてみたんだけど、 フックされる気配がない・・・どこか間違ってるの?
- 556 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:25:08 ]
- >>554
そういえばvoid main()は普通やらない。int main()にしろ。
- 557 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:44:35 ]
- >555
そのあとに、NyaRuRuセンセが「CLR上でフック動かすとか無謀すぎ」 って書いてるのに、何でコンパイルしたの?
- 558 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:30:55 ]
- >>543
MouseEventArgs^ a = (MouseEventArgs^)e; a->Button == MouseButtons::Right こうですか!わかりません><
- 559 名前:デフォルトの名無しさん [2008/06/19(木) 04:09:40 ]
- MFCで使われるCrectをCLRでも使いたいんですけど代わりのものってありますか?
- 560 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 04:41:04 ]
- 代わりって言うと微妙かもしれないけどRectangleとかかな?
- 561 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 10:37:53 ]
- >>551
まず、CFontが破棄されないように自動変数はやめてメンバーにでもして、 ↓でどうよ。 int CDeepPerpleView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CEditView::OnCreate(lpCreateStruct) == -1) return -1; screenFont.CreatePointFont(600, _T("MS ゴシック")); SetFont(&screenFont); return 0; }
- 562 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:46:53 ]
- TimerProc(UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
のdw1とdw2って、ドキュメントには予約って書いてあるけど、実際には使えないの?
- 563 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:51:27 ]
- そこに値設定する方法無いのに、どうやって使うつもりなんだ。
- 564 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 21:38:13 ]
- 予約領域のある関数や構造体なんてイヤというほど有るぞ。
- 565 名前:デフォルトの名無しさん [2008/06/19(木) 23:02:34 ]
- みなさんすみません。5日前からC++を始めた初心者です。
>383さんと関連するのかもしれませんが、下記のコードを実行すると、 期待した結果と異なる(結果は同じになると思うんですが)出力されます。 関数の引数を値渡しすると、初期化と同じとテキストに書かれているので、 こういう結果がなぜ起こるか分からないのです。 Visual Studio 2008 Express Edition Windows Vista void Print(char str[]) { cout << "サイズは" << sizeof(str) << endl; } int main() { char str[] = "Test"; cout << "サイズは" << sizeof(str) << endl; cout << "サイズは" << sizeof("Test") << endl; Print("Test"); Print(str); } 結果: サイズは5 サイズは5 サイズは4 サイズは4
- 566 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:16:26 ]
- >>565
"Test"の文字列を長くしたらどうなるか見てごらん。
- 567 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:17:31 ]
- 【初心者歓迎】C/C++室 Ver.55【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1213466622/ C++相談室 part62 pc11.2ch.net/test/read.cgi/tech/1211900039/
- 568 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:18:45 ]
- はきだめC/C++下級者の質問箱 2
pc11.2ch.net/test/read.cgi/tech/1156206091/
- 569 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:40:00 ]
- >>565
Print関数にはポインタを渡してるに過ぎない。 サイズが4なのはポインタのサイズ(32ビット)
- 570 名前:デフォルトの名無しさん [2008/06/20(金) 11:36:05 ]
- >>569
>>566 565です。ありがとうございます。そういうことなんですね。 すっきりしました。
- 571 名前:デフォルトの名無しさん [2008/06/20(金) 11:43:06 ]
- こんにちは!
現在VisualC++2005のMFCでプログラムを組んでいます。 Cのstr関数を使用しているのですが、下記のような警告が出ます。 warning C4996: 'strcat' が古い形式として宣言されました。 string.hを見ろって言われて見たのですが、 まだまだ未熟な為、よくわかりません。 一応動作は問題なくできるのですが、気になったので教えて頂けませんか? 自分としてはこの警告を、 問題はありませんが、古い形式で宣言されてるので新しい形式にした方が良いよ。 というニュアンスでとらえています。 それでOKでしょうか?また、OKな場合新しい形式とはどういう形式でしょうか? よろしくお願いします。
- 572 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:53:54 ]
- これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。
新しい形式は、strcpy_s を調べてね
- 573 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:54:41 ]
- strcat だったか、こっちに対応するのはもちろん strcat_s ね
- 574 名前:デフォルトの名無しさん [2008/06/20(金) 14:45:50 ]
- >>572
ありがとうございます。 確かに _s をつけたら警告がなくなりました。 ANSIではstrcatとかですが、 VisualC++では _s を付加した新しい形式になってるってことでいいんですか? ちなみに >これを抑えるのは、_CRT_SECURE_NO_DEPRECATE をdefineする。 やってみたんですが、警告は消えませんでした・・・orz
- 575 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:53:05 ]
- ISOのCライブラリ標準にはなってるから、そのうちANSIにも入るかもしれないが、わからんな。
CRT のセキュリティ強化 ttp://msdn.microsoft.com/ja-jp/library/8ef0s5kh(VS.80).aspx
- 576 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:33:10 ]
- 標準入力をファイルへリダイレクトした時のデバッグ
(コマンドから[c:\hoge.exe < c:\hoge.txt]と入力した時のhoge.exeのデバッグ) をするにはどうしたらいいですか? プロジェクトのプロパティ→デバッグ→コマンドライン引数 に" < c:\hoge.txt"を足せばいいかと思ってやってみたのですが、上手くいきません。
- 577 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:38:56 ]
- >>576
それでうまくいくはずだけど、どうなるの?
- 578 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:16:56 ]
- >>577
hoge.exeの中身です↓ int _tmain(int argc, _TCHAR* argv[]) { std::string line; while (std::cin) { std::getline(std::cin, line); std::cout << line << std::endl; } return 0; } hoge.txtの内容が出力されるはずですが、何も出力されないのです。 (コマンドプロンプトから[hoge.exe(のフルパス) < c:\hoge.txt]とした場合は内容が出力されます。) 引数は argv[0] --- hoge.exe (のフルパス) argv[1] --- < argv[2] --- hoge.txt になっているのですが・・。
- 579 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:34:17 ]
- それがコマンドライン引数で出来たのは
VisualStudio6以前だけ。 リダイレクトはシェルの機能なんで コマンドライン引数には書けない。
- 580 名前:574 [2008/06/20(金) 17:42:07 ]
- >>575
ありがとうございます。 参照させていただきました。 ネットだと、_CRT_SECURE_NO_WARNINGS を ヘルプだと、_CRT_SECURE_NO_DEPRECATE を 定義すれば良いとありますが、どちらを定義しても警告が消えません。 ちなみに _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES を 1 として定義する もやってみましたが警告が消えません。 もしかして定義する場所が違っていますか? str関数を使用しているファイル内で定義してるのですが。。。
- 581 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:50:22 ]
- >>580
多分、<string.h>をインクルードする前に 定義しないと駄目だと思うぞ。
- 582 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:51:46 ]
- >>578
VC++のバージョンは? こっちでやってみたら、VS2005だとそのまま動作して2008だと無理だな
- 583 名前:579 mailto:sage [2008/06/20(金) 18:06:32 ]
- あれ、2008のヘルプにも出来るって書いてあるな。
>>579は取り消し。
- 584 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:07:43 ]
- ヘルプには両方できるって書いてあるんだけど、2008はできなかった。
2005だとそのままでできるから設定がいるか、ヘルプが間違ってるか、どっちかかもね
- 585 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:22:52 ]
- なんか、2008でも「デバッグ無しで開始」だとうまくいった。
バグっぽいな。
- 586 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:29:38 ]
- Sleepとダミーの行置いてデバッグ無しで開始してからプロセスにアタッチしたら
なんとか動いたw
- 587 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 19:51:09 ]
- VC2008で作成したDllをVC2005をインストールしているPC上から呼び出したところ
dlがありませんといわれました。 VC2005で作り直すとちゃんと呼び出せるdllができます。なにが原因でしょうか? VC2008で作ったdll→VC2008のPCでは動くがVC2005では認識されない。 VC2005で作ったdll→VC2005のPCでもVC2008のPCでも動く
- 588 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:00:08 ]
- 他に依存しないなら単体で動く
- 589 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 21:22:39 ]
- VC入れてないと使えないんじゃ普通の人には使えない
- 590 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:12:11 ]
- featurepackどうですか?
- 591 名前:578 mailto:sage [2008/06/20(金) 22:34:52 ]
- >>582
バージョンはVS2008です。 皆様の言うとおりデバッグ無しでは動作しました。 バグ?ですかね。あきらめつつ設定でできないか頑張ってみます。 レス下さった皆様ありがとうございました。
- 592 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 07:32:27 ]
- >>587
dllがないなら、dll入れればいいじゃん
- 593 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 13:47:42 ]
- DLL自体じゃなくてプロジェクトのことだというオチじゃないだろうな?
2005のプロジェクトは2008でも読めるが、逆はできんぞ。 まあソリューションとプロジェクトのヘッダ書き換えればほぼイケるけど。
- 594 名前:デフォルトの名無しさん [2008/06/21(土) 22:51:53 ]
- 本当にくだらない質問だとは思うんですけど
Visual C++っていうのはソフトなんだよね? それはれっきとした売り物でフリーじゃないよね? そしてプリグラムを勉強したかったら何かしらのプログラミングソフトを購入することが必要?
- 595 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 22:54:22 ]
- >>594
フリーの開発環境もあるからググレ
- 596 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 23:00:08 ]
- >>594
マイクロソフトのホムペを隅から隅まで確認しろ
- 597 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 23:00:56 ]
- >>594
Visual C++ 2005/2008 Express Edition はフリー
- 598 名前:デフォルトの名無しさん [2008/06/21(土) 23:08:12 ]
- ありがとうそれを落としていろいろ勉強してみるわ
- 599 名前:デフォルトの名無しさん [2008/06/22(日) 01:36:36 ]
- >>597のを落として実際にプログラムをサイトからみたの拝借して打ち込んでるんだけど再現できない
#include <iostream.h> void main() { int i; i = 5 + 15; cout << "計算すると"; cout << i; cout << "になります。" << endl; } これなんだけどなぜだろうか?
- 600 名前:デフォルトの名無しさん [2008/06/22(日) 01:56:16 ]
- >>599
iostream.hはC++標準の一部ではありません。 現代的なCompilerの多くではサポートされません。 VC7以降も同様です。
- 601 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:58:20 ]
- #include <iostream>
using namespace std;
- 602 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 04:56:11 ]
- 都合上 using namespace std; してるところが多いけど
本当は using namespace は使わない方がいい。 今は気にしなくていいけどな。
- 603 名前:599 [2008/06/22(日) 07:52:34 ]
- ということは<iostream.h>を<iostream>にかえれば大丈夫になるわけかな?
- 604 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 09:28:13 ]
- ここはC++を教えるスレじゃないよ
- 605 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:14:40 ]
- std::endl; を書くのがめんどくさいです(><
- 606 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:21:21 ]
- >>605
>>601
- 607 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:25:51 ]
- 【初心者歓迎】C/C++室 Ver.55【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1213466622/ C++相談室 part62 pc11.2ch.net/test/read.cgi/tech/1211900039/ はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/
- 608 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:31:19 ]
- 前から気になってたんだけどC++の話駄目だとこのすれってどんな話題が主なの?
Win32やMFCもNGだよね? そうすると環境の設定とか?w
- 609 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:37:13 ]
- >>608
よくわかってるではないか。
- 610 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:00:13 ]
- VCの入門書よりC/C++の本を読んだ方がいいやつは、そういうスレヘ行った方がいいだろ
- 611 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:01:50 ]
- そうだな
- 612 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:28:02 ]
- >>606
でも>>602って(><
- 613 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:02:24 ]
- std::e と打った時点でインテリセンス効いてない?
- 614 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:26:01 ]
- >>612
今は気にするな
- 615 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:53:47 ]
- 大量に発生するC4146の山
VCは素晴らしいコンパイラ
- 616 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:36:17 ]
- >>612
今は気にしなくていいけどな。
- 617 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:51:06 ]
- 今VC++2008勉強してるんだけど、これって標準のC++と全然違う?
string型使おうと思ったらPTSTRに変換できないって何だよそのエラーorz 最終的にはstringのdataメソッド使えば問題無かったけど・・・ Win32APIとか難しすぎるぜ!
- 618 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:12:20 ]
- c_str 使え。
- 619 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:17:01 ]
- PTSTR は Unicode 環境を対象とする設定でコンパイルする場合は
wchar_t* で typedef されるので wstring を使う必要があると思うんだが、 VC++2008 ってデフォルトで Unicode 環境を対象にしてなかったっけ? 今手元に環境が無いから何とも言えないが。
- 620 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:38:36 ]
- >>618->>619
セックス! 今までPerlとかPHPとかスクリプト系のプログラミングしかまともにしたことが無かったから 処理系(コンパイラ?)によって方言があるっていうのがなんとも理解しづらいorz=3 とりあえずなんか小さなアプリをチョコチョコ作ってそこから方言の意味を勉強していくよ。
- 621 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:41:21 ]
- これは方言ってわけではないね。
言語仕様が変わってる訳じゃないから。
- 622 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 05:28:16 ]
- VC++には何故 C99 標準の vsscanf が無いんですか?
- 623 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:55:58 ]
- visual studio 2008のWindowsフォームアプリケーションでアプリを作成中です
groupboxの中に複数のcheckboxを配置し、 同じgroupboxの中にあるボタンを押すと、全部のチェックボックスがチェックされる、という仕組みを作ろうとしています。 とりあえず、ボタンが押された時にグループボックス内のコントロール分のループを回すところまでは上手くいったのですが、 1.そのコントロールがチェックボックスと判定するにはどうすれば良いのか 2.そのコントロールがチェックボックスだった場合、それにチェックを入れるにはどうすれば良いのか が判りません。 if(groupbox1->Controls[i]がチェックボックス){ groupbox1->Controls[i]->Checked; } …みたいな感じのことがやりたいのですが、どうすれば良いのでしょうか。
- 624 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:04:48 ]
- キャストが成功するかどうかで判定すれば?
- 625 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:23:31 ]
- >>623、 〜->checked=true; でした。
>>624 ControlからCheckBoxへのキャストのやり方がわからないので困っているのです。
- 626 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:52:11 ]
- >>625
ttp://msdn.microsoft.com/ja-jp/library/cby9kycs.aspx
- 627 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 19:21:32 ]
- >>626
出来ました!ありがとうございます。
- 628 名前:デフォルトの名無しさん [2008/06/23(月) 20:00:03 ]
- C++で作った『ハイ アンド ロー』のゲームで
ハイスコアを記録させたいのですが、 どうやったら記録できるのでしょうか?? 本当に初心者なんでよろしくお願いします。
- 629 名前:デフォルトの名無しさん [2008/06/23(月) 20:55:11 ]
- >>628
class CScore { ~~~~ public: void SetScore(int score) int GetScore(void) private: int m_HiScore = -1; }; // スコア登録関数 void CScore::SetScore(int score) { if (m_HiScore < score) m_HiScore = score; } int CScore::GetScore() { return m_HiScore; }
- 630 名前:デフォルトの名無しさん [2008/06/23(月) 20:59:18 ]
- VC++ 2008 Express で、どのあたりまで作れるの?
ウィンドウズアプリケーション作れる? 製品版とどのくらいの差があるのかな。
- 631 名前:デフォルトの名無しさん [2008/06/23(月) 21:04:43 ]
- >>630
このページが参考になるかと ttp://www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx
- 632 名前:デフォルトの名無しさん [2008/06/23(月) 21:08:22 ]
- >>631
ありがd
- 633 名前:デフォルトの名無しさん [2008/06/23(月) 21:40:57 ]
- >>629
何が書いてあるのかさっぱりなんですが・・・
- 634 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 02:44:07 ]
- ワロタ
- 635 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 09:16:00 ]
- >ハイスコアを記録させたいのですが、
>>628 記録方法で、3点 ・ハイスコアの出し方 ・画面表示のしかた ・ファイルへの書き方 ファイルへの書き方のような気がする。間違ってたら言って。
- 636 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:48:20 ]
- 【初心者歓迎】C/C++室 Ver.55【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1213466622/ C++相談室 part62 pc11.2ch.net/test/read.cgi/tech/1211900039/ はきだめC/C++下級者の質問箱 2 pc11.2ch.net/test/read.cgi/tech/1156206091/
- 637 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 14:05:47 ]
- >>636
このコピペ野郎いい加減うざいな
- 638 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:59:17 ]
- >>635
ハイスコアの保存(ファイル)に一票
- 639 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:22:10 ]
- >>635
何が書いてあるのかさっぱりなんですが・・・
- 640 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:30:39 ]
- >>639 の頭の中がかさっぱりなんですが・・・
- 641 名前:デフォルトの名無しさん [2008/06/24(火) 23:32:04 ]
- 質問です
VC++のMFCで計算したデータを、 作成しているExcelテンプレートの特定の文字列に上書きすることは可能ですか? 例 MFCのexe → テンプレート起動 → 「kekka」に計算結果を上書き → 別名で保存(テンプレートはそのまま) こんな感じで
- 642 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:40:20 ]
- poiがいいよ
- 643 名前:デフォルトの名無しさん [2008/06/24(火) 23:59:51 ]
- >>642
JAVA?のほうがやり易いんですかね・・ ググってきます
- 644 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:30:38 ]
- DirectXでゲーム作るのが目的でVC++始めた
よくありがちな厨房ですが Win32APIなプログラムでオセロ作るのに1ヶ月もかかった馬鹿な漏れに MFCとは一体何なのか勉強すべきなのかを教えてください
- 645 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:47:08 ]
- ・ExcelをCOM経由で叩く。ライセンスとプロセスの残りには注意
・Excelを純な「表」として使ってるなら、ODBCドライバ。 SQLの言う「テーブル」に当たらなければ涙目 ・(Excel2007形式)、ドトネト3.0+OpenXMLSDK ・Java+POI ・Lotus123形式が扱いやすいってJoelがいってた
- 646 名前:641 [2008/06/25(水) 01:04:25 ]
- >>645
Excelのバージョンでも違うみたいですね ちょっとほかの方法を考えてみます。ありがとうございました
- 647 名前:デフォルトの名無しさん [2008/06/25(水) 02:30:52 ]
- >>644
Studioに支援機能があったりして感じ大掛かりだけど、ぶっちゃけ、ただのWin32APIのラッパークラスだよ だから、ちょっとしたツール作るには便利だけど、覚えたからと言って何か新しい事が出来る訳では無く、 知ってて困る事は無いけれど、知らないからと言って何か作れない訳じゃないって事で判断ヨロ。
- 648 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 03:58:27 ]
- Visual Studio.NET2003を使っているのですが、リソースを開いたとき
プロパティが灰色で全く何も表示されなくなってしまいました。 戻し方はありますでしょうか? もしくは、VCの設定を完全に初期状態に戻したいのですが、 どの辺をいじったら良いでしょうか?
- 649 名前:デフォルトの名無しさん [2008/06/25(水) 05:52:15 ]
- >>644
MFCはWin32をラップするクラスを集めたライブラリではありません。 Windows上で動作する一般的なアプリケーションソフトは、win32API だけで完成するものではありません。 簡単に理解できる例をあげると、ワードプロセッサーで範囲を選択し、 これをドラッグアンドドロップする。 ただこれだけの動作が、COMを必要とします。 そこで現在のMFCは、ビジネスソフトウエアにとって必要とされる機能を 含むフレームワークとして構築されています。 フレームワークが想定しているアプリケーションを開発する場合には、 とてもうまく機能すると思われますが、そうでない場合には不満も あるでしょう。 フレームワークが対象としている開発対象の場合でも、標準の見た目や コードの古臭さに不満を持つ場合も多いようです。 今後、それらの不満の一部が解消される可能性もあります。 Visual C++ 2008 Feature Pack について調べてみてください。
- 650 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:01:23 ]
- Win32APIだけでもCOMは使えるんじゃなかったっけ?面倒なだけで。
MFCってのは、やろうとおもえば出来るが面倒だ、ってのを わかりやすく、扱いやすいようにしたものだと思ってただ
- 651 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:11:34 ]
- やればできるといっても現実的にはどうか
アセンブリ言語でWindowsアプリを作るみたいにつらい
- 652 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:38:53 ]
- コメントで、
/* * */ の部分が折りたためるのですが、「宣言」となります。 「宣言」の部分にコメントの概要を表示したいのですが、可能でしょうか? 可能なら記述の仕方を教えて下ください。環境は2008EEです。
- 653 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 09:40:38 ]
- 一度Win32アプリケーション プロジェクトでダイアログベースのアプリを作った後
MFCで同じものを作ると有難味がわかる。
- 654 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:07:11 ]
- MFCはゲーム作るには要らないな
>>644にとって、ただの回り道でしかない
- 655 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:25:37 ]
- ゲームつくるのにMFCほどクソなものはない
- 656 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:30:03 ]
- ゲーム作るならC#がいいな
|

|