■過去ログ置き場に戻る■ 1- 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★ Part21
1 名前:デフォルトの名無しさん :2005/08/23(火) 23:11:28
1 : ◆Manna2uCLg :2005/04/15(金) 13:33:14
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

  ∧_∧
 ( ´∀`) < ぬるぽ

  質問の仕方については次のページが大変参考になります。
  http://www.hyuki.com/writing/techask.html
  http://www.geocities.co.jp/Beautycare/4965/public/template.html
  http://myu.daa.jp/osiete/

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5

2 名前:デフォルトの名無しさん :2005/08/23(火) 23:12:48
【過去スレ】
Part20 ttp://pc8.2ch.net/test/read.cgi/tech/1120222322/
Part19 ttp://pc8.2ch.net/test/read.cgi/tech/1116209988/
Part18 ttp://pc8.2ch.net/test/read.cgi/tech/1113539594/
Part17 ttp://pc8.2ch.net/test/read.cgi/tech/1107926989/
Part16 ttp://pc8.2ch.net/test/read.cgi/tech/1101022051/
Part15 ttp://pc5.2ch.net/test/read.cgi/tech/1097880265/
Part14 ttp://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 ttp://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 ttp://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 ttp://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 ttp://pc5.2ch.net/test/read.cgi/tech/1074933908/ 
Part09 ttp://pc5.2ch.net/test/read.cgi/tech/1068983609/ 
Part08 ttp://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 ttp://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 ttp://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 ttp://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 ttp://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 ttp://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 ttp://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 ttp://pc3.2ch.net/tech/kako/1023/10235/1023530449.html

3 名前:デフォルトの名無しさん :2005/08/23(火) 23:16:12
>>1

4 名前:デフォルトの名無しさん :2005/08/23(火) 23:17:13
【関連スレ】
■MFC相談室 mfc14d.dll■
http://pc8.2ch.net/test/read.cgi/tech/1121200124/l50
Win32API質問箱 Build34
http://pc8.2ch.net/test/read.cgi/tech/1122723009/l50
鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/l50
C言語なら俺に聞け! Part 112
http://pc8.2ch.net/test/read.cgi/tech/1123432321/l50
C++相談室 part43
http://pc8.2ch.net/test/read.cgi/tech/1124113879/l50
C/C++の宿題を片づけます 49代目
http://pc8.2ch.net/test/read.cgi/tech/1123661447/l50
【初心者歓迎】C/C++室 Ver.20【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1121644782/l50

【関連サイト】
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ ※変更された
http://msdn.microsoft.com/library/ja/
Platform SDK Update ※変更された
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
Google
http://www.google.co.jp/


5 名前:デフォルトの名無しさん :2005/08/23(火) 23:18:33
【このスレの前身 VisualC++相談室 過去スレ】
part 1 ttp://piza.2ch.net/tech/kako/970/970607517.html
part 2 ttp://piza.2ch.net/tech/kako/981/981630730.html
part 3 ttp://piza2.2ch.net/tech/kako/993/993186053.html
part 4 ttp://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 ttp://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 ttp://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 ttp://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 ttp://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 ttp://pc5.2ch.net/tech/kako/1036/10368/1036897197.html

6 名前:デフォルトの名無しさん :2005/08/23(火) 23:32:33
>>1

7 名前:デフォルトの名無しさん :2005/08/23(火) 23:43:57
何でVisual C++なのか。
Windowsプログラムは作れないといけないのかな。
難しい知識がいる割に、あんなん作れて何か役に立つのかな。

http://pc8.2ch.net/test/read.cgi/tech/1120222322/991

8 名前:デフォルトの名無しさん :2005/08/24(水) 00:04:29
MS-DOSプロンプトからビルド出来るならVC++でもビルド出来る
儲けたいならLinuxを学んだほうがいい

9 名前:デフォルトの名無しさん :2005/08/24(水) 00:10:35
おいおいマジで言ってんのかよ

10 名前:デフォルトの名無しさん :2005/08/24(水) 00:12:13
VC2005はC99に対応するの?

11 名前:デフォルトの名無しさん :2005/08/24(水) 00:14:17
しない


12 名前:デフォルトの名無しさん :2005/08/24(水) 00:16:24
『Win32コンソールプロジェクト』をプロジェクトで選ぶのと
『Win32プロジェクト』を選んでコンソールアプリケーションにチェックを入れるのとではどう違うのですか。

また、『コンソールアプリケーション(NET)』との違いもあわせて教えて下さい。

13 名前:デフォルトの名無しさん :2005/08/24(水) 00:35:49
C99未対応でも、C++でコンパイルしたら通るってわけではないってことなのか。

14 名前:デフォルトの名無しさん :2005/08/24(水) 00:41:44
>>12
前者は同じ。後者はマネージドコードを生成する。

15 名前:デフォルトの名無しさん :2005/08/24(水) 00:53:41
はじめまして。
http://www.mech.t.u-tokyo.ac.jp/~t40263/04mecha/skincolor.c
のサンプルプログラムを動かしてみたのですが、
C:\kenkyu\MSDev98\MyProjects\yoshimi\yoshimi.cpp(69) : warning C4508: 'process' : 関数に戻り値の型が指定されていません。戻り値を void 型と見なします。
リンク中...
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/yoshimi.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

yoshimi.exe - エラー 2、警告 1

とエラーが出てしまいます。
本当に初心者ですみません。
解決方法を教えてください。

16 名前:デフォルトの名無しさん :2005/08/24(水) 00:56:03
それにしても、Visual C++の本は、いろんなことを一通り解説しようとするから、
それだけでは何の役にも立たないプログラムに留まってしまわざるを得なくなる
のかも知れんな。
Visual C++でひとくくりで、一通りの解説で、後は読者がこれらの知識を応用して
くれってものでは厳しいな。分野別に一冊の本でしっかり解説して、何巻もの分野
の本を出版してるほうがいいのではないか。

17 名前:デフォルトの名無しさん :2005/08/24(水) 01:00:18
>>15
mainがない。
warningの方はメッセージの通り。

18 名前:デフォルトの名無しさん :2005/08/24(水) 01:15:08
>>14
どうもありがとうございました。
NET=マネージドコードと解釈していいみたいですね。

もしよければ、VC++.NET2003の使い方を解説しているおすすめのサイトがあったら教えて下さい。
MFCは未経験で、MFCを取り扱っていてもいなくても構いません。

19 名前:デフォルトの名無しさん :2005/08/24(水) 01:23:43
>>18
NETじゃなくて.NET(ドットネット)な

20 名前:デフォルトの名無しさん :2005/08/24(水) 01:50:08
>>18

/* skincolor.c*/
void process(unsigned char *tmpbuf, int xsize, int ysize);

int main(void)
{
unsigned char str1[1024];

process(str1, 6, 8);
return 0;
}

void process(unsigned char *tmpbuf, int xsize, int ysize)
{
int x, y;
int rin, gin, bin;
.....(略)


21 名前:デフォルトの名無しさん :2005/08/24(水) 01:50:49
>>18
------------------------------------------------------------
[スタート] -> [プログラム(P)] -> [Microsoft Visual Studio .NET 2003]
-> [Visual Studio .NET ツール] -> [Visual Studio .NET 2003 コマンド プロンプト]
------------------------------------------------------------
C:\>cd kenkyu\MSDev98\MyProjects\yoshimi

C:\kenkyu\MSDev98\MyProjects\yoshimi>cl yoshimi.cpp
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

yoshimi.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

/out:yoshimi.exe
yoshimi.obj

22 名前:デフォルトの名無しさん :2005/08/24(水) 02:18:00
>>18
まずはC言語に専念したほうがいいんじゃないか。

23 名前:デフォルトの名無しさん :2005/08/24(水) 02:43:29
>>22
今までC/C++に専念してきて、APIを使ったWinプログラミングを勉強し、
まだまだですがそろそろVC++(とWinプログラミングとMFC?)を扱ってみようかなと思いました。
ずっとググっているのですがVC++.NETの解説しているサイトはあまり無いようですね。
明日本屋に行ってみます。

24 名前:デフォルトの名無しさん :2005/08/24(水) 02:44:45
>>19
あーそうですよね。
プロジェクトに書いてあるのは、(NET)と書いてあるのでNETと書いてしまいました。

25 名前:デフォルトの名無しさん :2005/08/24(水) 04:24:33
>>18
MFCも、VisualStudioもどういうわけか、入門サイトはありません。マジで。
中級者むけのTipsはあるんだけどね。

26 名前:デフォルトの名無しさん :2005/08/24(水) 04:25:51
まぁ、入門サイトが充実しているのはC/C++とJava、CGI くらいのものなんだけどね。

27 名前:デフォルトの名無しさん :2005/08/24(水) 04:37:15
>>20
void process(unsigned char *tmpbuf, int xsize, int ysize);

int main(void)
{
unsigned char str1[1024];

process(str1, 6, 8);
return 0;
}
をつけたしてみたところ
C:\kenkyu\MSDev98\MyProjects\yoshimi\yoshimi.cpp(13) : error C2556: 'int __cdecl process(unsigned char *,int,int)' : オーバーロード関数の戻り値は異なっていますが、引数リストは同一です。
C:\kenkyu\MSDev98\MyProjects\yoshimi\yoshimi.cpp(13) : error C2371: 'process' : 再定義されています。異なる基本型です。
C:\kenkyu\MSDev98\MyProjects\yoshimi\yoshimi.cpp(3) : 'process' の宣言を確認してください。
とエラーが出てしまいました。

28 名前:デフォルトの名無しさん :2005/08/24(水) 04:40:03
>>21
本当に初心者ですみません。
その意味はどういう意味ですか?

29 名前:デフォルトの名無しさん :2005/08/24(水) 05:08:34
VC++じゃなくてC言語の問題だと思う。

30 名前:デフォルトの名無しさん :2005/08/24(水) 05:09:21
ついでに、なんでも無料で見れるWebで揃うと思うなかれ。

本屋で普通に売られている本に書いてあることを、
いちいち無償のWebで趣味でやろうなんていう個人は滅多にいないよ。

31 名前:デフォルトの名無しさん :2005/08/24(水) 07:17:52
>>23
本当にそれでも専念してたの?
>>27 の質問をしてるとは、CもC++も全然理解できてないよ。
そして、C++でコンパイルするとそのエラーメッセージだが、Cでコンパイル
すると、また別のエラーメッセージになる。

32 名前:デフォルトの名無しさん :2005/08/24(水) 07:39:49
おまいらレスがごっちゃになってないか?

33 名前:デフォルトの名無しさん :2005/08/24(水) 07:47:49
エディットボックスの文字に色をつけたいのですが、
どうすればできますか?

34 名前:デフォルトの名無しさん :2005/08/24(水) 07:49:24
>>28
あえて日本語の文章は書いてないが、初心者のために書いた内容だぞ。
本当にやばいな。

35 名前:デフォルトの名無しさん :2005/08/24(水) 08:01:46
>>28
コマンドラインでコンパイルするという意味です。

36 名前:23 :2005/08/24(水) 08:14:04
>>31
たぶん>>20-21はレス番を間違えているのでレスしていません。(私は>>28でもありません)
15さんと12(私)は違う人です。
ややこしいですが、そういうことです。

37 名前:デフォルトの名無しさん :2005/08/24(水) 12:19:52
>>33
OnCtlColorハンドラを作り、その内部でコントロールの識別をして、
該当コントロールの場合のみ、pDC->SetTextColor()で文字色設定
ってとこかな?


38 名前:33 :2005/08/24(水) 14:01:13
MFCでなくAPIの組み合わせでは不可能なのですか?

39 名前:デフォルトの名無しさん :2005/08/24(水) 14:02:17
>>38
初めからそう書けよ馬鹿

40 名前:デフォルトの名無しさん :2005/08/24(水) 16:54:48
>>38
たぶん無理。
少なくとも、エディットボックスの文字色を直接変更するAPIは存在しない。
WM_CTLCOLORのハンドラで文字色を設定するのが定石。

41 名前:デフォルトの名無しさん :2005/08/24(水) 21:42:30
>>38
1.サブクラス化
2.Windowプロシージャ自分で書く

42 名前:デフォルトの名無しさん :2005/08/24(水) 22:17:12
1と2はどう違うのだろう

43 名前:デフォルトの名無しさん :2005/08/24(水) 22:29:20
サブクラス化して、Windowプロシージャ自分で書く ってことだろ。

44 名前:デフォルトの名無しさん :2005/08/24(水) 23:12:51
チェックボックスに背景色を付けるのは案外面倒だた

45 名前:デフォルトの名無しさん :2005/08/24(水) 23:22:51
恐れながら質問をさせていただきます。
開発環境はVC.NET。
MFC ダイアログのアプリケーションを作っています。
リストコントロールを配置してカラムとアイテムを追加しテーブルを作成しました。

問題はアイテムの書き換えです。同じようにやると書き換えではなく
新規のアイテムが追加されてしまいます。アイテムを更新するには
どうすればよいでしょうか?


46 名前:デフォルトの名無しさん :2005/08/24(水) 23:30:42
>>45
MSDNでCListCtrlのメンバを良く調べるんだ。

47 名前:デフォルトの名無しさん :2005/08/25(木) 00:05:57
標準ライブラリとかってデバッグで関数内に入れるけど、
これって書き換えちゃったりしたらどうなるの?てか戻せるの?
書込み禁止にはなってるけど心配。
だれかがいたずらで書き換えちゃったらと思うと・・・・

48 名前:デフォルトの名無しさん :2005/08/25(木) 00:06:42
>>46
MSDNはどこにありますか?

49 名前:デフォルトの名無しさん :2005/08/25(木) 00:09:25
>>47
動作が変わることはない。デバッグ時に表示される行の表示位置がずれたりするけど。
書き換えたら書き換えたで、またインストールし直せばいいじゃない。

50 名前:45 :2005/08/25(木) 00:11:27
>46
即レスありがとうございます。
以下のコードでアイテムを追加しました。
int nItem;
CString str;
nItem = List.InsertItem(0,"合計");
List.SetItem(nItem,1,LVIF_TEXT,str,0,0,0,0);

メンバを調べてみたのですがSetItemTextが使えそうです。
SetItemText(nItem,1,str);
この場合nItemはどのような値を使えばいいのでしょうか?
初心者過ぎる質問でスミマセン_| ̄|○


51 名前:デフォルトの名無しさん :2005/08/25(木) 00:20:41
>>50
MSDNでSetItemTextの引数の説明をよく読むんだ。

52 名前:デフォルトの名無しさん :2005/08/25(木) 01:09:51
すばらしい返答だな!

53 名前:デフォルトの名無しさん :2005/08/25(木) 02:20:58
>>49
>動作が変わることはない。

まじかよ

54 名前:デフォルトの名無しさん :2005/08/25(木) 02:42:05
>>53
自分で書いたプログラムだってソースをどういじくろうが
コンパイルしなきゃ動作は変わらないだろーうがぁ。
インタプリタは除くが。

55 名前:デフォルトの名無しさん :2005/08/25(木) 03:27:18
>>54
え?どういう意味?屁理屈??
ソースいじってビルドして実行したらさすがに変わるよねえ?
それとも、ライブラリを書き換えても実行時には元に戻るって事なの?

56 名前:デフォルトの名無しさん :2005/08/25(木) 03:29:24
Class Propertyってどこにあるのですか?

57 名前:デフォルトの名無しさん :2005/08/25(木) 04:08:14
>>55
よくもまぁ検証もせずに屁理屈呼ばわりできるものだな

58 名前:デフォルトの名無しさん :2005/08/25(木) 04:35:40
>>55
おまいは、いつもライブラリもビルドしているのかと小一時間問いつめたい。

59 名前:デフォルトの名無しさん :2005/08/25(木) 08:39:30
>>47
たしか読み取り専用になっていた気がする。

60 名前:デフォルトの名無しさん :2005/08/25(木) 11:30:30
ddespyを手に入れる方法教えてください。
ddespyが欲しいんですがVB6のためついていません。
ddespyのためにvisual studio買うのももったいないので、
何かの付録CD-ROMについているとか情報ないでしょうか?


61 名前:デフォルトの名無しさん :2005/08/25(木) 11:46:44
>>60
2005βについてるんじゃないかな?

62 名前:デフォルトの名無しさん :2005/08/25(木) 19:10:51
>>31
はい・・本当に何もわからない状態なのですが、これをやらないといけない状態でして(;_;)
どうにか助けていただきたい状態なのです。
本当にすみません。

>>35
コマンドラインでコンパイルするとはどういう意味ですか?

63 名前:デフォルトの名無しさん :2005/08/25(木) 19:26:02
環境はVC6.0なんですが
error LNK2001: 外部シンボル ""void __cdecl CreateEditLine(struct HWND__ *,unsigned int,long)" (?CreateEditLine@@YAXPAUHWND__@@IJ@Z)" は未解決です
というエラーが読めなくて困っています。
LNK系のエラーメッセージの詳細がのっているページとかありませんか?

64 名前:デフォルトの名無しさん :2005/08/25(木) 19:39:32
すみません、自己解決しました
アホ過ぎたorz


65 名前:デフォルトの名無しさん :2005/08/25(木) 20:09:25
>>62
コマンドプロンプト上で、コンパイラのコマンドを使って
プログラム(ソースファイル)をコンパイルすること。

>>21の中で使っているclというのは、VCが使っているコンパイラ。
つまり、やってることはVC上でコンパイルするのとほとんど同じ。
(今回の場合はね)

さすがにコンパイラとコンパイルの区別はできるよね?
まさかC言語すら知らないわけじゃないよね・・・?

66 名前:デフォルトの名無しさん :2005/08/25(木) 20:22:28
今度のC++/CLI はどんな感じ?
(Managed C++ はとりあえずCLI環境C++作ってみましたってだけだったらしいけど?)

67 名前:very sage :2005/08/25(木) 21:47:26
>>62
困ったもんだ。
>コマンドラインでコンパイルするとはどういう意味ですか?
VCの統合開発環境を使わずにコマンドプロンプトの画面からコンパイル
するという意味です。
VCの[ビルド] -> [ビルド]および[実行]と同様のことができます。

Visual C++ 6.0ですか。それなら >>21 に示したスタートメニューはないので、
普通のコマンドプロンプト(MS-DOS プロンプト)を起動します。
起動すると、その画面には、
C:\>
または
C:\WINDOWS>
が表示されて、その右側にカーソルが点滅して文字を入力できるでしょう。

まずは、カレントディレクトリを、ソースファイルの
あるディレクトリに移動しましょう。

cd \kenkyu\MSDev98\MyProjects\yoshimi
を入力して Enterを押しましょう。すると、

C:\kenkyu\MSDev98\MyProjects\yoshimi>
と表示して、カレントディレクトリを移動しますね。
次にコンパイルするための準備が必要です。
vsvars32.bat というバッチファイルを実行します。そのファイルは Visual Studio
のディレクトリにあるはずです。Windowsのファイル検索プログラムで検索するといい
でしょう。

68 名前:very sage :2005/08/25(木) 21:48:45
>>62
[スタート] -> [検索(C)] -> [ファイルやフォルダ(E)...] を選択して、「ファイルま
たはフォルダの名前(M)」(Windows 95や98では「名前(N)」)に vsvars32.bat を入力
して、「探す場所(L)」を正しく指定して、[検索開始(S)]をクリックして検索しましょう。
しばらくすると、検索結果が一覧に表示するはずです。一覧に表示した vsvars32.bat
をマウスでコマンドプロンプトの画面までドラッグアンドドロップしましょう。初心者
だからといって、誤ってデスクトップ上でマウスを放して、デスクトップ上にそのファ
イルを移動してしまわないように注意しましょう。
正しくドラッグアンドドロップをすると、コマンドラインに、そのバッチファイルの
フルパス名が自動的に入力できた状態になっているはずです。これで、Enterキーを押して、
そのバッチファイルを実行しましょう。
これで、コマンドラインでコンパイルする準備ができました。
それでは、コマンドラインからコンパイルするには、clコマンドを使います。

69 名前:very sage :2005/08/25(木) 21:49:24
>>62
cl コンパイルするソースファイル名
と入力するとコンパイルできます。
あんたの例では、
cl yoshimi.cpp
と入力するんやで。

VCからビルドするのもいいけど、いちいちプロジェクト作ったりするのが面倒だったりする
からな。このようにコマンドラインからコンパイルするだけで済ませたほうが早いときは
こうしたほうがいいから言ったんやで。

70 名前:デフォルトの名無しさん :2005/08/25(木) 21:51:39
>>25,26
マジでないですね。
やっと一つそれなりのサイトを見つけたんですがやっぱり本買った方がいいですね。
説明書すら付いていないし、豊富と思ってた資料もweb上では全然無いし・・・


71 名前:デフォルトの名無しさん :2005/08/25(木) 22:06:42
>>66
とりあえずこれは読んだ?
http://www.microsoft.com/japan/msdn/vs05/visualc/VS05Cplus.asp

72 名前:very sage :2005/08/25(木) 22:21:58
>>62
process() 関数は、内部でどういう処理をしてるのかは不明で、また、コンパイル
して実行しても何も出力しません。この process() 関数にこだわる理由は何かあり
ますか。
とりあえず、関数の仮引数はそのままで、呼び出し元と関数の内部を次のように書き
換えてみてはどうですか。

------------------------------------------------------------
#include <stdio.h>

void process(unsigned char *tmpbuf, int xsize, int ysize);

int main(void)
{
/* unsigned char str1[1024]; */

/* process(str1, 6, 8); */
process("拡張子 .c でいいんじゃないか。", 6, 8);
return 0;
}

/* process(unsigned char *tmpbuf, int xsize, int ysize) */
/* だめです、先頭に void を付けましょう */
void process(unsigned char *tmpbuf, int xsize, int ysize)
{
printf("tmpbuf == \"%s\"\nxsize == %d\nysize == %d\n", tmpbuf, xsize, ysize);
}


73 名前:デフォルトの名無しさん :2005/08/25(木) 22:24:49
>>72
>>15

74 名前:very sage :2005/08/25(木) 22:39:44
>>73
15 == 27 == 28 == 62 != 23
12 == 18 == 23 == 36
だと思う。

75 名前:デフォルトの名無しさん :2005/08/25(木) 22:43:59
>>74
むしろ>>72に向けて言ってやれ。

76 名前:デフォルトの名無しさん :2005/08/25(木) 23:31:08
MessageBox()はあっても、VB の InputBox() に当たるものが、Win32API(またはMFC)
にはないと思うんですが、もしかしてありますか。
(スレ違いだが VCL にもあるのかも気になる。)

77 名前:very sage :2005/08/26(金) 00:18:58
>>62
>>72は、Cでならエラーは出ないが、C++ならエラーが出るので、(unsigned char *)でキャストしましょう。

修正前: process("拡張子 .c でいいんじゃないか。", 6, 8);
修正後: process((unsigned char *)"拡張子 .c でいいんじゃないか。", 6, 8);

それと、一つ言い忘れた。
これも初心者でなければ当たり前でわかりきったことだけど。
コンパイルしたプログラムを実行するには、そのプログラム名をコマンドラインで入力するんだよ。

------------------------------------------------------------
C:\kenkyu\MSDev98\MyProjects\yoshimi>cl yoshimi.cpp   ←── コンパイルするコマンドを入力
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

yoshimi.cpp
Microsoft (R) Incremental Linker Version 7.10.3077
Copyright (C) Microsoft Corporation. All rights reserved.

/out:yoshimi.exe
yoshimi.obj        ←── エラーで出ずにコンパイル・リンクが成功した

C:\kenkyu\MSDev98\MyProjects\yoshimi>yoshimi  ←── コンパイルしたプログラム名を入力すると実行する
tmpbuf == "拡張子 .c でいいんじゃないか。"
xsize == 6
ysize == 8        ←── 実行結果が標準出力される

C:\kenkyu\MSDev98\MyProjects\yoshimi>


78 名前:デフォルトの名無しさん :2005/08/26(金) 00:46:53

昔のVC++の廉価エディションは作ったアプリを配布することはできなかったけど
今のVC++.net standardはアプリ配布okなの?

79 名前:verysage :2005/08/26(金) 01:13:53
>>62
バッチファイル名は、.NET 2003は vsvars32.bat だが、VC6.0は vcvars32.bat のようだ。

"C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"
例えば、こんなフルパス名になるようだ。

これも参考にするといいだろう。
http://yokohama.cool.ne.jp/chokuto/urawaza/mcn/vc_cmdline.html


80 名前:very sage :2005/08/26(金) 01:29:06
>>62
これでもう十分わかるよな。

http://www.asahi-net.or.jp/~uc3k-ymd/Lesson/Section01/usage.html
http://www.ics.kagoshima-u.ac.jp/edu/katuyoukiso/HelloWorld/commandline.html
http://www.02.246.ne.jp/~torutk/cxx/vc/vcpp60.html
http://indy.doshisha.ac.jp/~watabe/VC/MsdosVC.html


81 名前:デフォルトの名無しさん :2005/08/26(金) 03:54:56
VC++Expressのβ2をインストールし、dumpbinを使おうとするとlink.exeがアプリケーションエラーを吐いて
起動出来ません。表示→アプリケーションを正しく初期化できませんでした(0xc0150002)
一応環境変数等はきっちり通してあるつもりですが、対処方法ありましたら
ご指導下さい。

82 名前:デフォルトの名無しさん :2005/08/26(金) 04:57:57
2003もvcvars32.batじゃないの?

と、思ったが、vcvars32.batはvsvars32.bat実行してるだけだなorz

83 名前:デフォルトの名無しさん :2005/08/26(金) 05:14:41
>>76
普通にダイアログ作って、GetDlgItemTextとかで取得するしかないんじゃね?

84 名前:デフォルトの名無しさん :2005/08/26(金) 10:53:50
>>72
ソースがあるサイトには「肌色抽出プログラム」って書いてるから
画像のデータ抽出用の関数な気がする。
だとすると、tmpbufには画像データ(ビットマップ)が入るわけで、
さらにそれを何らかの手段で取得できるようにしないといけない。

まあ、つまりは>>62の理解度だと
process()関数だけじゃ何もできないってことだ。
とか、>>62はコレ使って何をしたいの?


85 名前:デフォルトの名無しさん :2005/08/26(金) 11:31:52
>15の所為ですっかりぐだぐだなスレになったな。

86 名前:デフォルトの名無しさん :2005/08/26(金) 12:48:53
.NET のようなタブ式ウィンドウを作りたいのですが、どのように掏ればいいですか?
タブコントロールならサンプルを見つけたんですが


87 名前:デフォルトの名無しさん :2005/08/26(金) 13:01:11
漠然としすぎだな

88 名前:デフォルトの名無しさん :2005/08/26(金) 13:12:48

昔のVC++の廉価エディションは作ったアプリを配布することはできなかったけど
今のVC++.net standardはアプリ配布okなの?

89 名前:86 :2005/08/26(金) 15:45:50
xyzzy のような、数ファイルD&Dして一つのウィンドウに1つのファイルを
開いてくれるようなやつでもいいんですが

90 名前:デフォルトの名無しさん :2005/08/26(金) 15:48:36
タブコントロール使って作ればええやん。
何がわからないんだ?

91 名前:デフォルトの名無しさん :2005/08/26(金) 16:24:08
Visual C++ 2005 βが無料で使えるみたいなので、落としてる最中なんですが、
このソフトは何か問題がありますか?
プログラミング経験無しの素人の俺が覚えるために使おうとしているので、
初心者向きでは無いなら、他のソフトにしようと思っていますので、よろしくお願いします。

92 名前:デフォルトの名無しさん :2005/08/26(金) 16:39:51
前のvsと比べ、使いかって等が良くなっている。
プログラミング経験無しでも問題ない。
だが、30日しか使えないので、2005が正式に出たら買うべきだ。

93 名前:デフォルトの名無しさん :2005/08/26(金) 17:44:41

昔のVC++の廉価エディションは作ったアプリを配布することはできなかったけど
今のVC++.net standardはアプリ配布okなの?

94 名前:デフォルトの名無しさん :2005/08/26(金) 19:12:34
βはあくまでβだからな
オンラインゲームのβとはわけが違う

95 名前:デフォルトの名無しさん :2005/08/26(金) 19:16:22
>>92
登録したらずっと使えるんじゃないの?

96 名前:デフォルトの名無しさん :2005/08/26(金) 19:32:02
>>95
>>94


97 名前:デフォルトの名無しさん :2005/08/26(金) 19:37:22
>>96
ご注意: Visual Studio 2005 Express Edition Beta 2 を 30 日以上お使いになるには、
ユーザー登録およびライセンス認証が必要です。

http://www.microsoft.com/japan/msdn/vstudio/2005/express/visualc/

98 名前:デフォルトの名無しさん :2005/08/26(金) 19:40:02
>>97
βだからってのはそれだけの意味じゃないだろ

99 名前:デフォルトの名無しさん :2005/08/26(金) 19:40:39
>>97
オマエは一生βで開発するのか?

100 名前:デフォルトの名無しさん :2005/08/26(金) 20:03:51
>>92
ありがとうございます。これからこちらのスレでお世話になるかもしれないですけど、
よろしくお願いします。

製品の期限は、登録をすると来年の5月ほどまで使えるそうですが、
本格的にやろうと思いますので、製品版がでたら購入しようと思っています。



101 名前:デフォルトの名無しさん :2005/08/26(金) 20:06:53
書籍紹介スレって
http://pc8.2ch.net/test/read.cgi/tech/1064681919/
http://pc8.2ch.net/test/read.cgi/tech/1090723093/
この二つしか無い?

なんか廃れてるみたいなんだけど、ここは書籍話題はタブーなのか?

102 名前:デフォルトの名無しさん :2005/08/26(金) 20:19:44
>>101
別にタブーではないと思うが、
入門書、参考書の類はたくさん種類がある上に、
ほとんどがロクな内容じゃないから読む気がしないんだろう。
もうお腹いっぱいというか、胃もたれ起こしたというか、そんな感じ。

103 名前:デフォルトの名無しさん :2005/08/26(金) 20:46:42
>>101
http://pc8.2ch.net/test/read.cgi/tech/1119115838/

104 名前:デフォルトの名無しさん :2005/08/26(金) 20:48:49
検索にかかりにくいスレタイだな

105 名前:デフォルトの名無しさん :2005/08/26(金) 21:30:48
>>102
なるほど。それは初心者スレにはありがちな事だな。
>>103
ありがと。書籍、本、で検索してかからないわけだよw


106 名前:デフォルトの名無しさん :2005/08/27(土) 16:14:34
C言語の勉強をしたくてVisual C++ .netを買ったんですが
調べてみるとものすごく不評っぽいんですが
どうなんでしょうか?
教えてエロイ人

107 名前:デフォルトの名無しさん :2005/08/27(土) 16:20:28
BCBよかましだろ。

108 名前:デフォルトの名無しさん :2005/08/27(土) 16:24:36
質問です。XP、Visual C++ .NET です。

CFile::Open() でエラーが生じた場合、
CFileException 構造体でエラー情報を受け取り、
エラーの種類の取得は、CFileException のメンバ m_cause で行っています。

ところが m_cause は整数値です。
ユーザに分かるようにエラー名をメッセージボックスに表示させようと思うのですが、
あらかじめエラー用の文章は用意されていないのでしょうか。
自分で switch 文などで、作成するしかないでしょうか。

よろしくお願いします。


109 名前:デフォルトの名無しさん :2005/08/27(土) 16:37:36
>>108

つ[CException::ReportError()]

110 名前:デフォルトの名無しさん :2005/08/27(土) 16:38:31
自社製のOS上の開発ツールなのに不評ってどういうことなんだ。
自社製だからBorlandより有利なはずなのに。

111 名前:デフォルトの名無しさん :2005/08/27(土) 16:42:39
VC++.NETが不評だなんて聞いたこと無いが

112 名前:デフォルトの名無しさん :2005/08/27(土) 16:51:59
同じく聞いたこと無いが

とはいえ、OSが自社製だからってのと開発ツールのできのよさはまったくもって無関係
特に外逸一族の作るものは得てして、重いうえに使いづらい。

113 名前:デフォルトの名無しさん :2005/08/27(土) 17:03:47
>>112
「外逸」を漢和辞典と国語辞典で調べてみたが、載ってないんだけど。

114 名前:108 :2005/08/27(土) 17:07:57
>>109
基底クラスのメンバを調べるのを失念していました。お恥ずかしい・・・
ありがとうございます。

115 名前:デフォルトの名無しさん :2005/08/27(土) 17:17:51
毎黒祖父戸野微瑠外逸

116 名前:デフォルトの名無しさん :2005/08/27(土) 17:19:32
ああ、そういうことか

117 名前:デフォルトの名無しさん :2005/08/27(土) 18:07:21
そのまま音読みすりゃわかろうものを・・・

118 名前:デフォルトの名無しさん :2005/08/27(土) 19:02:13
>>106
どこらへんが不評なの?
俺も勉強の為に買ったけど、今までのフリーの環境でも快適だったのに、
VCにしてみてさらにエディタの機能ごときで感動してるくらいなんだけど。
さらにリソースエディタなんて、
「うおーこんな機能まであるのか!!」
ってレベルだよ。

119 名前:デフォルトの名無しさん :2005/08/27(土) 19:04:14
>>115
がいつ???????

120 名前:デフォルトの名無しさん :2005/08/27(土) 19:05:41
>>118
だから不評なんて聞いたことねぇって

121 名前:デフォルトの名無しさん :2005/08/27(土) 19:09:06
>119
外と書いて「げ」とも読むよね。

122 名前:デフォルトの名無しさん :2005/08/27(土) 19:10:15
ネタにマジレス(ry

本気で言ってるなら、がいつじゃなくてがいいつだろ

123 名前:デフォルトの名無しさん :2005/08/27(土) 19:14:48
「ゲイツ」で変換すると
「ミ田」になる俺の辞書

124 名前:デフォルトの名無しさん :2005/08/27(土) 19:37:46
みた?

125 名前:デフォルトの名無しさん :2005/08/27(土) 19:40:28
ひろこ

126 名前:デフォルトの名無しさん :2005/08/27(土) 19:40:56
ハイハイワロスワロス

>>123
窓アイコンは逆向きだろ?

127 名前:デフォルトの名無しさん :2005/08/27(土) 20:02:18
ああWindowsのマークだったのか

128 名前:デフォルトの名無しさん :2005/08/28(日) 05:32:03
田彡

129 名前:デフォルトの名無しさん :2005/08/28(日) 06:34:50
いやまじだって
「ウィンドウズ」でも出る
ミ田

130 名前:デフォルトの名無しさん :2005/08/28(日) 06:37:51
誰もネタだろとか嘘だろとか言っておらん
ただ、向きが逆だろと言ってるだけだ


131 名前:デフォルトの名無しさん :2005/08/28(日) 06:44:50
>>130
お、こんな時間に奇遇だね。
じゃあ寝るか。

132 名前:デフォルトの名無しさん :2005/08/28(日) 06:58:49
生憎だが俺は起きたとこだ。
まぁ、ゆっくりと寝たまえ

133 名前:デフォルトの名無しさん :2005/08/28(日) 08:05:13
>>130
逆?鏡でも見てる?

134 名前:デフォルトの名無しさん :2005/08/28(日) 11:01:05
ウィンドウズで出るわけじゃないけど向きはあってるなぁ。

>>130
再起動してみ。

135 名前:デフォルトの名無しさん :2005/08/28(日) 17:52:18
流れがよく分からないけど質問させてもらいますね(´・ω・`)
画像を透過させ、マスク処理した画像の後ろに画像が見えるというのを表現したいのですが上手くいきません。
赤赤赤           青青青             黒白黒
赤赤赤 後ろの画像   青青青 前面の画像     白白白 前面用マスク画像
赤赤赤           青青青             黒白黒  
ずれてたらすみません、3x3の画像3種類と考えてください。
理想としては
赤青赤 ←こういう感じになって欲しいのですが、      緑青緑
青青青     マスク処理した部分が             青青青            
赤青赤       ブラシの色(緑)になってしまいます→  緑青緑

続く



136 名前:デフォルトの名無しさん :2005/08/28(日) 17:53:16
hdc = BeginPaint(hWnd, &ps);
hBrush = CreateSolidBrush(RGB(0, 255, 0));
SelectObject(hdc, hBrush);
hbmp_Red = (HBITMAP)LoadImage(hInst, "RedTex",IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
続き

hdc_Red = CreateCompatibleDC(hdc);
SelectObject(hdc_Red, hbmp_Red);
BitBlt(hdc, 0, 0, 3, 3, hdc_Red, 0, 0, SRCCOPY);

hbmp_Cross = (HBITMAP)LoadImage(hInst, "Cross",IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
hMask = (HBITMAP)LoadImage(hInst, "Cross_Mask", IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
hdc_mem = CreateCompatibleDC(hdc);
SelectObject(hdc_mem, hbmp_Cross);
MaskBlt(hdc, 0, 0, 3, 3, hdc_mem, 0, 0, hMask, 0, 0, MAKEROP4(SRCCOPY, PATCOPY));

DeleteObject(hbmp_Red);
DeleteObject(hbmp_Cross);
DeleteObject(hMask);
DeleteDC(hdc_mem);
DeleteDC(hdc_Red);
DeleteObject(hBrush);
EndPaint(hWnd, &ps);

これでやっていますがやり方を間違えているのでしょうか・・。
WinXP/VC++.netです。


137 名前:135-137 :2005/08/28(日) 17:54:47
136の文中に続きの文字が入ったとです、申し訳ありません

138 名前:デフォルトの名無しさん :2005/08/28(日) 18:30:32
>>134
悪いが2kなんで窓マークは出ん
が、確認した、悪かった_| ̄|○i|i

139 名前:デフォルトの名無しさん :2005/08/28(日) 18:46:01
CreateCompatibleDCって普通NULLで呼び出さないか?

140 名前:デフォルトの名無しさん :2005/08/28(日) 19:04:25
なんていうか秀丸エディッタみたいなのが欲しいんですけど
C++で作れるんですか?
とりあえず興味あるんで、具体的に何からはじめていけばいいですか?
コンパイラはボーランド使ってます。
エディッタはTeraPat使ってます。

141 名前:デフォルトの名無しさん :2005/08/28(日) 19:22:05
俺は秀丸エディッタなる存在を聞いたことも見たこともないな。

142 名前:デフォルトの名無しさん :2005/08/28(日) 19:39:50
C++で作れるよ
オマエさんが作れるかは別問題だがな

143 名前:デフォルトの名無しさん :2005/08/28(日) 20:16:53
>>142
そりゃそうだねーw
今は友達がカレンダー作れるようになれって言われたからカレンダーがんばってるw

144 名前:デフォルトの名無しさん :2005/08/28(日) 20:29:01
秀丸エディタは古いコンピュータでも動くようにとのことから
Visual C++ 5.0で作っているそうです。
ちなみに実際に作成しているのは秀丸さんじゃなくて
もう一人のプログラマの人に任せていると
なんかで読みました。

145 名前:デフォルトの名無しさん :2005/08/28(日) 23:24:13
>>138
なんか起きてみたら形勢逆転かよ。
とりあえず俺に謝ってくれないか?
うそ、いいよ、許す。

146 名前:デフォルトの名無しさん :2005/08/29(月) 00:53:03
>>135
前面画像の透過部分を黒か白にして、MAKEROP4()の第2引数を
黒ならSRCPAINT、白ならSRCANDにする。

147 名前:135-137 :2005/08/29(月) 01:35:11
>>146
ありがとうございます。
お陰で解決できました。

148 名前:デフォルトの名無しさん :2005/08/30(火) 20:52:35
ttp://www.atmarkit.co.jp/fdotnet/special/cppcli/cppcli_01.html
相変わらず電波バリバリだなあ

149 名前:デフォルトの名無しさん :2005/08/31(水) 22:31:15
>>144
何で6.0じゃないんだろう

150 名前:デフォルトの名無しさん :2005/08/31(水) 22:40:28
>>149
5.0で開発できる+VC++高杉→5.0でいいや、じゃねーの?

151 名前:デフォルトの名無しさん :2005/08/31(水) 22:56:16
6.0って、今思うと物凄いロングセラーだよな
5.0買った人達カワイソス

152 名前:デフォルトの名無しさん :2005/08/31(水) 23:07:11
6年前には既に有ったからな、6.0

153 名前:デフォルトの名無しさん :2005/09/01(木) 04:24:40
VisualC++Express2005をダウンロードして、使い方が良く分からないので
「ひと目でわかる VisualC++.NET Version2003アプリケーション開発入門」
を買ったのですが、CDに収録されているソースを読ませてコンパイルしてもエラーが出ますorz
初めは打ち間違えたのかなと思ったのですが、どうもそうではないみたいです。
2005と2003では何か大きく変更になったところでもあるのでしょうか?


154 名前:デフォルトの名無しさん :2005/09/01(木) 04:25:48
ESP! ESP!

155 名前:デフォルトの名無しさん :2005/09/01(木) 04:51:32
>>153
わたしは通りすがりで、且つサイコキネシス系の人間だが、
ソースをさらしたほうがいい。でなければ、詳しく。
__gc managed から C++/CLI になった。
.net Frameworkを使ってなければ大佐はいないだろうけど。

156 名前:デフォルトの名無しさん :2005/09/01(木) 06:35:53
>>155
どうもありがとうございました。
この本を読み始めた時から、なんだか普通のC++コードと
違う気がしていたのですが、_gc managedとかCLIとかいう
C++の拡張系があるんですね。
ソースは本に付属していたもので、うpするのはまずそうなので
ググって調べてみます。

157 名前:デフォルトの名無しさん :2005/09/01(木) 09:17:24
画像を使ったスクロールバーは、どうやってつくるのでしょうか?
サイトを駆け巡ってみたのですが、参考HP見つからず...orz

158 名前:デフォルトの名無しさん :2005/09/01(木) 15:01:01
>>157
MSDNをななめ読みしたが、オーナードローとかの仕組みは無いみたい。
自前で作るしかないんじゃね?

159 名前:デフォルトの名無しさん :2005/09/01(木) 18:50:16
関数から抜けるとき
Run-Time Check Failure #2 - Stack around the variable 'ローカル変数名' was corrupted
のダイアログがでるんですが
このメッセージの意味と対処法をおしえてください.


160 名前:デフォルトの名無しさん :2005/09/01(木) 18:54:58
>>159
「ローカル変数」のスタック蛾物故割れた

161 名前:デフォルトの名無しさん :2005/09/01(木) 19:27:52
>>159
配列の境界超えて書き込んだとか、してんじゃないの?

162 名前:デフォルトの名無しさん :2005/09/01(木) 21:15:28
エラーログが文字化けします。

aRaoapaCaie?e─eoe?e?...
stdafx.cpp
aRaoapaCaie?e─eoe?e?...
sankaku.cpp
print.cpp
c:\Documents and Settings\tarou\My Documents\Visual Studio Projects\print\print.cpp(24) : warning C4267: '=' : 'size_t' ?? 'int' ??????????????????????????
???????...
c:\documents and settings\tarou\my documents\visual studio projects\print\print.cpp(19) : warning C4700: Ale¬eaeΦoue─eτeΩe─eoe?eoaiu[aJaie?o?Eo 'buffer' e?a?e?e─AQA?e¬iseφeΩe?e?e?uB
リンクしています...

解決方法を教えてください。宜しくお願いします。

163 名前:デフォルトの名無しさん :2005/09/01(木) 21:18:23
環境書けよ

164 名前:デフォルトの名無しさん :2005/09/01(木) 21:19:07
タロー

165 名前:162 :2005/09/01(木) 21:22:21
すみません、忘れてました。
Win XP Home Edition SP2で Microsoft Visual C++ .NET です。
Microsoft Visual C++ .NET はSpokeからインストールしました。

166 名前:デフォルトの名無しさん :2005/09/01(木) 23:21:16
C++とOpenGLは、一応プログラムでメシが食えるくらい理解していると思うのですが、
Windowsについては全くの初心者です。
このたび、趣味でゲームでも作ろうと思い、.NET を購入し、Visual C++をいじってみたのですが、
あまりにも今までやってきたものと環境が違いすぎて困惑しています。
(キーボードを打っていないのに、勝手にコードが書かれていくなんてありえない…)

目標は、Win用自作ゲームをwebで公開することです。
MFCもWin32APIもDirecrXも、ほとんど理解していないのですが、まずどこから手をつければよいのでしょうか。
やはり、DirectXを覚えて、Visual C++で作るべきですか?

また、まったくのゼロから、main() から自分で書いて作るのは大変なんでしょうか?


167 名前:デフォルトの名無しさん :2005/09/01(木) 23:24:10
>>166
WindowsでもOpenGLは使えないわけではないよ。

168 名前:デフォルトの名無しさん :2005/09/01(木) 23:26:31
>>166
ゼロから手打ちでも不可能じゃないと思う
まぁmainじゃなくてWinMainに変わるけど

169 名前:デフォルトの名無しさん :2005/09/01(木) 23:36:33
猫でもわかるプログラミング
でぐぐれ。

170 名前:デフォルトの名無しさん :2005/09/01(木) 23:58:30
入門書もろくに読まずにいきなり作り始める馬鹿

171 名前:デフォルトの名無しさん :2005/09/02(金) 00:07:31
>>166
俺はMFCでOpenGL使ってるぞ。

172 名前:166 :2005/09/02(金) 03:50:02
色々と調べたり、本を読んだりはしてみたのですが、
あくまでも遊びレベルなので、それほど真剣には調べてませんでした。
私のような「C++とOpenGLは知ってる」というような者や、
Unix等で昔からガンガン組んでた人がとっつき安い方法を知りたかったので
少しスレ違いとは思いつつも質問させていただきました。

OpenGLが使えることも、「猫でも〜」も知っています。
ただ、ゲームを作るにはイリーガルなやり方みたいですね、やはり。

個人的な理想としては、
・C++言語レベルにおいては、「猫でも〜」のように、main() から自分で書く。
・ライブラリはDirectXを使う。これは、頑張って勉強する。
のような感じが良いかなーと思ったのですが、
プロジェクトテンプレートは何を選んで、どうやってDirectXをリンクすれば良いんでしょうか。
参考サイト等もありましたら教えていただけると嬉しいです。

173 名前:デフォルトの名無しさん :2005/09/02(金) 04:02:48
DirectXスレ向けかな。

別にVSに限らず、GUI構築ツールは大抵コードを勝手に吐いてくれるわけだが。

174 名前:デフォルトの名無しさん :2005/09/02(金) 04:28:06
>>166
1. Win32 アプリケーションを選ぶ。
2. WinMain 以外をばっさり削除
3. がんばって CreateWindow を成功させる
4. DirectX なり OpenGL なり

という流れで良いと思う。

OpenGL に慣れてるのであれば、
ムリして DirectX 使う必要も無いと思うけど。

175 名前:デフォルトの名無しさん :2005/09/02(金) 04:30:02
>2. WinMain 以外をばっさり削除
そんなことしなくても、空のプロジェクトを作成、って項目があるジャマイカ…

176 名前:デフォルトの名無しさん :2005/09/02(金) 05:29:51
Windowsゲームを作るならそれがいいんだよな
俺も勝手にコード書かれるの嫌

177 名前:デフォルトの名無しさん :2005/09/02(金) 06:19:23
>私のような「C++とOpenGLは知ってる」というような者や、

C++は知ってて当然
OpenGLはVCとは直接関係ない
だから他の初心者と同じように勉強すればいい

178 名前:デフォルトの名無しさん :2005/09/02(金) 07:05:32
GLUTならWindowsだからといって特に変更はいらないと思うけど

179 名前:デフォルトの名無しさん :2005/09/02(金) 08:12:10
>あくまでも遊びレベルなので、それほど真剣には調べてませんでした。

ということはVCは向いてないね
まったくのプログラミング初心者
趣味程度にプログラムを作りたい
手っ取り早く作りたい
こういう場合はVBかC#

180 名前:デフォルトの名無しさん :2005/09/02(金) 08:15:27
趣味でやるならBasic4GLがいいよ
OpenGLのAPIが使えるBasic
Basicといってもポインタとか普通に使えるし

181 名前:デフォルトの名無しさん :2005/09/02(金) 10:32:16
エディットボックスに入力された文字数を取得したいのですが、
GetWindowTextLengthを試みましたところ、バイト数が返ってきました・・・
バイト数では無く、文字数を得る為にはどうしたら良いでしょうか?

182 名前:デフォルトの名無しさん :2005/09/02(金) 11:11:35
>>181
IsDBCSLeadByte使って自分で数えるか_mbstrlen

183 名前:デフォルトの名無しさん :2005/09/02(金) 11:14:23
NT系ならGetWindowTextLengthWとか

184 名前:デフォルトの名無しさん :2005/09/02(金) 11:43:03
質問スレで回答無かったので移動しました。
MFC(コンパイラはVC.NET)+Win32APIのアプリケーション用にHTML Help(.chm)形式のヘルプを作っているのですが、
アプリケーションの動作中に動的にページを切り替えるようにするにはどういうアプローチがあるでしょうか。

185 名前:デフォルトの名無しさん :2005/09/02(金) 11:50:58
質問が意味不明だからエスパーを呼んでくれ

186 名前:デフォルトの名無しさん :2005/09/02(金) 11:56:14
じゃあこれからカバンに入りま〜す、はい〜。

187 名前:デフォルトの名無しさん :2005/09/02(金) 12:00:50
>>184
アプリの処理と連動して表示してるヘルプのページを切り替えるってこと?
それなら自分でヘルプID指定してメッセージ投げるとか、ヘルプ表示関数呼ぶとか。
できるかどうか知らないけど。

188 名前:デフォルトの名無しさん :2005/09/02(金) 17:26:22
>>181
GetWindowTextLength のヘルプを100万回嫁。

189 名前:デフォルトの名無しさん :2005/09/02(金) 18:30:24
50万回まで読みました

190 名前:デフォルトの名無しさん :2005/09/02(金) 18:47:59
msvcr71.dllやmsvcp71.dllが再頒布可能であることを直接明示した
ドキュメントを探しているのですが,見つかりません.
どこに明示されているんでしょうか?

191 名前:デフォルトの名無しさん :2005/09/02(金) 19:09:00
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/vcconRedistributingMicrosoftVisualC60Applications.asp

192 名前:デフォルトの名無しさん :2005/09/02(金) 19:21:13
>>191
ありがとうございます.製品CDのRedist.txtを確認してみます.

193 名前:前スレ899 :2005/09/02(金) 19:41:22
ttp://pc8.2ch.net/test/read.cgi/tech/1120222322/899
ですが関数_beginthreadex()のstack_sizeについてもう一度質問させてください。

//スレッド内の処理をすべてこっちに移した。
void func(void *arg)
{
int i;
char ss[128];

}
//スレッド内では目的の関数を呼び出すだけ
unsigned __stdcall ThreadFunc(void *arg)
{
func(arg);
//スレッド終了時の色々な処理
〜〜〜
_endthreadex( 0 );
return 0;
}

こんな風にしておけばstack_sizeに与える値は関数呼び出しに
必要となるバイト分(sizeof(int)だけだと思いました。
または、スレッドで呼ばれた関数func()も関数を呼び出すので
その分、余分に用意しないといけないとも思いましたがどうでしょうか?

やはり stack_size = (sizeof(int)+sizeof(char)*128)+関数呼び出しにかかるバイト数
となるのでしょうか?

194 名前:デフォルトの名無しさん :2005/09/02(金) 19:46:58
>>193
で、質問するのはいいのだが、前スレのレスを吟味した上で聞いているのかね?

195 名前:デフォルトの名無しさん :2005/09/02(金) 20:02:05
>>193
_endthreadexがどれくらいスタック消費してるかわからんし
スレッドプロシージャが呼ばれる前にもスタックを消費してるかもしれない。
人に訊かないとわからんようならデフォルト値指定しとけ。

196 名前:前スレ899 :2005/09/02(金) 20:03:18
はい、stack_sizeには0を指定すればいいとききましたが、
main()では関数を呼び出すだけで終わりです。
func1()にはコマンドラインから与えられた引数
(入出力ファイル名やデータ解析オプション)を渡すのですが、
main()内で宣言している変数はint argc, char *argv[];
しかありませんので、func()内でchar ss[128];を確保したい以上、
stack_sizeに0を指定するのはまずいという結論に達しました。

そこでもう一度質問させてもらいたかったのですが、駄目でしょうか?

197 名前:デフォルトの名無しさん :2005/09/02(金) 20:09:10
>>196
mainで宣言してる量でスタックサイズが決まるわけじゃないぞ?

198 名前:前スレ899 :2005/09/02(金) 20:16:37
えっ、そうなんですか?
私はmain()内ではsizeof(int)+sizeof(char **)分しか
確保されない思っていましたが、違うのですね。

それで皆さん0を指定したらいいよと教えてくださっていたのですか。
すいません杞憂だったようです。

0を指定していきたいと思います。
ありがとうございました。

199 名前:デフォルトの名無しさん :2005/09/02(金) 20:25:08
>>198
スタックサイズはコンパイラオプションで決まる。

200 名前:デフォルトの名無しさん :2005/09/02(金) 23:02:04
もしかして、stack_sizeに0を指定するのは実際に0バイトし確保しないと思ったんだろうか。

201 名前:デフォルトの名無しさん :2005/09/03(土) 00:28:38
機能単位にコンテナ上にコントロールをまとめておいて、
コンテナを表示/非表示することによって可視できるコントロールを
制御したいと考えています。
VBだとデザイン画面で簡単にコントロールの親子関係を関連付け
できるんですけど、VCだとどうやればいいんですか?

もう少し補足しますと
VBのデザイン画面ではピクチャーやフレームコントロールがコンテナの
働きをしてくれて、その上にコントロールを貼り付けておけば
土台となるピクチャーを移動した時に上に乗ってるコントロールは
一緒に移動してくれました。

VC++6.0のダイアログエディタで同じことをやろうとして
ピクチャーやグループの上にボタンコントロールを載せようと
したのですが乗っかってくれません。コンテナとして使えない?

コードで書く方法だとコントロールの数が多いとき大変ですよね。


202 名前:デフォルトの名無しさん :2005/09/03(土) 05:05:52
>>201
手元にVC無いんだけど、コントロールのプロパティで「グループ」ってのなかった?
あれはラジオボタンの関連付けとかに使うだけだっけ?

203 名前:デフォルトの名無しさん :2005/09/03(土) 07:15:51
ネーヨ

204 名前:デフォルトの名無しさん :2005/09/03(土) 08:16:17
もしかして:タブグループ

205 名前:デフォルトの名無しさん :2005/09/03(土) 11:42:58
peekmessageでのメッセージループ内で描画のために毎回
createpenしたらプログラム実行時ページファイル使用量が際限なく上昇してしまいます。
deleteobjectでメッセージループの終わりにペンをdeleteするようにしてもだめです。
どうしたらいいでしょうか。

206 名前:デフォルトの名無しさん :2005/09/03(土) 11:50:23
>>202
そうなんです。プロパティの「グループ」はラジオボタンのグループ化用でした。
+--グループボックス--+
| ◎ラジオボタン1  |
| ◎ラジオボタン2  |
+-------------------+
この場合グループボックスを無効化すれば、ラジオボタン1と2も無効化
されて欲しいんですけど。
VBだとラジオボタンを切り取って、グループボックスにフォーカスを合わせた
あとに貼り付ければ親子関係が成立するんですけど...
>>204
タブストップ?


207 名前:デフォルトの名無しさん :2005/09/03(土) 12:41:48
コードの量が増えてもVBより速いから心配いらんよ

208 名前:デフォルトの名無しさん :2005/09/03(土) 12:47:29
関数名等を大文字小文字を区別しないで書く奴に
ハァ?となるような質問が多い件について。

209 名前:デフォルトの名無しさん :2005/09/03(土) 13:25:54
>>205
ループの外でペン作っておけばいいじゃん
例えば、
InitInstannceに相当する処理でCreatePen
ExitInstanceに相当する処理でDeleteObjec

210 名前:デフォルトの名無しさん :2005/09/03(土) 14:34:19
ペン(&ブラシ)って作成時以外に色変えられましたっけ?


211 名前:デフォルトの名無しさん :2005/09/03(土) 16:10:01
>>210
必要な分だけ、あらかじめ作っておくってこと。
どうしてもPeekMessageの中でペンを作らないとダメなら、
条件分岐させて再描画処理(ペン作成)の回数を下げる。


212 名前:デフォルトの名無しさん :2005/09/03(土) 16:27:29
どーせ、SelectObjectする前のペンを復帰させてないとかいうオチ。

213 名前:デフォルトの名無しさん :2005/09/03(土) 18:24:56
デバッグ中に、ある変数の値をリアルタイムに出力できるようにするには、どうすればいいのでしょうか?
ブレークポイントで止めて、Stepしながら確かめるのではなくて。

214 名前:デフォルトの名無しさん :2005/09/03(土) 18:27:13
>213
TRACEマクロ

215 名前:デフォルトの名無しさん :2005/09/03(土) 18:57:51
ダイアログベースの新規プロジェクトを作成して、ダイアログにダイアログと同じサイズのピクチャーを貼り付けて
その上にボタンコントロールを載せて、あとはコードを書かずに実行すると
ボタンが表示されたりされなかったりします。
ボタンは見えなくてもマウスでクリックするとボタンが現れます。
試しにピクチャーのウィンドウハンドルを取得してSetWindowPos()で最下面の属性を与えたのですが
結果は変わりませんでした。
この現象はピクチャーコントロールがボタンよりあとに表示されていて
ボタンのエリアをクリッピングしてくれていないということですか?
これの対策はどうすればよろしいですか?

216 名前:215 :2005/09/03(土) 19:07:23
>>215
ピクチャーにはデザイン画面でビットマップを指定しています。
ビットマップのサイズはダイアログと同じ大きさです。

217 名前:デフォルトの名無しさん :2005/09/03(土) 19:55:54
>>216
OnPaintでダイアログに直接BitBlt、とか。

218 名前:デフォルトの名無しさん :2005/09/03(土) 21:16:32
今からやるなら、「MFCアプリケーション」と「.NETのWinフォームアプリケーション」のどっちをやった方がいいですか?

219 名前:デフォルトの名無しさん :2005/09/03(土) 21:21:10
ケースバイケース

220 名前:デフォルトの名無しさん :2005/09/03(土) 21:22:28
C#

221 名前:デフォルトの名無しさん :2005/09/04(日) 05:21:47
中間ファイルの出力ディレクトリを変更して、プリコンパイル済みヘッダーを使用すると
次のようなエラーが出て困ってます。

error C2859: d:\test\debug\src\vc60.pdb は、このプリコンパイル済みヘッダーが
        作成されたときに使用されたpdb ファイルではありません。
        プリコンパイル済みヘッダーを再作成してください。
cl.exe の実行エラー

中間ファイルの出力ディレクトリを変更しても、
エラーが出ないようにするにはどうすればいいですか?

222 名前:デフォルトの名無しさん :2005/09/04(日) 05:59:52
リビルドしてもだめなん?

223 名前:221 :2005/09/04(日) 06:16:32
>>222
クリーン→リビルドしても同じエラーが出ます。

中間ファイルの出力ディレクトリを変更しない場合(全て同じディレクトリ)は
エラー無く、うまくいくんですけどね…。

224 名前:デフォルトの名無しさん :2005/09/04(日) 07:53:46
初心者がわざわざ変更する必要ないから
やりたければ勝手にどうぞ

アブノーマルな使い方は初心者スレの範囲外

225 名前:デフォルトの名無しさん :2005/09/04(日) 08:07:37
どっかの設定のパスを変え忘れてるに一票。

226 名前:デフォルトの名無しさん :2005/09/04(日) 12:32:52
>>221
そのファイルを削除する

227 名前:デフォルトの名無しさん :2005/09/04(日) 14:19:09
SDLのライブラリを使ってプログラミングをしているのですが、インテリセンスがうまく働かない関数があります。
SDL_InitやSDL_Quitなどです。
SDL_LoadBMPという関数やSDLで定義されている構造体などには、引数やメンバが表示されます。
これはどこか設定がうまくいっていないのでしょうか。それともVCの仕様ですか?

228 名前:デフォルトの名無しさん :2005/09/04(日) 14:25:56
GLUTの関数も一部出ないよね。
IntelliSense意外とバカ?

229 名前:デフォルトの名無しさん :2005/09/04(日) 14:43:57
一回そのプロジェクトの.ncbファイルを削除する事をお勧めする。
.vcprojを起動したらちゃんとしたの新しく作ってくれるよ。

230 名前:デフォルトの名無しさん :2005/09/04(日) 17:38:59
VC7 のインテリセンスって文字列リテラルに全角が混ざるだけでバグるほど馬鹿なんだけど。
VC6 じゃ、こんなことなかった。

printf("こんにちは");
            ↑ここまで打ってもprintfのヒントが消えない

231 名前:デフォルトの名無しさん :2005/09/04(日) 17:53:03
"が全角になってるとか、''になってるとかの落ちじゃねーの?

232 名前:デフォルトの名無しさん :2005/09/04(日) 17:58:05
printf("あ");
       ↑ここまで打って消える。
printf("あいうえお");
            ↑ここまで打っても消えない。

233 名前:デフォルトの名無しさん :2005/09/04(日) 20:35:20
自作デスクトップマスコットをWME(ウインドウズ メディア エンコーダー)で撮ろうとしていますがなぜか映りません。
マウスカーソルの影も同様です。
WMEの仕様上不可能なのか設定でどうにかできるならいいのですが、
プログラム側で対応できないのでしょうか?
タイトルバーと枠なし、背景透明をやめれば映るのですが、
見栄えが非常に悪くなるのでそれだけは残しておきたいです。
環境はXP、.NETです。

234 名前:デフォルトの名無しさん :2005/09/04(日) 20:58:55
>>233
マウスは仕様
DTMが映らないのはおまえの作り方が悪い

235 名前:デフォルトの名無しさん :2005/09/04(日) 21:04:01
LayeredWindowが映らないだけでは?
あれはたしかにBitBltでは持ってこれない。

236 名前:233 :2005/09/04(日) 21:23:21
>>234-235
レスありがとうございます。
>BitBltでは持ってこれない
と言うことはそれ以外の方法があるのでしょうか?
(ビットマップ)画像を描画する方法はBitBltやStretchBltぐらいしか知らないので、猫(時計作成の項)にも書かれていたようにそのまま使っていました。


237 名前:デフォルトの名無しさん :2005/09/04(日) 21:36:44
LayerdWindowじゃなくて普通のWindowでリージョン使ってやってみれ

238 名前:233 :2005/09/04(日) 21:52:36
ありがとうございます。
まだデバッグまでは行ってませんがなんとかできそうです。

239 名前:デフォルトの名無しさん :2005/09/04(日) 22:49:45
>>235
つCAPTUREBLT

240 名前:デフォルトの名無しさん :2005/09/05(月) 03:19:53
質問です。
項目は DirectInput 関係ですが、質問自体は DirectX に関係ないと思い、ここで質問させていただきました。

IDirectInput8::EnumDevicesBySemantics に関して、MSDN で以下のような記述を見つけたのですが・・・。

DIERR_INVALIDPARAM
無効なパラメータが、戻ってくる関数に渡されたか、オブジェクトがその関数を呼び出せる状態になかった。この値は、標準のコンポーネント オブジェクト モデル (COM) 戻り値である E_INVALIDARG に等しい。

戻ってくる関数って・・・コールバック関数のことでしょうか。


241 名前:デフォルトの名無しさん :2005/09/05(月) 03:33:26
>>240
そうです。
日本語MSDNは誤訳が多いので困る

242 名前:240 :2005/09/05(月) 03:41:56
>>241
おっと、ありがとうございました。

243 名前:デフォルトの名無しさん :2005/09/05(月) 10:29:36
VC++.NET2003でソリューソンエクスプローラーにフォーカスを当てる
ショートカットをご存知の方がいたら教えて下さい。
お願いします。
この場合のフォーカスを当てるというのは、マウスを使わずにソリューソン
エクスプローラーにあるファイルを選択できるようにするということです。


244 名前:デフォルトの名無しさん :2005/09/05(月) 12:55:45
>>212
今更だがペンを復帰させるってどういう意味?

245 名前:デフォルトの名無しさん :2005/09/05(月) 13:00:50
>>244
持ち替える前のペンに戻す

246 名前:デフォルトの名無しさん :2005/09/05(月) 17:38:58
標準関数みたいにdirectxの関数でもコーディング支援機能を使いたいんですが
どう設定したらいいんでしょうか?


247 名前:デフォルトの名無しさん :2005/09/05(月) 17:41:30
DirectXの支援機能が無いから無理

248 名前:デフォルトの名無しさん :2005/09/05(月) 18:08:07
ActiveBasicなら入力補完とDirectXに対応

249 名前:デフォルトの名無しさん :2005/09/05(月) 18:11:57
自分でラッパクラスかラッパ関数でも作れば?
そうすりゃそのクラスもしくは関数を使う限りは支援が受けれるぜ?

250 名前:デフォルトの名無しさん :2005/09/05(月) 18:17:29
まぁ、普通はそんなことしなくても支援されるんだけどな


■過去ログ置き場に戻る■ 1- 次250 最新50
DAT2HTML 0.33f Converted.