- 1 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:44:23 ]
- Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5辺り。
- 367 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:03:49 ]
- それは違くね?
- 368 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 08:46:18 ]
- そうか?
アサートとコンパイルエラーが同レベルで出てくるなんて 初心者だってありえないだろ
- 369 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 08:55:35 ]
- >>368
「ありえない」か?確率0%か? いや、初心者ならそのくらいありえるのではないか? およそ、初心者に「ありえない」ことは「ありえない」んでは?
- 370 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 10:04:21 ]
- アサートという言葉を知ってるのにか?
当人に聞いてみなけりゃ分からないけど、 ありえないと言えるくらい見当違いなことだよ
- 371 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 10:09:22 ]
- たぶん釣りじゃないのかw
- 372 名前:デフォルトの名無しさん [2009/05/05(火) 20:20:07 ]
- MFCでなんか面白いもの作りたいんだけど、思いつかない。
サンプルが載ってるページってありますか?自力で作るのもいいんだけど・・お代が無いし。
- 373 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 21:02:58 ]
- じゃ、タスクマネージャでも作ってみろ
- 374 名前:デフォルトの名無しさん [2009/05/05(火) 22:54:51 ]
- >>373
タスクバーに入れる方法がわからないから、却下でござる。
- 375 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 23:07:59 ]
- C言語始めようかと思って先ほどマイクロソフトのVisual C++ Express Editionってのをダウンロードしました
試しに参考書に載ってる簡単な足し算を表示するプログラムを書き写してみたんですが、 どうやってその書いたプログラムが動くのかが分かりません・・・
- 376 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 23:23:29 ]
- F6でコンパイル F5で実行、だが・・・多分出てすぐ消ええる。
VCの入門本買って読むべし
- 377 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 23:38:49 ]
- コンパイルで調べたら↓ヒットしました
msdn.microsoft.com/ja-jp/library/bb384838.aspx 手順の通りにやってみましたがやっぱりすぐ消えますね 分かるように勉強してきます ありがとうございました
- 378 名前:375 mailto:sage [2009/05/05(火) 23:55:05 ]
- [新しいプロジェクト]のとこから色々弄ったら実行出来ました!
二桁の数字が表示されただけでしたが色々作れそうで楽しいっすね スレ汚し失礼しました
- 379 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:28:51 ]
- 以下の2行をmainの最後に入れれば、実行後終了前にリーターンキー入力を待つ
printf("リターン入力で終了\n"); getchar();
- 380 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 00:38:50 ]
- >>377
プログラムはあなたの思ったようには動かなくても プログラムはあなたの書いたようには動く という格言がある。 これから先何度も何度も味わい続ける事になるだろうが、 これを忘れないようにね。 んでオススメは、Windows環境限定で良ければ #include <conio.h> でgetch();を使うのが良いと思うよ。いかなるキーでも何か入力すれば終了するようになる。 #include <conio.h> int main() { //処理 getch(); return 0; }
- 381 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 12:09:16 ]
- >>377
main()の最後の } にブレイクポイントを置けばいいよ。
- 382 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 12:17:10 ]
- Ctrl+F5でいいよ
- 383 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 16:14:48 ]
- VSとかでプログラムを作らないとデバッグって出来ないのですか
コマンドラインでそれ用のオプションつけてコンパイルしてあれこれして デバッガー使うことは出来ますか?
- 384 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 16:28:01 ]
- デバッグ自体はコンパイル方法関係ないよ
Cじゃなくてもできるし
- 385 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 16:28:12 ]
- ↑追加で実行ファイル開いたら問題なく出来ました
ごめんなさい
- 386 名前:デフォルトの名無しさん [2009/05/07(木) 00:03:37 ]
- 文字リテラルと文字列リテラルが分かれていますが、
どう言ったメリットデメリットがあるんでしょうか? 一文字の文字列を""で囲んでも何の問題もないような気がしますが メモリの使用量が少ないんでしょうか
- 387 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:13:28 ]
- C言語からやり直せw
- 388 名前:デフォルトの名無しさん [2009/05/07(木) 00:20:01 ]
- すいません、今日C++始めたばっかりなんです
VBは型ぐらいなら分かるんですがどうしてもふに落ちないもので
- 389 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:32:58 ]
- 自分もC始めたばっかりなんだけど
char string[] = "ABCDE"; char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' }; 文字列は文字の配列だよって理解でいいの?
- 390 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:56:44 ]
- >文字列は文字の配列
読んで字の如し
- 391 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 02:41:38 ]
- >>388
VBやったことあるなら、AscとChr$は知っているだろ。 めちゃくちゃ乱暴に言うと文字リテラル'A'は、Asc("A")と同じ。 Ascの戻り値とChr$の引数、VBではLongとかで扱っていただろうが、 Cではcharという独立した型が与えられていると思えばいい。
- 392 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 08:22:06 ]
- n文字型があれば1文字型は不要ではという質問だと思うが、
文字の比較や判定の基本はバイト単位だな 32bitや64bit単位でできないこともないけど
- 393 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 08:38:31 ]
- ああunicodeもあるから
文字単位で比較か
- 394 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:54:01 ]
- >>386
文字と文字列の理解が怪しいな。 そもそもポインタとか分かってる? いきなりC++にいくのは自殺級に難しいと思うからC言語から学んだ方が良いと思うよ。
- 395 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:57:40 ]
- >>389
> 文字列は文字の配列だよって理解でいいの? いいんじゃない。文字列は文字型変数の配列ね。 あと実際に文字列は扱えないからその先頭アドレスで扱うことになるってことを理解してくれ。 例えば "ABCDE"=="ABCDE" がtrueになるかどうかは処理系依存。 左の"ABCDE"と右の"ABCDE"が別に確保されていればアドレスが異なるから これはfalseだが、コンパイル時にコンパイラが気付いてメモリ節約のために 同一文字列をマージすればtrueとなる。 > char string[] = "ABCDE"; > char chararray[] = { 'A', 'B', 'C', 'D', 'E', '\0' }; これは全く同じになりますよ。
- 396 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 13:27:08 ]
- で、結局メリットデメリット誰も言えないわけで
- 397 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 13:36:05 ]
- >>396
は?頭おかしいの?
- 398 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 13:44:03 ]
- データ型が違うという事実があるだけで、メリットもデメリットもない
メリットは使うときがくれば分かるとしか言いようがないな 使わない人にとっては面倒なだけと言えばデメリットにもなるだろうが、それは何にしてもそうだろう
- 399 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:10:36 ]
- これだからVB厨はコンピュータのこと何もわかってないと
言われるんだよ Cやったあとはマイコンもやれよ で電子回路やってFPGAもやれ そこでやっとプログラマといえる
- 400 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:34:58 ]
- まぁ、いいんじゃないの一つずつ覚えていけば
VBは直感でも何となくできるし、プログラマへの足がかりぐらいにはなってると思うよ 偉そうだったらぶっ飛ばしたなくるけどw
- 401 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:37:26 ]
- >>399
しかたないさ、何てったってvisualかつbasicだもんなw そりゃしょーがない
- 402 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:42:49 ]
- 別にVBでもいいじゃん。
ただし >>396 > で、結局メリットデメリット誰も言えないわけで 全く見当違いな質問に対して答えないだけで 「言えない」発言をする低能を除く!
- 403 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 14:44:30 ]
- そろそろソフトウェアとハードウェアを一緒に考えてしまってるプログラマが
えらそうにしている風習を改めないと。
- 404 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 15:02:35 ]
- 一方しかわからないやつに偉そうにされるのはもっと嫌だw
- 405 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:55:25 ]
- 同じプロジェクトのソースをいろいろなビルド構成や複数バージョンのVCで
ビルドしているのですが、ビルド構成やVCのバージョンごとに、 リソースのFILEVERSIONやPRODUCTVERSIONの右端の数字を 違う値にしたいと思っています(どういう構成でビルドされたものかを示すため)。 ビルドするたびに手動で書き換えていると絶対に忘れてしまうことがあるので、 ビルド時にこの数字を自動で書き換えたいのですが、 VC6、VC2005、VC2008に共通の方法はありますでしょうか?
- 406 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:59:44 ]
- それぞれの構成で 別々のコンパイラオプション /D "文字列" を定義する。あとはコード内で
#ifdef "文字列"
- 407 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 22:06:43 ]
- MSC_VER見たいな定数がそれぞれ決まってたような気がするから
プリプロセスでその値を見て文字列を選ぶ
- 408 名前:デフォルトの名無しさん [2009/05/07(木) 22:56:01 ]
- 数値にインクリメントは使えないのでしょうか
cout<<2++; で3になると思いましたがエラー出ました
- 409 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 23:16:49 ]
- >>408
C言語の基礎だぞ。 ++は変数に対してのみ使える演算子です。 しかも百歩譲ってインクリメントできたとしても cout<<2++; では結局2が出力されるだけ。 その上言いたいことは >エラー出ました エラーメッセージを100回読め。
- 410 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 23:47:24 ]
- マネージ拡張C++する奴はおらんのか。
VB.NETでやるならまだしも、C#みたいな中途半端言語で.NETやってるのか。 C#でやるよりも、C++の標準ライブラリを生かせていいと思わないか。
- 411 名前:デフォルトの名無しさん [2009/05/07(木) 23:50:37 ]
- じゃあ、マネージ拡張を勉強するので、本を贈ってください。
- 412 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 23:54:54 ]
- マネージ拡張C++はある意味中途半端なんよ。
C#かC++のように極端のほうがいい。 C#でどうしてもスピードが足りないときのみか、C++資産使うときだけ。マネC++
- 413 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 01:45:13 ]
- VC2008EEのデバッガを使ってデバッグ中、
値が見れない(デバッグのウィンドウに表示されない)変数があるんですけど、なぜなんでしょう? その変数はforの{}内で宣言した変数なんですけど関係ありますかね?
- 414 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 02:03:01 ]
- 停止している場所がforの外なら見れない。中なら見れる。
- 415 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 02:34:17 ]
- >>414
forの中なのに見れませんでした。 何か別に原因があるのかなぁ・・・。
- 416 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 11:43:10 ]
- 再現するソースを見せろ
- 417 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 16:02:15 ]
- 最適化無効にしてないとか?
- 418 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:04:31 ]
- >>415
ウォッチウィンドウにぶち込め
- 419 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:05:25 ]
- 多分みるところ間違ってるのとたまたま表示されてないだけだろ(よくあるよねw)
- 420 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 19:36:57 ]
- 俺はReleaseデバッグの時はよくある
- 421 名前:413 mailto:sage [2009/05/09(土) 23:00:59 ]
- 遅くなりましたがレスありがとうございます。
>>416 全部のせるのは長くなりそうなので・・・。 >>417 最適化は有効のままでした。 >>418 シンボルが見つかりませんってエラーが出ます。 >>419 見たのは自動変数とローカルです。 >>420 Releaseでビルドしたものをデバッグしてました。 Debugでビルドにしたらちゃんと変数が表示されました。 デバッガ使う時はDebugでビルドしないとだめでしたか。
- 422 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:10:17 ]
- >>421
>デバッガ使う時はDebugでビルドしないとだめでしたか そりゃデバッグモードでしかデバッガは使えないだろw >>420 ESP乙
- 423 名前:デフォルトの名無しさん [2009/05/10(日) 12:20:11 ]
- VC2008 XP
#include <stdio.h> int factn(int n); int main() { int n,fact; for (n = 0; n <= 10; n++) { fact = factn(n); printf("d%! = %d\n",n,fact); } while ( true ) { ; } } int factn(int n) { int i,fact; fact = 1; for (i = 1; i <= n; i++) { fact = fact * i; } return fact; } 関数を使って0〜10までの階乗がしたいんですが 表示がd!=1 d!=2…ってなってしまいます。 どこがおかしいんでしょうか?
- 424 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:25:43 ]
- >>423
d% → %d
- 425 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:31:49 ]
- あああぁぁorz
ありがとうございます
- 426 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:50:11 ]
- nulデータを使うとエラーが出てしまうのですが、変数は絶対に初期化しなければなりませんか?.
VBみたいにnull=0又は0文字の文字列という扱いには出来ないものでしょうか
- 427 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:56:39 ]
- windef.h で NULL = 0 と定義されているが、このことと 「変数は絶対に初期化しなければなりませんか?.」は
直接関係しない。
- 428 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:57:55 ]
- ありがとうございます!!
- 429 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:58:50 ]
- どういうわけか、最近のC関連の説明とか本ってオペランドの説明ばっかな。
オペランドを説明することが解説だと思ってるようだ。だから初心者にとっては わかりにくいんだよ。コンピュータの基本がわかってない奴が本を書くように なってるんじゃないのかって感じる。
- 430 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 13:01:34 ]
- 一理あるが、オペラント(あるいはオペレータ)がわからんと、先には進めない。
- 431 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 13:04:49 ]
- 初心者スレなんだからもう少し心を広く持った方が
- 432 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 15:14:08 ]
- >426
0文字の文字列を作るときはnulで初期化であってる
- 433 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 19:35:12 ]
- 配列のインデックスの最大値を取得するにはどうすればよいでしようか?
ぐぐってもvbばっかり出てきます
- 434 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 19:39:08 ]
- sizeof()
- 435 名前:デフォルトの名無しさん [2009/05/10(日) 19:47:38 ]
- >>433
配列の名前をpenisとするとだな、 sizeof(penis);で取得できる。
- 436 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 19:53:48 ]
- >>435
penisは動的配列なんだな。 sizeof(penis)が一定値にならないぞ。
- 437 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 19:54:15 ]
- sizeof(penis) = 0 の場合もある
- 438 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:02:58 ]
- struct penis { int used; } myson;
sizeof myson; って括弧なしでかけるんだな 最近知った。
- 439 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:03:43 ]
- >>437
いや実際には・・・ ・・・もう止めようw
- 440 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:07:29 ]
- どうusedどするのか詳しく
- 441 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:32:43 ]
- >>434>>435
ありがとうございます、合計バイト数は出せました。 あとはデータ型に応じたバイト数で割ればインデックス最大値が出せるのですが、それも分かりません・・ 変数penisのデータ型はどうやって調べるんでしょうか
- 442 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:35:27 ]
- sizeof(penis) / sizeof(int);
?
- 443 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:39:21 ]
- >>442
int型は環境によってバイト数が変わると聞いたので・・ LBoundみたいな関数は無いものでしょうか それとも僕はよほど変なことをしているのでしょうか
- 444 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:57:21 ]
- >>443
環境によって変わるからsizeof(int)してるんだよ 変わらなかったら4とか決めうちでいいじゃん
- 445 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 21:02:00 ]
- >変数penisのデータ型はどうやって調べるんでしょうか
変数penisを宣言しているのは誰だ?
- 446 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 21:03:48 ]
- 何故、正体不明のデータを扱うのだろう?
- 447 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 21:06:04 ]
- sizeofとかあとで変更あったときに直しやすくするだけのことで
その辺理解できない馬鹿だったら自分で固定で数決めとけ
- 448 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 21:08:38 ]
- >>444
成る程!!すいませんでした、気づいてませんでした
- 449 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 21:10:28 ]
- マンコ
- 450 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 23:35:25 ]
- デバックしたら自動的に保存されてしまうようですが、オフにすることってできますか
- 451 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 23:47:39 ]
- 何が保存されるんだ?
- 452 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:01:19 ]
- ソースコードだろ?
保存されたファイルを見てコンパイルするから無理じゃね? VC出身の俺からしたら保存されねぇほうが気持ち悪いけど 他の環境出身者には保存されるのは気持ち悪いもんなのかねw
- 453 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:06:09 ]
- ソースコードです
切ることは出来ないのですか、残念です ちなみにVB・VBA・HSP出身(というほどやってませんが)です
- 454 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:13:09 ]
- スクリプトじゃないんだからコンパイルしなきゃデバッグできんし、保存しなきゃコンパイルもできまい。
- 455 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:07:15 ]
- 土曜から日曜にかけて1日かかって、スタティックコントロールに文字列出すことに
成功した、ハンドル使わない方法でやっとだ。 そこでだ、ものは相談だ。ハンドル使うSendMessage()とか、SetWindowText() のやりかた教えろや。
- 456 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:14:48 ]
- しごいて調べろっていうわけにはいんかだろうしなあああ
>変数penisのデータ型はどうやって調べるんでしょうか
- 457 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:16:28 ]
- ハンドル使わないSendMessage()とか、SetWindowText()があるのか
- 458 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:19:22 ]
- >>457
それはないでしょう。 ですから、ハンドルの使いかた教えてくれって言ってる意味ととって くださってもいいです。すみませんです。
- 459 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:22:46 ]
- >>457
おおかたリソーススクリプトや(親のハンドル使うけど)SetDlgItemTextでも使ったんだろう。
- 460 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:24:28 ]
- そのとおりです。これだって本格的には、ハンドルを使うわけでしょ。
それがわからんから・・・↓こうなってるわけでして。 SetDlgItemText(IDC_STATIC1,"testest");
- 461 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:25:27 ]
- TCHAR szText[] = _T("文字列");
SetWindowText( hWnd, szText); SendMessage( hWnd, WM_SETTEXT, 0, (LPARAM)szText);
- 462 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:26:54 ]
- あ、忘れていた。つまり、455=458=460です
- 463 名前:455 mailto:sage [2009/05/12(火) 00:30:12 ]
- >>461
その場合、hWndは、どこで宣言し、どうやって代入してるわけですか?
- 464 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:51:42 ]
- ああ、そこからスタートか。
HWND hWnd = GetDlgItem( hDlg, IDC_STATIC1); hDlg はわかるよな。ダイアログプロシージャの第一引数だ。
- 465 名前:455 mailto:sage [2009/05/12(火) 01:11:47 ]
- >>464
その場合のhDlgは、当然にIDC_STATIC1が貼り付けられたダイアログのハンドル っていうことですね。その場合、以下の意味がよくわかんですね。 >「ダイアログプロシージャ」(これは、・・・・Dlg.cppって言う意味ですか?) >「第一引数」(これは意味がわからないです) (例えば、ワークスペース名が"Rocket"として、例でいくと小生の場合はvs6で、 MFC AppWizard でダイアログモードでワークスペースをを作成したんですが。 RockeDlg.cppが以下になってます。このどこで値が決まってますか? #include "stdafx.h" #include "Rocket.h" #include "RocketDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // アプリケーションのバージョン情報で使われている CAboutDlg ダイアログ class CAboutDlg : public CDialog { public: CAboutDlg(); // ダイアログ データ //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard は仮想関数のオーバーライドを生成します //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV のサポート //}}AFX_VIRTUAL ・・・・・もっと下ですか?
- 466 名前:455 mailto:sage [2009/05/12(火) 01:16:05 ]
- それとも、hDlgは、予約語っつーかシステムからの引数(定数)っていうことですか?
ダイアログ内なら無宣言で、どこでも使える定数。
- 467 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:17:03 ]
- MFCなら先にそう言えよ。
MFCはウィンドウハンドルを意識しないでいいように作られているから、HWND型はあまり使わない。
|

|