5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

★初心者にVisual C++を教えるスレ★ Part15

1 :デフォルトの名無しさん:04/10/16 07:44:25
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

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

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

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

【前スレ】
★初心者にVisual C++を教えるスレ★ Part14
http://pc5.2ch.net/test/read.cgi/tech/1093672937/

過去スレ、関連スレなどは>>2-7ぐらい。

2 :デフォルトの名無しさん:04/10/16 07:45:00
【過去スレ】
Part14 http://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 http://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 http://pc5.2ch.net/test/read.cgi/tech/1083585833/
Part11 http://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 http://pc5.2ch.net/test/read.cgi/tech/1074933908/
Part09 http://pc5.2ch.net/test/read.cgi/tech/1068983609/
Part08 http://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 http://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 http://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 http://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 http://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 http://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 http://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 http://pc3.2ch.net/tech/kako/1023/10235/1023530449.html

※「いや〜、ごめんなさい」により、紛失の可能性。

3 :デフォルトの名無しさん:04/10/16 07:45:37
【関連スレ】
■ MFC相談室 MFC12.dll■
http://pc5.2ch.net/test/read.cgi/tech/1096848771/l50

Win32API質問箱 Build23
http://pc5.2ch.net/test/read.cgi/tech/1095534704/l50

鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/l50

C言語なら俺に聞け! Part 92
http://pc5.2ch.net/test/read.cgi/tech/1096696253/l50

C++相談室 part36
http://pc5.2ch.net/test/read.cgi/tech/1096304546/l50

ダディクールがC/C++の宿題を片づけます 32代目
http://pc5.2ch.net/test/read.cgi/tech/1097592876/l50

【初心者歓迎】C/C++室 Ver.10【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1097416187/l50

4 :デフォルトの名無しさん:04/10/16 07:46:15
【関連サイト】
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/

MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/

Platform SDK Update
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

Google
http://www.google.co.jp/

【このスレの前身 VisualC++相談室 過去スレ】
part 1 http://piza.2ch.net/tech/kako/970/970607517.html
part 2 http://piza.2ch.net/tech/kako/981/981630730.html
part 3 http://piza2.2ch.net/tech/kako/993/993186053.html
part 4 http://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 http://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 http://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 http://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 http://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 http://pc5.2ch.net/tech/kako/1036/10368/1036897197.html

5 :デフォルトの名無しさん:04/10/16 12:59:35
>>1
ナイスガイ乙

6 :デフォルトの名無しさん:04/10/16 19:06:03
エディットコントロールに文字を転送して表示してるのですが
なぜかアルファベットが2バイト文字のようにすこし大きくなります。
表示された文字を別のメモ帳にコピペするとふつうの1バイト文字になります。なぜでしょうか?
お願いします。教えてください。お願いします。お願いします。お願いします。

7 :デフォルトの名無しさん:04/10/16 20:08:02
(・∀・)ニヤニヤ

8 :デフォルトの名無しさん:04/10/17 15:05:01
初心者の諸君。
VCなんて辞めておけ。
今ならまだ引き返せる。
BCBマジお勧め。

9 :デフォルトの名無しさん:04/10/17 15:27:47
なにこの定期便>>8

10 :デフォルトの名無しさん:04/10/17 15:29:45
BCBマジお勧め>>9

11 :デフォルトの名無しさん:04/10/17 15:41:31
>>6
お前いい加減荒らしすぎ。通報されたくなきゃさっさとカエレハゲ。

12 :デフォルトの名無しさん:04/10/17 22:08:46
BCBってなんですか?
VCに比べてどこが良くて、どこが悪いんですか?

13 :デフォルトの名無しさん:04/10/17 22:17:35
パチモノじゃね?
値段安いのかも
VCタダで手に入るしどうでもいい

14 :デフォルトの名無しさん:04/10/18 08:21:09
>>13
思いっきり通報しますた。

15 :デフォルトの名無しさん:04/10/18 13:07:03
ダイアログベース上に配置されているコントロールで、
ある特定のエディットコントロールの書体を変更したいのですが、
どのように記述すればよろしいのでしょうか?
宜しくお願いします。m(_ _)m

16 :デフォルトの名無しさん:04/10/18 13:08:35
マルチウザイ

17 :デフォルトの名無しさん:04/10/18 15:47:29
>>15
そんなことはできない。
わかったらあちらへどうぞ        |出口|

18 :デフォルトの名無しさん:04/10/18 16:25:00
  
    |出口|  λ...

19 :デフォルトの名無しさん:04/10/18 19:09:07
初心者で申し訳ないです。
ダイアログ付きDLLなのですが、
ダイアログの背景色を変更したいのです。
検索してみたところOnCtlColorや
InitInstanceでSetDialogBkColorなどを
使用するみたいですが、DLLにはOnCtlColor
やInitInstanceが存在しないので、
その方法ではできませんでした。
ご教授願います。


20 :デフォルトの名無しさん:04/10/18 22:17:52
>>15
SetFont()

21 :デフォルトの名無しさん:04/10/18 22:41:46
あるよ

22 :デフォルトの名無しさん:04/10/18 22:50:10
VS2002を使っています。(MFCアプリ)
あるベンダーが提供するActiveXコントロール、COM(両者の違いが良く分からん)
を利用する際、クラスの追加で
「ActiveXコントロールのMFCクラス」、「TypeLibからのMFCクラス」
のどちらで現プロジェクトに取り込むのでしょうか?

23 :デフォルトの名無しさん:04/10/18 23:07:45
ActiveXコントロールのMFCクラス

24 :15:04/10/18 23:46:50
>>20
できました!!
ほんとにどうも!


25 :デフォルトの名無しさん:04/10/18 23:50:38
>>23
TypeLibからのMFCクラスってのはどのようなときに
使うのですか?

26 :デフォルトの名無しさん:04/10/19 00:31:41
超初心者的質問です。
CDocumentから派生したCHogeDocumentクラス内でstd::vectorを使おうと思っています。
そこで、質問です。
どこに、#include <vector>を書けばいいのですか?
CHogeDocument.hでも、stdafx.hのどちらに書いても問題なさそうなんですが
どっちがいいのですか?

27 :デフォルトの名無しさん:04/10/19 00:49:04
>>26
よく使うもんだしstdafx.hの方に入れとけばいいなじゃないかな。

28 :デフォルトの名無しさん:04/10/19 00:52:05
ホントカネー

29 :デフォルトの名無しさん:04/10/19 01:14:54
ホントダヨー

30 :デフォルトの名無しさん:04/10/19 01:24:24
stdafx.hに入れることでのデメリットを説明できないんだねw


31 :デフォルトの名無しさん:04/10/19 01:33:51
↑よい子のみんなはこういう馬鹿に釣られないこと。

32 :デフォルトの名無しさん:04/10/19 06:07:29
コンソールアプリについて質問です。
普通にプログラムを作った場合、実行終了直後にコンソール画面が閉じてしまいます。
今はsystem("PAUSE")を末尾に入れて対処していますが、
デフォルトでコンソール画面を閉じなくする(キー入力待機にする)ことはできないのでしょうか?

33 :デフォルトの名無しさん:04/10/19 06:23:15
>>32
そういうでたらめなことはやめれ
実行終了して閉じないのはバグ
Windowsについてるコンソールアプリ使ってみろ

34 :32:04/10/19 06:38:30
>>33
なるほど、確かにその通りですね。
結果確認のために毎回コマンドプロンプトから実行するのも億劫だったので・・・
以後気をつけます。ありがとうございました。

35 :デフォルトの名無しさん:04/10/19 09:12:06
メニュークリック時のハンドラや、View上のイベントハンドラはどのクラスに
書きますか?
どれか一つのクラスにすべて書いたほうがあとあと保守し易いと思うのですが
間違っていますか?

36 :デフォルトの名無しさん:04/10/19 09:36:08
>>35
そういう考えならクラスは使わない方がいい。

37 :デフォルトの名無しさん:04/10/19 10:57:53
最適化云々でどういう変化があるのかをじかに確かめたいのですが
バイナリファイルから直で混合モードを表示するような方法はありますか?

もしくは、実行ファイルをアセンブリで表示してくれるような
お勧めソフトなどがあれば紹介お願いします

38 :デフォルトの名無しさん:04/10/19 11:18:50
-FAでコンパイルすればいいのに

39 :デフォルトの名無しさん:04/10/19 11:18:54
アセンブリで表示するのは簡単だけど

40 :デフォルトの名無しさん:04/10/19 13:17:12
>>39
それお願いします

41 :デフォルトの名無しさん:04/10/19 13:36:50

次のコマンドは、ソース コードとマシン語コードを含むリスティング ファイル HELLO.COD を作成します。

CL /FAcs HELLO.CPP



42 :デフォルトの名無しさん:04/10/19 14:00:12
ご教授願います。
MFCで開発を行っております。
一つのスタティックテキストで
1行目と2行目のフォントを変える
みたいなことできますか?
お願いします。

43 :デフォルトの名無しさん:04/10/19 14:05:19
できません

44 :デフォルトの名無しさん:04/10/19 14:07:07
>>43
ありがとうございます。
フォントを変えたい場合は
テキストを幾つも並べるしか
方法はないのでしょうか?

45 :デフォルトの名無しさん:04/10/19 14:13:33
そうです。

ってか、オーナードローって手もあるか。

46 :デフォルトの名無しさん:04/10/19 23:50:35
>>35
普通はユーザからの応答ハンドラはCMainFrameに書くのが普通だよ

47 :デフォルトの名無しさん:04/10/20 00:30:16
>>46
...

48 :デフォルトの名無しさん:04/10/20 00:35:24
VC++でアウトプットウィンドウに文字列を出力する命令なんだっけ?
ど忘れしちゃった

49 :デフォルトの名無しさん:04/10/20 00:37:08
SetOutputText

50 :デフォルトの名無しさん:04/10/20 00:37:08
TRACE

51 :デフォルトの名無しさん:04/10/20 00:44:01
thanx

52 :デフォルトの名無しさん:04/10/20 12:44:02
#include <memory>

struct A { virtual ~A() {} };
class B : public A {};
class C : public A {};

int main(int argc, char* argv[]) {
int i = 0;
std::auto_ptr<A> p(i == 0 ? new B : new C);
return 0;
}

VC++6SP6
このコードをコンパイルすると
error C2446: ':' : 'class C *' 型から 'class B *' 型への変換ができません。指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。
error C2664: '__thiscall std::auto_ptr<struct A>::std::auto_ptr<struct A>(struct A *)' : 1 番目の引数を '' から 'struct A *' に変換できません。
と出ます。理由がわかりません。
もしかしてコンパイラのバグなのでしょうか?

53 :デフォルトの名無しさん:04/10/20 13:20:46
>>52
C++スレで聞いたほうがいい。

54 :デフォルトの名無しさん:04/10/20 13:23:06
それくらい判断できないアホはVC6使うな。
何か引っかかる所ががあるたびにコンパイラの所為にするだろ、おまえは。

VC6は実装も古くて満足にC++として使う事ができない場面も多々あるけど
おまえよりは馬鹿じゃない。

55 :52:04/10/20 14:23:57
http://pc5.2ch.net/test/read.cgi/tech/1096304546/855
>コンパイラは x ? y : zという演算の型を,
>yとzの型を元にいくつかの複雑なルールに従って決めようとします.
>そしてyとzの型が関係の無い型のポインタ型であるときには,
>この演算結果の型を決めることが出来ずコンパイルエラーとなります.

ということでした。
この規則を知らなかったためコンパイラを疑ってしまいました。

56 :デフォルトの名無しさん:04/10/20 14:48:07
リソースビューで新規に.rcファイルを作成し
リソースを追加したいのにリソースビューを開いた所で「他のエディタで
使用中」という文が出ていて追加できないのですが
原因は何なんでしょうか。リソースを他のプログラムで使ってるわけでも
ないのですが。。。再起動して試したけどダメでした。

57 :デフォルトの名無しさん:04/10/20 15:25:37
>>56
おもしろい
天然ですか?

58 :デフォルトの名無しさん:04/10/20 17:38:36
新規作成の
スケルトン作成時に設定した
拡張子、最大、最小化ボタン等の有無の変更は
後からできないのでしょうか。

59 :デフォルトの名無しさん:04/10/20 18:17:37
拡張子⇒リソースのString Table
ボタン⇒PreCreateWindow

60 :58:04/10/20 18:20:35
ありがとうございます

61 :デフォルトの名無しさん:04/10/20 20:38:23
ダイアログベースプラグラムで、二つのエディットコントロールから数値データをそれぞれ一つずつ、
計二つ読み込み、加算、減算、乗算、除算などを行い、三つ目のエディットコントロールに出力する、
というプログラムを作りたいと思っています(ようは電卓を作りたい)。

一応ヘルプを読みながら頑張ってみたのですが、どうも上手くかけません。
こんなもんこうすりゃいいじゃないか、という点がありましたら突っ込みお願いします。

void CSumDlg::OnBnClickedButton1()
{
// TODO : ここにコントロール通知ハンドラ コードを追加します。
CString ss1,ss2,ss3;
int i;
double a,b;
char ch[30];

Edit1.GetWindowText(ss1);
Edit2.GetWindowText(ss2);
a = atof(ss1);
b = atof(ss2);
b = a+b;
_gcvt(b,10,ch);
ss3 = ch;

i = ss3.GetLength();
if(ss3.GetAt(i-1) == '.') ss3 = ss3.Trim('.');

Edit3.SetWindowText(ss3);
}

62 :61:04/10/20 20:52:49
>>60に補足
プログラム自体は一応動いています。
ただもっと綺麗にかけるんじゃないだろうか?
という疑問があったので質問させてもらいました。

63 :デフォルトの名無しさん:04/10/20 21:14:22
>>61
数字なら最初から数字で読めば?

64 :61:04/10/20 21:53:34
>>63
レスありがとうございます。
最初から数値で読み込むにはどんな関数などを使えばよいのでしょうか?
エディットコントロールの説明をヘルプで見てもGetWindowText()以外の関数が
見つからなかったので、最初は文字列で読むしかないのかと思っていました・・・

65 :デフォルトの名無しさん:04/10/20 22:14:17
>>61
//関数内部のロジックを整理しただけ。
void CSumDlg::OnBnClickedButton1()
{
CString ss1,ss2,ss3;

Edit1.GetWindowText(ss1);
Edit2.GetWindowText(ss2);
ss3.Format("%g", atof(ss1) + atof(ss2));
Edit3.SetWindowText(ss3);
}

66 :61:04/10/20 23:13:09
>>65
どうもありがとうございます!
自分のプログラムに置き換えたところ、ちゃんと動きました。
ヘルプで調べてみたのですがFormat()メソッドは
CStringオブジェクトにatof(ss1) + atof(ss2)というようなデータを書き込んでおくことができる
という解釈でよいのでしょうか?

ああ、なんかヘルプをあんまり使いこなせてないです・・・

67 :デフォルトの名無しさん:04/10/20 23:19:11
>>66
printfみたいに書式付で整形できる。

68 :デフォルトの名無しさん:04/10/20 23:29:32
>>61
なんでそんなプログラムを作成する必要があるの?
電卓使えばよくね?

69 :61:04/10/20 23:40:59
>>67
ありがとうございます。
%g以外にも%dや%sなんかのフォーマット指定子を使って、
整数や文字列をオブジェクトに書き込める。
といように、printfと似たようなことをできるということでよいのでしょうか?
なんかこれだけでもすごい前進したような気がします。

>>68
確かに仰るとおりです(笑
まだ初めて1週間も経ってないので勉強の為と思って作ってみました。

すっかりお世話になりました、皆さんどうもありがとうございました。


70 :デフォルトの名無しさん:04/10/20 23:59:17
VS2002で
コマンドラインからコンパイルしたくて
cl.exe hoge.cpp
とタイプしてもなにも出力されません。
どうすればいいのですか?


71 :デフォルトの名無しさん:04/10/21 00:42:05
.netではコマンドラインからコンパイルはできないよ

72 :デフォルトの名無しさん:04/10/21 13:10:54
初心者で申し訳ないです。
スタティックテキストで一番端にいったとき
折り返したいのですが、普通にダイアログに
スタティックテキストをはった状態ですと
折り返しが適用されていません。
なにかいい方法はありませんでしょうか?

73 :デフォルトの名無しさん:04/10/21 13:45:12
読取専用のエディットボックス使うとか。

74 :デフォルトの名無しさん:04/10/21 13:53:44
>>72
ウィンドウスタイルにSS_LEFTを付ける。

75 :デフォルトの名無しさん:04/10/21 13:56:21
>>74
そのやり方もう少し詳しく教えていただいて
よろしいですか?


76 :デフォルトの名無しさん:04/10/21 13:58:49
>>75
開発環境は何だね?

77 :デフォルトの名無しさん:04/10/21 14:03:01
MFC Appwizard(EXE)のダイアログベースのアプリケーションです。
現在単純にダイアログにスタティックテキストを貼り付けている状態で、
このスタティックテキストを端にいったら折り返し表示したいのです。


78 :デフォルトの名無しさん:04/10/21 14:08:39
VC7.1を使ってると勝手に仮定するけど、
スタティックコントロールのプロパティが下のようになってるか確認する。

"No Wrap"=False
"Simple"=False

79 :デフォルトの名無しさん:04/10/21 14:13:22
すみません。
環境はVisual Studio6.0のVisual C++で開発を
行っています。なのでVC6.0かな?
今週VC始めたばかりで、見当外れなこといってたら
ごめんなさい。

80 :デフォルトの名無しさん:04/10/21 14:18:26
いま手元にVC6が無いから答えられない  w

"折り返し"みたいなプロパティがあったと思うけど・・・

81 :デフォルトの名無しさん:04/10/21 14:20:45
>>80
色々とありがとうございました。
プロパティがないっぽいんです・・・。


82 :デフォルトの名無しさん:04/10/21 14:25:57
コンボボックスにtextを表示させるのは、SetWindowTextを使うことは
なんとか分かったのですが、これだと一つしか表示されません。
いくつかを表示させるにはどうすればいいですか?

83 :デフォルトの名無しさん:04/10/21 14:33:01
SendMessage(hcombo , CB_ADDSTRING , 0 , (LPARAM)str);
かな?

84 :デフォルトの名無しさん:04/10/21 14:33:28
CComboBox::AddString()

85 :デフォルトの名無しさん:04/10/21 14:44:39
AddStringを使ってみたものの、何も表示されません。
何か間違ってるでしょうか?

86 :デフォルトの名無しさん:04/10/21 14:49:15
エスパーさん出番ですよ。

87 :デフォルトの名無しさん:04/10/21 15:14:15
コンボボックスの高さが最小で、追加した文字列が見えない。

88 :デフォルトの名無しさん:04/10/21 15:49:57
>>85
上手く行かない部分のコードを晒したら?

89 :デフォルトの名無しさん:04/10/21 15:53:06
>>81
ダイアログエディタでスタティックを右クリックしてプロパティウィンドウを出す。
スタイルタブをクリックすると、「標準」と「ワードラップなし」がチェックされていたら外す。

>>82
>87の状況ならダイアログエディタでコンボボックスの▼をクリックしてポップアップ枠を出す。
枠の下側をドラッグで高さを調整する。

90 :デフォルトの名無しさん:04/10/21 16:01:33
82です。どうもありがとうございました。皆さんのおかげで何とか解決することが
できました。本当に助かりました。

91 :デフォルトの名無しさん:04/10/21 16:39:52
ご教授願います。
MFCで開発を行っているんですが
別のプロセス(EXE)が起動しているか
確認する方法ってありますでしょうか?
その別のEXEが起動した後に自分のEXEを
起動させないといけないんです。
よろしくお願いいたします。


92 :デフォルトの名無しさん:04/10/21 16:44:05
>>91
psapiを使ってプロセス一覧を列挙して
該当するプロセスがあるかを調べる。

別プロセスのアプリがウインドウを出してたりするなら
そのウインドウが存在するかで判断してもいいかも。

93 :デフォルトの名無しさん:04/10/21 16:56:34
>>92
ありがとうございます。
psapiの使い方もう少し詳しく
教えていただいてよろしいでしょうか?

94 :デフォルトの名無しさん:04/10/21 16:59:42
>>93
それくらい検索しろよ

95 :デフォルトの名無しさん:04/10/21 17:00:10
いやです。
ググって下さい。

96 :デフォルトの名無しさん:04/10/21 17:02:17
すみません。
楽しようとしてしまいました。
どうもすみませんでした。

97 :デフォルトの名無しさん:04/10/21 17:30:53
コンボボックスでいくつかのデータを表示して、
その後に何を選らんだか分かるようにするには何を使えばいいですか?

98 :97:04/10/21 18:06:03
すみません。
お前らなんかに尋ねるほどのことでもありませんでした。

99 :デフォルトの名無しさん:04/10/21 18:08:58
↑こういうことやめてください。真剣に質問してるのに。

100 :デフォルトの名無しさん:04/10/21 18:12:13
皆さんこんにちは。
弟が席を離れている間に弟のパソコンを覗いてみたら、
ここが表示されていました。
皆さん何やら難しい話をされているようですね。
弟は専門学校でパソコンを使ってるようです。
弟がこちらで質問させていただいてるかもしれませんが、
どうぞよろしくお願いいたします。
それでは。

227 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)