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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
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
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
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クラス
2415: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についてるコンソールアプリ使ってみろ
3432: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++として使う事ができない場面も多々あるけど
おまえよりは馬鹿じゃない。
5552: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
6058: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);
}
6261:04/10/20 20:52:49
>>60に補足
プログラム自体は一応動いています。
ただもっと綺麗にかけるんじゃないだろうか?
という疑問があったので質問させてもらいました。
63デフォルトの名無しさん:04/10/20 21:14:22
>>61
数字なら最初から数字で読めば?
6461: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);
}
6661: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
なんでそんなプログラムを作成する必要があるの?
電卓使えばよくね?
6961: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
コンボボックスでいくつかのデータを表示して、
その後に何を選らんだか分かるようにするには何を使えばいいですか?
9897:04/10/21 18:06:03
すみません。
お前らなんかに尋ねるほどのことでもありませんでした。
99デフォルトの名無しさん:04/10/21 18:08:58
↑こういうことやめてください。真剣に質問してるのに。
100デフォルトの名無しさん:04/10/21 18:12:13
皆さんこんにちは。
弟が席を離れている間に弟のパソコンを覗いてみたら、
ここが表示されていました。
皆さん何やら難しい話をされているようですね。
弟は専門学校でパソコンを使ってるようです。
弟がこちらで質問させていただいてるかもしれませんが、
どうぞよろしくお願いいたします。
それでは。
10197:04/10/21 18:12:16
ヘルプを見たらすぐに自己解決しました。
お騒がせしました。
102デフォルトの名無しさん:04/10/21 18:16:08
101 kisama dareda
10397:04/10/21 18:16:56
ore ore
104デフォルトの名無しさん:04/10/21 18:17:56
うぎゃー!!!
席を離れてる間に・・・おまえら>>100のことは忘れてくれ。
姉にはいたずらしないように言っておく。つーかPCから離れる前にブラウザ閉じておこう・・・

>>97
CBN_SELCHANGE
105デフォルトの名無しさん:04/10/21 18:23:06
バカ、むしろ姉を出せ。紹介しろ。
106デフォルトの名無しさん:04/10/21 19:53:25
おいおい
107デフォルトの名無しさん:04/10/21 19:54:15
100がage、104がsageクキにしても2chブラウザにしても、釣りであることは疑う余地が無い
108デフォルトの名無しさん:04/10/21 19:58:07
sageってクッキーに記録されたっけ?
109デフォルトの名無しさん:04/10/21 20:40:31
100と104のようなやり取りもっとキボン。(違)
110デフォルトの名無しさん:04/10/21 21:00:18
俺もエロ画像掲示板開いたまま寝ちまったことがあるな・・・
111デフォルトの名無しさん:04/10/21 23:28:08
TypeLib(Type Library)ってなんですか?
ActiveXコントロールとどう違うの?
112デフォルトの名無しさん:04/10/21 23:32:24
>>111
ActiveXコントロールインターフェースの詳細が書かれた物
と理解してるが俺もよくわからん。
113デフォルトの名無しさん:04/10/21 23:36:37
キーボードから5つの数字を取り込み、それらのうち最大の数、最小の数を画面表示するプログラムって作れる人いますか?(Visual Basicです)
114デフォルトの名無しさん:04/10/21 23:37:56
>>113
おまえ今笑いの神様降りてきてるぞ。
115デフォルトの名無しさん:04/10/21 23:39:19
>>113
そんな高度な事できる人はいませんよ
116デフォルトの名無しさん:04/10/21 23:39:30
>>114
あなたにも
117デフォルトの名無しさん:04/10/21 23:51:31
C***Viewのコンストラクタはどこから呼ばれてるの?
MFCのソース追っかけようとしてるがあまりにも巨大で
自分が何を探してるかわかなくなっちゃったw
118デフォルトの名無しさん:04/10/22 00:06:10
>>117
答えてあげようとしたけどwがむかついたのでやめた
119デフォルトの名無しさん:04/10/22 00:11:26
うはwwwおkwwwww
120デフォルトの名無しさん:04/10/22 00:31:33
>>118は実は知らない。
121デフォルトの名無しさん:04/10/22 00:40:12
>>118
しらねーなら口出すなボケ
122デフォルトの名無しさん:04/10/22 01:24:16
CMainFrame.cppにC*****View.hを
includeするとビルドできないの?
123デフォルトの名無しさん:04/10/22 06:07:14
>>117
ソース追いかける前に基本構造ぐらい知らないと
>>122
できる
124デフォルトの名無しさん:04/10/22 09:20:13
ダイアログベースでフラットツールバーの様なボタンを
表現するにはどうすれば良いでしょうか?
マウスカーソルがボタンの上にきた時、
ボタンの背景色を明るくさせたいのです。
このボタンは、バラバラに配置したいので、
ツールバーそのものを使用するのは避けたいのです。
125デフォルトの名無しさん:04/10/22 09:49:11
>>124
プロパティでアイコンかビットマップにしてマウスオーバーで絵を差し替えれば
良いんじゃないの?
126124:04/10/22 10:02:37
>>125
やはり独自で実装するしかなさそうですね。
MFCの場合だとマウスが上に来た時 CButton::OnMouseMove()
で差替えるとして、マウスがボタンから外れた時は、
どの関数(メッセージ)で差替えれば良いでしょうか?
127デフォルトの名無しさん:04/10/22 12:29:31
CRect rct;
GetWindowRect(&rct);
CPoint ScrnPoint = rct.TopLeft() + point;

if(rct.PtInRect(ScrnPoint)){
SetCapture();
SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_RED));
}
else{
ReleaseCapture();
SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_BLUE));
}
128デフォルトの名無しさん:04/10/22 12:30:13
点滅するのはフラグ判定入れたりして防げば良いかと思う
129124:04/10/22 12:42:46
>>127
ありがとうございます。
ばっちりできました!
助かりました。
130r:04/10/22 12:51:55
make について質問なのですが
一部のファイルだけオプティマイズしたく
(他は
.c.o:
${CC} -o $@ ${CFLAGS} $< )

OPTOBJS:
${CC} -o $@ -O ${CFLAGS} $<

のように書いているのですが
(OPTOBJSだけオプティマイズ)
うまくいきません

どのようにすればよいでしょうか
131r:04/10/22 12:52:56
すみません
書き込む場所間違えました
132デフォルトの名無しさん:04/10/22 13:20:18
スレッド関連が APC、CRTで
CreateThread, CreateThreadEx, _beginthread, _beginthreadex
と4系統ぐらいありますが
どれを使えばよいのか悩んでしまいます
それぞれの違いは何ですか?
また 外部よりスレッドをExitさせた時にメモリリークするとか聞きましたが
どうすればよいのでしょうか
エロい人 教えて下さい
133デフォルトの名無しさん:04/10/22 13:27:03
知ってるがエロくないので答えない。
134デフォルトの名無しさん:04/10/22 13:28:29
135デフォルトの名無しさん:04/10/22 18:52:36
>>132
基本的に、外部からスレッドを終了させるのは得策ではない。
適当にメッセージでも投げて、終了して貰うのが一般的。
#つまり、スレッド側でメッセージを拾ったら自殺するってことね。
136デフォルトの名無しさん:04/10/22 19:00:00
スレッドに練炭渡せば死んでくれるよ
137デフォルトの名無しさん:04/10/22 21:03:58
135はエロい人
138デフォルトの名無しさん:04/10/22 22:36:19
MFC AppウィザードでSDIを選んだんですが、MDIに変更することは出来ないの?
最初から作り直すしかないのかな?
139デフォルトの名無しさん:04/10/22 22:55:37
>>138
知ってればできるけど知らないんじゃできない。
140デフォルトの名無しさん:04/10/22 23:23:03
C***App内のメソッドからC***Docのポインタを取得したいのですが
どうすればいいですか?
141デフォルトの名無しさん:04/10/22 23:39:13
>>140
CWinApp の m_pDocManager が CDocumentTemplate のリストを持っている。
CDocumentTemplate は自分が作成した CDocument のリストを持っている。
142デフォルトの名無しさん:04/10/22 23:55:44
POSITION position;
position = theApp.GetFirstDocTemplatePosition();
CDocTemplate* DocTemplate = theApp.GetNextDocTemplate(position);

position = DocTemplate->GetFirstDocPosition();
C***Doc* doc = (C***Doc*)DocTemplate->GetNextDoc(position);

こんな感じに書いてみましたがOKでしょうか?
143デフォルトの名無しさん:04/10/23 00:05:27
ううう、気持ち悪いから"C***Doc"なんて書き方やめようよ。
144デフォルトの名無しさん:04/10/23 00:09:24
winmm.lib
をリンクしたいのですがどこで設定するのでしょうか?
VS2002を使っています。
もうそろそろ終電なんです。まじ助けて・・・
145デフォルトの名無しさん:04/10/23 00:10:33
#pragma comment( lib, "winmm.lib" )

をコードの好きなところに書く
146デフォルトの名無しさん:04/10/23 00:11:40
>>144
泊まればいいじゃねぇか
147デフォルトの名無しさん:04/10/23 00:13:12
VS2002でC++って負け犬・・・
148デフォルトの名無しさん:04/10/23 00:14:13
>>147
何で?
149デフォルトの名無しさん:04/10/23 00:17:45
あ、ごめん、負け組みだ・・
150デフォルトの名無しさん:04/10/23 00:24:54
>>147
何で?
151デフォルトの名無しさん:04/10/23 00:27:21
>>147
Why not?
152デフォルトの名無しさん:04/10/23 00:28:22
2002←負け●
2003←勝ち●

●にお好きな言葉をどうぞ。
153デフォルトの名無しさん:04/10/23 00:29:02
C++なんて時代遅れ
今時`ちょべりば'なんて言えないでしょ?
154デフォルトの名無しさん:04/10/23 00:31:54
ここは、仕事などなどでVC++を使用せざる得ない奴が集まるスレだろ。
他の言語が優れているのはみんな良く知ってるからよそでやってくれ。
155デフォルトの名無しさん:04/10/23 00:34:15
どの言語が優れているのか
ではなく
どの言語がその目的に相応しいか
だ。
156デフォルトの名無しさん:04/10/23 00:37:57
>>153の言いたい事は
"新しい"か"古い"かの違いだろ

彼は新しい言語に触って、
自分は時代の流れに乗っている、とご満悦なんでしょうね^^
157デフォルトの名無しさん:04/10/23 01:00:21
VC++ってBCBみたいな編集可能なグリッドコントロールってないの?
まさか、自作しなきゃいけないとか、そんなショボイ開発環境じゃないよね
158デフォルトの名無しさん:04/10/23 01:06:00
残念ながら、そのしょぼい開発環境なんです。
159デフォルトの名無しさん:04/10/23 01:11:06
デザインが開発だと思ってる馬鹿ハケーン
160デフォルトの名無しさん:04/10/23 01:19:04
顧客が一番ケチつけやすいのも画面だけどな
161デフォルトの名無しさん:04/10/23 01:49:26
>>159
UIがしょぼいとアプリケーション自体ショボイと思われても仕方ない
どんなにすごいアルゴリズムを実装しても客先には見えない
162デフォルトの名無しさん:04/10/23 09:13:25
見た目は大事よ
163デフォルトの名無しさん:04/10/23 11:14:13
裏を返せば優秀なデザイナーがいればいくらでも金騙し取れるってわけか('A`)
164デフォルトの名無しさん:04/10/23 11:25:12
昨日からC++を勉強し始めたのですが、小林健一郎の、「これならわかるC++」に書かれている

#include <iostream>
#include <string>
using namespace std;

class Kneko
{
    string name;
public:
    void setname(string n){
    name =n ;
}
    void naku() const {
    cout << "にゃー。俺様は" << name << "だ" <<endl;
}
};
int main()
{
    Kneko x;
    x.naku();

    x.setname("タマ");
    x.naku();
}

を打ち込んだのですがVisual C++でビルドしようとすると

c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\cstdlib(19): error C2143: 構文エラー : '{' が ':' の前にありません。

というメッセージが出てきてエラーとなってしまいます。どこがおかしいのでしょうか?
165デフォルトの名無しさん:04/10/23 11:47:03
悪いが、コピペしてやってみたがエラーはでなかったぞ
オリジナル(コンパイルした奴)と、ここに書いたソースと比較するべし

っと、その前にそのエラーメッセージをよく読んでおくように
166デフォルトの名無しさん:04/10/23 11:59:37
>>164
あんたの頭。
167デフォルトの名無しさん:04/10/23 12:04:34
>>164
#include "stdafx.h"

#include <iostream>
#include <string>
かも
168デフォルトの名無しさん:04/10/23 12:04:58
>>164
次からC++スレ行け
お前はここに来なくていいよ
169164:04/10/23 12:29:31
>>165
コピペしても同じエラーが出てしまいました。エラーメッセージを見ると" {  "が" : "の前にないのが原因と思われるのですが
本に書かれているプログラムを見ても" {  "の後ろに" : "がある箇所がなくて悩んでます

>>167
プログラムの文頭に#include "stdafx.h"を付け足しても
 fatal error C1083: インクルード ファイルを開けません。'stdafx.h': No such file or directory
というメッセージがでてしまって駄目でした

>>168
スレ違いの質問だったらスマンです
170デフォルトの名無しさん:04/10/23 12:34:25
>>169
ファイルの拡張子を .cpp にしてください。
そしたら氏ね。
171デフォルトの名無しさん:04/10/23 12:40:15
>>170
なるほど
それは盲点だった

>>169
【初心者歓迎】C/C++室 Ver.10【環境依存OK】
ttp://pc5.2ch.net/test/read.cgi/tech/1097416187/l50
ベストはここかな?
172164:04/10/23 12:41:37
>>170
.cppにしたら無事にできました。
お手数かけてすみません、氏んできます。
173デフォルトの名無しさん:04/10/23 14:28:35
>>164さんいますか?
174デフォルトの名無しさん:04/10/23 15:04:50
        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい>>164
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | | >>173
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
175デフォルトの名無しさん:04/10/23 19:51:39
>>161
VCじゃろくなUI作れないよね
176デフォルトの名無しさん:04/10/23 19:53:08
>>175
いいえ。
177デフォルトの名無しさん:04/10/23 19:55:56
>>175が言ってる「作る」はポトペタのことだろうな
178デフォルトの名無しさん:04/10/23 20:06:02
というか「簡単に作れない」といいたいのでしょう。
それには同意する。
179デフォルトの名無しさん:04/10/23 20:10:20
まぁ、私もGTK+でのGUI作りでもglade使ってるしなぁ…
180デフォルトの名無しさん:04/10/23 22:04:32
VC++6.0を使っているのですが、template classを使うと
コンパイルエラーを吐かないのですが、なぜですか?
tempalte <class T>
class CHoge
{
T m_value;
public:
CHoge():m_valueeeeee(0);{}
};
なんてのでエラーが出ないんです。
181デフォルトの名無しさん:04/10/23 22:05:55
>>180
テンプレートをインスタンス化して使うときに出るんでは?
VC6 の template は、宣言だけではエラー出さないことがあったと思う。
182デフォルトの名無しさん:04/10/23 22:08:13
>>181
あっそうなんですか、アドバイスthanx
183デフォルトの名無しさん:04/10/23 22:51:55
すいません。もう一つ質問です.
template class の SerializeのIMPLEMENT_SERIALはどう書けばいいのですか?

IMPLEMENT_SERIAL(CData, CObject, 1)
なんて書いたら怒られました。

CDataがtemplate classです。
184デフォルトの名無しさん:04/10/23 22:54:50
>>180
さすがにそこまでひどいのはエラーになると思うが・・・
(エラーにしないほうが難しい)
185デフォルトの名無しさん:04/10/23 23:00:09
>>183
MFCのマクロはほとんどtemplateに対応していない。
自分で作るか、template をインスタンス化(だっけ?言葉忘れた)した個別のクラスごとにIMPLEMENTするよろし。
186デフォルトの名無しさん:04/10/23 23:04:36
CFileDialogでダイアログ出して関連ファイルを表示
する処理(例えばファイル名*.bmpだけ表示)
をCFileDialogダイアログ出さないでファイル名と
ファイルのパスを取得するにはどうすればいいですか?
187デフォルトの名無しさん:04/10/23 23:05:52
>>186
CFileFind
188デフォルトの名無しさん:04/10/23 23:06:20
>>186
ダイアログも出ないのにユーザーはどうやってファイルを指定すればいいのですか?
189デフォルトの名無しさん:04/10/23 23:06:45
CFileDialogでダイアログを表示させないで
関係する拡張子のファイルの名前とパスを取得
するにはどうしたらいいのでしょうか?
190デフォルトの名無しさん:04/10/23 23:10:31
>>189
CFileDialogでは無理
191デフォルトの名無しさん:04/10/23 23:10:56
189と189は重複。
CFileFindでいけそうです。さんくす
>188 ファイル名表示してキーボードで選択を考えてます。
192デフォルトの名無しさん:04/10/23 23:12:44
>>188
エクスプローラからファイルをDrag&Drop
193デフォルトの名無しさん:04/10/24 06:24:06
メモ帳とかって矢印を右に動かすと1文字ずつカーソルがずれていきますよね。
これを決まったバイト数ごとにずれるようにできませんか?
194193:04/10/24 07:36:39
すいません、上の質問はもういいです。メモ帳って何も
表示されてないところはカーソルの操作ができませんよね。
あんな感じで特定の文字に対してだけ操作できなくしたいのですがどうすればいいでしょうか
195デフォルトの名無しさん:04/10/24 07:40:41
>>194
それはエディタを作ろうとする上での話か?
どんなソフトを作ろうとしてるのか分からないと答えようがない
196デフォルトの名無しさん:04/10/24 07:43:47
神様、出番ですよ
197193:04/10/24 07:49:18
そうです、エディタです
198デフォルトの名無しさん:04/10/24 08:11:26
そういうふうに作ればできる
199193:04/10/24 12:47:24
>>198
知らないのなら黙ってて下さい
200デフォルトの名無しさん:04/10/24 13:09:01
つーか何がわらないのか具体的に説明しないと
>>198のような説明しか出来ないと思うけど。
201193:04/10/24 13:21:33
>>199は偽者ですので。何がわからないというか
マウスカーソルとかメモ帳としての機能みたいなのは
エディットコントロールが処理してくれてるので具体的に
何がわからないのかもわかりません。ただエディットコントロールに
表示されてる特定の文字だけにマウスカーソルのポインターが移動しないようにしたいのです。
202デフォルトの名無しさん:04/10/24 13:41:12
あんまり特殊な機能はEdit自体を自作するしかないかもめ
203199:04/10/24 13:53:54
>>201
EN_SELCHANGEをキャッチして、特定の文字にキャレットが来たかどうかを判定する
204デフォルトの名無しさん:04/10/24 14:17:28
>>193
だから、具体的に何がやりたいのか書いてみ。
場合によってはそれをEditで実現すると言う設計そのものが拙いかも知らんし。
205193:04/10/24 14:39:49
( ´,_ゝ`)プッ、こんだけ説明してまだ説明求めるのかよ。もう自分で考えるからいいですよ(プゲラッチョ
206デフォルトの名無しさん:04/10/24 14:47:44
自作すればできるよ
207193:04/10/24 16:22:37
やっぱり、ここの人たちはレベル低いですね。
初心者の質問にも答えられないくせに偉そうにしているし。
もう来ません。
208199:04/10/24 16:27:28
>>205 >>207
EN_SELCHANGEをキャッチして、特定の文字にキャレットが来たかどうかを判定する
209デフォルトの名無しさん:04/10/24 16:47:10
EN_SELCHANGEがあるのはリッチ・エディットでは?

それをエディットでやるならKeyUpおよびLButtonUpで呼んで判定すればできるけど
210デフォルトの名無しさん:04/10/24 16:52:47
>>207
初心者の質問の方が難しいだろ。
パソコン始めて使う人間に教えるとしたら、
電源の入れ方、マウスの使い方から始まって
延々と説明しなきゃならん。
211デフォルトの名無しさん:04/10/24 16:54:41
EN_CHANGEだろ。

おまえらいい加減にレスしすぎ。
212デフォルトの名無しさん:04/10/24 17:06:18
どっちみちCEditじゃ無理
213デフォルトの名無しさん:04/10/24 17:53:22
>>212 ウソツクナ
214デフォルトの名無しさん:04/10/24 18:54:18
盛り上がってまいりますた(`・ω・´)
215デフォルトの名無しさん:04/10/24 19:00:09
自作自演乙
216デフォルトの名無しさん:04/10/24 21:08:12
>>211
EN_CHANGEでは意味が違うだろ
217デフォルトの名無しさん:04/10/24 21:58:45
>>215
具体的にどれが?
218デフォルトの名無しさん:04/10/24 22:40:44
209から211は全部俺が書いた
219デフォルトの名無しさん:04/10/24 23:15:56
ちょっと前にこちらか、別のC++初心者系スレで紹介されていたHPを探しています。
確か「本も出してるし、わかりやすそうじゃないの?」的な感じで紹介されていたと思います。
死ぬほどログ漁ってますが、さっぱり見つかりません。どなたかご存じの方
いらっしゃいましたら、教えてください。よろしくお願い致します。
220デフォルトの名無しさん:04/10/24 23:17:47
>>219
もそっと具体的に。
#まさか猫じゃないだろうな。
221デフォルトの名無しさん:04/10/24 23:25:47
VC++.net2002
でビルドすると出力ウィンドがアクティブになるじゃないですか
いちいちマウスでエディタ部分をクリックするのが面倒なんですが
キーボードできませんか?
222デフォルトの名無しさん:04/10/24 23:29:56
>>193
決まったバイト数ごとにずれるようにするのは作ったらできた。
特定の文字に対してだけ操作できなくも作ればできる。
方法は教えない。
223デフォルトの名無しさん:04/10/24 23:34:04
>>221
Ctrl+Tab
Ctrl+Tab
224デフォルトの名無しさん:04/10/24 23:35:31
>>223
うそつくなよ
225デフォルトの名無しさん:04/10/24 23:35:51
>>220
レスサンクスですm(._.)mペコ
猫の所じゃないです。もうちっとこぎれいな感じで(失礼>猫さん)、
最初ちらっと見たところでは、トップページの上半分に各ページへのリンク、
下に本の写真が載っていた気が。「○○出版から発売中」みたいな感じで。
226デフォルトの名無しさん:04/10/24 23:38:24
>>224
現物のプログラムあるぞ
227デフォルトの名無しさん:04/10/25 01:46:54
>>221
Escをおしなよ
228219=225:04/10/25 04:55:49
みつかりました。
ご協力いただきまして、ありがとうございました。
自宅に帰ってキャッシュ漁ったら、発見できました。

http://pc5.2ch.net/test/read.cgi/tech/1097416187/47
信じられないくらい初心者向けに書いてある(気がする)ので参考にしようと
思っておりました。
ありがとうございました。
229デフォルトの名無しさん:04/10/25 08:56:30
親ウィンドウの下にコントロールを配置して、コントロール内で左クリックしたら
処理を実行するようにしたいのですが、コントロールと親ウィンドウを区別できないので
親ウィンドウ上でクリックした場合しか処理が実行されません。↓これ

case WM_LBUTTONDOWN:
〜処理〜
break;

これをコントロール内でクリックした場合のみ、処理を実行できるようにしてください。お願いします
230デフォルトの名無しさん:04/10/25 09:27:57
WM_NOTIFY
を処理しましょう
231デフォルトの名無しさん:04/10/25 10:24:41
初心者で申し訳ないです。
Visual C++6.0のMFCで開発を行っております。
サーバからローカルへファイルをコピーしたい
のですが、CopyFile関数を使用してもうまくいき
ません。ユーザ名やパスワードも必要になってくる
と思います。なにかいい方法はありませんでしょうか?
232デフォルトの名無しさん:04/10/25 10:34:52
初心者で申し訳ないです。
Visual C++6.0のMFCで開発を行っております。
メニューをクリックした際のイベントハンドラはどのクラスに実装するのが
普通なのでしょうか?
どのクラスにも実装できるので迷っています。
おそらく状況によるなんて回答が来そうですが
であれば何を基準に判断するのでしょうか?
233デフォルトの名無しさん:04/10/25 10:43:22
>>232
そのメニューコマンドの処理内容で。
例えばペイントソフトで「拡大表示」ならビューの仕事。
234デフォルトの名無しさん:04/10/25 10:53:40
例えば「閉じる」ならダイアログクラスで。
235デフォルトの名無しさん:04/10/25 11:21:56
>>233
確かに拡大表示自体はViewの仕事ですが、ユーザーからの拡大指示を受け付けるのは
AppもしくはFrameの仕事と言ってもいいのでは?
236デフォルトの名無しさん:04/10/25 12:22:52
>>235
電話で注文受ける人と配達する人は別だろ
ひとりしかいなきゃしょうがないけど
237デフォルトの名無しさん:04/10/25 12:24:54
VC++でインターネットに公開しても恥ずかしくない程度の
Windowsアプリケーションをかける人ってどの位いるの?

テキストエディタ一つにしたってインターネットに公開して
使ってもらう為には秀丸、QX、ViVi等の有力テキストエディタと
勝負するには相当の知識が必要だよね

この板やMLで偉そうにしてる人、そこんとこ
どうよ?
238デフォルトの名無しさん:04/10/25 12:37:31
>勝負するには相当の知識が必要だよね
なんで?

相当の時間なら必要だけど
239デフォルトの名無しさん:04/10/25 12:40:12
じゃ、おまいは時間さえあれば勝負できるようなものが
作れるのかと・・・

だったら、2chやってねーで、シェアウェア書いたほうが得だぞ
240デフォルトの名無しさん:04/10/25 12:41:33
>>237
技術力があったらテキストエディタ作らんといかんのか?
そんなすでにあるものより他に役に立ちそうなもの作った方がいいと思う。
241デフォルトの名無しさん:04/10/25 13:01:31
>>239
時間さえあればなんて言ってない。
『相当』の知識は必要は必要ない。

そうとう(サウタウ‥)【相当】
程度・度合がかなりであること。はなはだしいさま。
242デフォルトの名無しさん:04/10/25 13:10:13
アア~ン、香ばしいわ
243デフォルトの名無しさん:04/10/25 13:10:40
>>240
テキストエディタ一つにしたって
~~~~~~~~~~~~~~~~
244デフォルトの名無しさん:04/10/25 13:11:53
>>240
こういう馬鹿って必ずいるよねw
テキストエディタは例で出しただけじゃないの?
245デフォルトの名無しさん:04/10/25 13:12:52
>>241
じゃあ、結局は作れないんですねw

それなら偉そうにすんなよ
246デフォルトの名無しさん:04/10/25 13:19:07
>>237
趣味で作るとしたら秀丸みたいに使いにくい代物じゃなくて自分にとって使いやすいものになる。
そうしてそれは、既にXyzzyで粗方実現されているので敢えて作る必然性が無い。
#残りはlispで書けば事が足りるしね。

仕事で作るとしたらPeggyProのように連携能力の高いものになる。
それを安定して販売できるような環境がないので敢えて作る必然性が無い。

テキストエディタに限定しないなら、バイナリエディタや簡単な画像加工ツールくらいは作ったよ。
#あ、前者はWindowsアプリではないや。
自分の必要や仕事上の目算があれば、それ相応のものを作れる自信はあるが、
相当の知識はもっていないと自覚している。
そんなものは、必要なときに必要なだけ得ればいい種類のものだという認識なので、
私にはそれをひけらかすようなことはできないししたくもない。
247デフォルトの名無しさん:04/10/25 13:33:34
>>246
たしかに相当の知識はいらないと思う。
必要なのはむしろ別の、構成力とか管理能力とか、
当然やる気とか、モチベーションとか、そういう精神的な部分だと思うね。
248デフォルトの名無しさん:04/10/25 13:42:15
要は>>237は,「秀丸やviなどの有名なエディタを作った」という
ステータスのある人からじゃないと教えを請いたくないって言ってるんだろ

まぁ頑張って偉い人探せやw
249デフォルトの名無しさん:04/10/25 13:44:07
言い訳ばっかだね

どのジャンルでもいいが、結局は現在公開されてる
ものと張り合えるようなものは作れないわけでしょ?

それなのに妙に偉そうだよね。
変てこなスレ立てられてるみたいだけどエピ氏は凄そうだから
イイとしても他は質問してる人と大して変わらないわけでしょw
250!= 246:04/10/25 13:52:38
>>249
作れないと作らないは違うと思うよ。

プログラミングってさ、初心者が思っているほど頭使うものじゃないんだよね。
知識と呼べるような知識もたいしていらない。

だいたいね、プログラマには2種類いてね、
(1) モノ作りが好きな人 (2) 理論 (新しいもの) が好きな人

(1) のような人はとにかく作るのが好きで、テキストエディタみたいな
つまらないものでも楽しんで作ることができて、
ユーザーからの評価も高い。

翻って (2) は、あまり目に見えるものを作ることはない、
頭の中で「こうやってこうやれば作れるんだし、特に高いモチベがないし、
わざわざ手を動かして作るまでもない」ってな発想になる。

こういう人はあまりユーザーからの評価は得られないし、
「ふつう」の企業内でも評価はよくない。

できないわけじゃない、やるだけの知的興味が湧かないだけ。
251デフォルトの名無しさん:04/10/25 13:53:09
偉人が発信した情報は全て正しく
凡人が発信した情報は全て間違ってる

誇張してみますた(`・ω・´)
#誰が発言しようが、正しい情報は正しく、間違ってる情報は間違ってる
#ブランド志向で、選り好みしてたら勿体無いぞ
252250:04/10/25 13:53:55
ちなみに私も (2) のタイプ。
253デフォルトの名無しさん:04/10/25 13:59:49
まぁいいじゃねぇか
一番損するのは>>237って目に見えてるんだしw
254デフォルトの名無しさん:04/10/25 14:25:57
>>250
コンピュータサイエンスを学んでるわけじゃないくせに偉そうに
何が(2)理論 (新しいもの) が好きな人
だよ笑わせんなよ
255250:04/10/25 14:33:36
>>254
いや当然まなんでいるよ。
そんなのは基礎知識だよ。
256デフォルトの名無しさん:04/10/25 14:39:08
>>237
使われるテキストエディタって作るのめちゃむずいよ。
まず、普段愛用しているエディタを代えるには相当な理由が無いといけない。
しかし、たいていのユーザーはすでに現状に満足しているので、すごいエディタが出ても乗り換えようとは思わない。
秀丸程度のものなら誰でも作れるけど、秀丸から乗り換えさせるようなものを作るのは至難の業。
まず、新しいソフトの名前を聞いても試用してもみないからね。
257250:04/10/25 14:42:21
>>256
>秀丸程度のものなら誰でも作れるけど、秀丸から乗り換えさせるようなものを作るのは至難の業。
なるほど、それは説得力あるな。
258デフォルトの名無しさん:04/10/25 14:43:53
>>256
>秀丸程度のものなら誰でも作れるけど、
なんですか?
C++を始めて3日程度経つが作れそうな気がしないんですけど・・・
259250:04/10/25 14:44:48
>>258
Cで3年やってれば十分作れる。
260デフォルトの名無しさん:04/10/25 14:47:42
>>258
力の差が分かるようになったとき、君はすでに相当な力をつけているのだ。
糞HSP中を見たまえ、無謀にも大作に挑んで自ら破滅していくよ・・・。
261デフォルトの名無しさん:04/10/25 14:51:25
ここの人たち結局作れないのに随分大口叩くよね

だったらおまいらが作ったソフト見せてみろって話だよねw
262デフォルトの名無しさん:04/10/25 14:52:49
漏れは>>237が一番大口たたいてると思います(=゚ω゚)ノ
263デフォルトの名無しさん:04/10/25 15:03:08
>>261
アマグラマの方でつか?
すみませんがプログラマはそうそう自分の作ったもの晒せないんでつよ。
264デフォルトの名無しさん:04/10/25 15:04:56
漏れが仕事で作ったソフトなら多くの人が目にしてるよw
いや、正しくは「利用している」若しくは「目の当たりにしている」。
265デフォルトの名無しさん:04/10/25 15:27:06
>>264
多くの人が目にしてるんですよね
だったら、見せて
266デフォルトの名無しさん:04/10/25 15:27:57
267デフォルトの名無しさん:04/10/25 15:31:22
>>264
いたいなー。仕事だったら全部一人で作ったわけ無いんでしょ。
UI周りをちょっと触らせてもらっただけでも
「目の当たりにしている」
んでしょ。
268デフォルトの名無しさん:04/10/25 15:39:14
[256]' から 'char [260]' に変換できません。

どうすればいいですか?
269デフォルトの名無しさん:04/10/25 15:42:56
>>268
配列から配列へコピーしようとしてるの?
ならmemcpy
270デフォルトの名無しさん:04/10/25 15:43:15
>>268
スタート→シャットダウン(&U)でシャットダウンを選択してOK(&O)をクリックしてください
271デフォルトの名無しさん:04/10/25 15:49:26
>>267
ここの人がそうなのかどうかは分からないが、それでも十分いいとおもうが。
例えばグラツーの開発チームだって、「俺が作った!」と言い切っちゃうバカは
おそらくチームにはいない。みんなで協力して作り上げるもんだろ。特に大作は。
チームの一員として使ってもらえるようなコードを書けるのも立派な能力。
というか、それが相応のレベルでできるにはかなりのスキルがいる。
しかもそれを当然の行為として、さらにチームでの作業という状況で、
コンピュータ外の事まで気を配りながらできるんだから、大したもんだとおもうが。

一人よがりで8のレベルのものを作れるのも偉いが、
一人一人は5のスキルだがチームで10のレベルに達するならそれもまた偉い。
ただし、ユーザ側は一人で作った8よりも、チームで作った10を選ぶ。
これは真実。

と初心者の俺は思いますが。
272デフォルトの名無しさん:04/10/25 15:57:29
>>271
このばかはなんでつか?
273デフォルトの名無しさん:04/10/25 15:59:24
マ板でやってね。
274デフォルトの名無しさん:04/10/25 16:03:41
大量でしたねw
核心突かれてよほど痛かったみたいだね
275デフォルトの名無しさん:04/10/25 16:19:34
(・∀・)ニヤニヤ
276デフォルトの名無しさん:04/10/25 16:45:14
釣られる香具師大杉
277デフォルトの名無しさん:04/10/25 17:02:52
www.codeproject.com
で凄いコンロールたくさんありますよね
あれってどうやってダイアログ上に配置するのですか?

http://www.codeproject.com/miscctrl/gridtreectrl.asp
を使おうとしています。
278デフォルトの名無しさん:04/10/25 17:11:11
まああれだ、時間があればとりあえず秀丸程度のものは作ってやるから
「時間をくれ」、と。
279デフォルトの名無しさん:04/10/25 17:11:30
たぶん質問してもまともな答えが返ってこないから
このスレには自分よりレベルが低いやつしか思ってるとか?

でも馬鹿な回答にはつっこみが入るから
馬鹿が入り込む余地は少ないと思うぞ。
280デフォルトの名無しさん:04/10/25 17:18:31
>>277
英語よめないのか?
説明書いてあるじゃん
281デフォルトの名無しさん:04/10/25 17:19:42
>>280
よめねーからきいてんじゃん
ばかかおめー
282デフォルトの名無しさん:04/10/25 17:20:19
>>281
高卒?
283デフォルトの名無しさん:04/10/25 17:22:42
>>282
中卒ですが、なにか?
284デフォルトの名無しさん:04/10/25 17:26:08
今日はいろんなのが湧いて楽しいねヾ(´∇`)シ
285デフォルトの名無しさん:04/10/25 17:29:07
>>277
それ入れる前にMFC Grid controlが使えないとだめだろ
286デフォルトの名無しさん:04/10/25 17:30:22
英語版のXPにvisual C++をインストールしたいんですが、「16bit windows system」 エラーと表示され
、インストールできません。どなたかわかりますでしょうか?なぜXPで16bitと表示されるのかわかりません。
287デフォルトの名無しさん:04/10/25 17:32:18
おまえのXPは16bit版だからな
288デフォルトの名無しさん:04/10/25 17:37:25
>>286
正規品ならサポートに電話しる!
買う前にパッケージに書いてある動作条件確認したか?
289デフォルトの名無しさん:04/10/25 17:44:26
>>288
はい。MSDNです。動作条件などは調べることができません。
サポートに電話すべきなのか・・
290デフォルトの名無しさん:04/10/25 18:03:11
空のドキュメントの作成に失敗しました
291デフォルトの名無しさん:04/10/25 18:35:44
wcharをchar*に入れるにはどうしたらいいですか?
292250:04/10/25 18:38:29
>>291
char buf[256];
wchar_t wch = L'A';
((wchar_t*)(buf))[0] = wch;
293デフォルトの名無しさん:04/10/25 18:45:40
>>291
ワイド文字バージョンの関数ないのか?
294デフォルトの名無しさん:04/10/25 18:46:54
ありがとうございます。
あと、一つ教えてください。
char*からwcharにするにはどうすればいいですか?
295デフォルトの名無しさん:04/10/25 18:47:26
スタート→シャットダウン(&U)でシャットダウンを選択してOK(&O)をクリックしてください
296250:04/10/25 18:49:08
>>294
まずは C の基本を勉強したほうがいいよ。
char buf[256];
wchar_t wch;
wch = ((wchar_t*)(buf))[0];
297デフォルトの名無しさん:04/10/25 19:02:55
質問の意図がよくわからんが
単純にキャストすりゃいいという問題か?
298デフォルトの名無しさん:04/10/25 19:05:45
>>297
>>291が言ってる用件は満たしてはいるな。
299デフォルトの名無しさん:04/10/25 19:11:41
3桁毎の区切りカンマを入れられないVCなんて糞
300デフォルトの名無しさん:04/10/25 21:16:59
激しくDQNの香り

301デフォルトの名無しさん:04/10/25 21:49:57
つか、VCは糞だよ
BCBならコード書かなくてもいいことがVCだと数百行書かなくてはいけない
まったく糞
302デフォルトの名無しさん:04/10/25 21:51:28
>>301
は?
303デフォルトの名無しさん:04/10/25 21:51:31
糞の基準がDQN
304250:04/10/25 21:57:00
>>301
たしかに同意するよ。
ある程度の実用的なライブラリを用意しておいてくれるのは
何かとありがたいよ。
305デフォルトの名無しさん:04/10/25 21:58:37
MS が Borland 買収すればいいのに。
306デフォルトの名無しさん:04/10/25 22:20:15
それは無理だ
独占禁止法とかひっかかったら面倒だろうし。
某ランドはアップルと同じく、
生かさず殺さずというところだろう
307デフォルトの名無しさん:04/10/25 22:22:56
BCBって何?
308デフォルトの名無しさん:04/10/25 22:26:21
>>307
Borland C++ Builder っていう、Windows 最強の開発環境だよ。
309デフォルトの名無しさん:04/10/25 22:31:31
とっつき易いかどうかは別として
Windows 最強はVCだと思うよ
310デフォルトの名無しさん:04/10/25 22:34:47
ボーランド?
でるふぁいなら名前は知ってるけどBCBは知らない。
311デフォルトの名無しさん:04/10/25 22:44:16
>>301は定期的に現れてるのか
312デフォルトの名無しさん:04/10/25 23:28:55
数字を文字列に変換するのに、
sprintfを使っているのですが、
数字の型が__int64になると、sprintfでは対応できません
__int64型の数字を文字列に変換するには
どうしたら良いですか?
313デフォルトの名無しさん:04/10/25 23:30:48
>>312
詳しく知らないけど、sprintfで出来るらしいよ?
314デフォルトの名無しさん:04/10/25 23:31:17
>>312
%I64d
315312:04/10/25 23:34:57
>>313
>>314
即レス感謝です。
できました!
316デフォルトの名無しさん:04/10/26 00:13:29
自作コントロールってどうやって作るの?
よさげなHPない?
コードプロジェクトだとレベルが高すぎて・・・
317デフォルトの名無しさん:04/10/26 00:17:22
visual c++で使えるgmpの様なライブラリをご存じの人いませんか?
gmpが使えるのならそれが一番なのですが、問題が多いようなので
318デフォルトの名無しさん:04/10/26 01:58:58
>>316
MFC/WTLなら相応の親クラスを継承する。
Win32生ならウィンドウプロシージャを作ってウィンドウクラスを登録する。
319デフォルトの名無しさん:04/10/26 02:03:21
>>318
それをどうやってダイアログに貼り付けるなり
CViewに配置するのですか?
320デフォルトの名無しさん:04/10/26 02:12:34
>>319
Createするなりなんなりして勝手に貼り付けてください。
手元のVC7.1にはCustom Controlとか言うのがあってぽとっと落とせるようになってるのかもしれないが試したことない。
321デフォルトの名無しさん:04/10/26 02:21:41
なんだつくったことないんだ
それなのにあたかも作ったことあるようなレスだねw
322デフォルトの名無しさん:04/10/26 02:22:25
>>321
すげぇむかついたw
323デフォルトの名無しさん:04/10/26 02:32:34
まだネバってるのか…w
324デフォルトの名無しさん:04/10/26 10:28:45
Deleteキーの押下を検出したいんですけど、
PreTranslateMessage()
では検出できません・・・
どなたかご教授お願いします
325デフォルトの名無しさん:04/10/26 10:49:03
Visual C++6.0 MFCで開発を行っています。
サーバからデータ(ファイルなど)を取得するEXEを作成しています。
それでVCでサーバにログインしたいのですがいい方法はありますでしょうか?
326デフォルトの名無しさん:04/10/26 10:55:27
>>324
PreTranslateMessage()で検出できたぞ
327デフォルトの名無しさん:04/10/26 11:03:46
>>325
ファイルにアクセスする関数名とかネットワークとか
適当なキーワードでぐぐればでてきそうなもんだが
328デフォルトの名無しさん:04/10/26 11:04:07
>>324
他のキーは取れてるの?
取れるキーのコードとDeleteキーのコード晒してみ。
329デフォルトの名無しさん:04/10/26 11:26:17
ご教授願います。VC6.0MFCです。
あるプロセス(他EXE)が起動している間
待ち状態にしたいのですが、待ち状態にする
いい方法はありますでしょうか?
330デフォルトの名無しさん:04/10/26 11:31:39
WaitForSingleObject()
331デフォルトの名無しさん:04/10/26 11:36:09
>>330
ありがとうございます。
MSDNで使用方法調べてみます。
332324:04/10/26 12:24:47
他のキーは取れてます

if (pMsg->message == WM_CHAR)
もしかして、これがダメ?

333デフォルトの名無しさん:04/10/26 12:45:05
VisualStudio.NET起動時にスタートページが
表示されなくなってしまいました。
起動時に自動的にスタートページを表示させるには
どうしたらいいでしょうか?
334デフォルトの名無しさん:04/10/26 12:55:47
そのくらい自分で探さないといつまでたっても宝の持ち腐れだぞ
ちなみに探したら1分も掛からんかった
335デフォルトの名無しさん:04/10/26 13:06:48
>>332=324
WM_KEYDOWNではどう?
それと、キーコード(wParam)は何と比較している?
336324:04/10/26 13:49:56
>>335
wParamはVK_DELETEと比較してます
WM_KEYDOWNで捕まえたら取れました!
ありがとうございます
337デフォルトの名無しさん:04/10/27 16:15:36
現在、VC6を使っています。

どこのスレだったかは失念しましたが、
上位バージョンはインテリセンスがかなり賢くなっていると聞きました。
具体的にはどの程度なのでしょうか?

…#defineやenumでもコード補完が使えるとか?
338デフォルトの名無しさん:04/10/27 17:47:42
インテリ確かに賢くなってるけど、
WTLに対してはほとんど全滅orz
339デフォルトの名無しさん:04/10/27 18:51:38
漢ならインテリセンスなんかに頼るな。
340デフォルトの名無しさん:04/10/27 20:14:50
ロッキーのテーマをこんなに長く聞いたの初めてだ。
341デフォルトの名無しさん:04/10/27 20:15:23
すまん。間違えました。
342デフォルトの名無しさん:04/10/27 20:35:47
NeoPlanetのように、ウィンドウの枠にビットマップ貼り付ける
方法を教えてくだちい
343デフォルトの名無しさん:04/10/27 20:55:23
>>342
枠なしにして自分で枠を書く
344デフォルトの名無しさん:04/10/27 21:03:25
WM_NCPAINT
345デフォルトの名無しさん:04/10/27 22:14:44

ソースファイルは  Source フォルダ
ヘッダーファイルは Header フォルダ

とプロジェクト内にフォルダを作り、各ファイルごとにまとめた後、
Source フォルダにあるソースファイルに Header フォルダにあるヘッダーファイルを
インクルードしようと #include "../Header/***.h" としたらインクルードファイル
がオープンできないとエラーを返されました。 #include "..\Header\***.h" でも同じ
結果でした。ヘッダーファイル内にはインクルード宣言はありません。
パスの指定の仕方に問題があると思うのですが。解決法を教えてください。

346デフォルトの名無しさん:04/10/27 22:16:24
../Header/じゃなくて、Header/じゃね?
347デフォルトの名無しさん:04/10/27 22:20:38
シリアライズ機能のみから作成します。
ってなに?
はぁ?って感じ
348デフォルトの名無しさん:04/10/27 22:45:31
>>345
そういうふうにフォルダわけてみたけど
コンパイル通ったよ
349デフォルトの名無しさん:04/10/27 22:48:37
>>345
VC++上でのフォルダは実際のファイルシステム上のフォルダじゃないよ
350デフォルトの名無しさん:04/10/27 23:11:34
がーん、そういうレベルの質問が来ると言う可能性を忘れていた。
そう言えばパスに関係ないもんなぁ。
351デフォルトの名無しさん:04/10/27 23:18:07
ファイルシステム上にフォルダなんて概念はありません
352デフォルトの名無しさん:04/10/28 00:37:09
>>338
ちょっぴり気になってはいるんですが、
実際、それだけのために乗り換えるにはリスクが大きいですし…
うーむ。

>>339
分かりました! 俺も先生みたいな男になりますッ!
353345:04/10/28 01:12:29
もう一度同じ様に作ったところコンパイル通りました。
御騒がわせして申し訳ありませんでした。

>>346
>>348 
>>349
>>350
>>351

皆さんありがとうございました。_| ̄|○ ペコ
354デフォルトの名無しさん:04/10/28 01:12:59
二次元配列をポインタで参照するスマートな方法はありませんか?

int** test[;
//10 * 10とかでメモリ確保(省略)
cout << *(*(test + 3) + 4) << endl; //test[3][4]が見たいとき

↑こんな感じだとちょっと見づらいので、
もっと素敵な表記方法ありませんか?
355デフォルトの名無しさん:04/10/28 01:37:38
test[3][4]
356デフォルトの名無しさん:04/10/28 02:14:13
>>339 ウワァッ 新機能についていけない哀れなロートル
357デフォルトの名無しさん:04/10/28 02:21:42
VC++2002だけど、クラスビューのクラス階層にfriend関数が表示されません。
まっ、クラスの面罵関数じゃないから同然なのかしらん?
358デフォルトの名無しさん:04/10/28 02:26:29
そうだね
359デフォルトの名無しさん:04/10/28 02:31:49
【新潟地震で死者がもっと増えるのを祈るスレ】
http://live14.2ch.net/test/read.cgi/liveplus/1098881272/385
↑ここの1はバカ
只今祭り中。385を参照


おまいら2ちゃんの厳しさをこいつに教えたげてください
360デフォルトの名無しさん:04/10/28 03:11:26
なんで?
特に新潟県人なんて全滅してください
吐き気がする
361デフォルトの名無しさん:04/10/28 03:38:44
visual studio .netでプロジェクトを
win32コンソールアプリケーションって設定して
ソースを新しい項目の追加で作って
アプリケーションの設定で空のプロジェクトにチェック入れて

#include <stdio.h>
void main() { printf("Hello World"); }

でビルドして開始すると一瞬だけ表示されて消える
ずっと表示させるにはどうすればいいの?
362デフォルトの名無しさん:04/10/28 03:48:09
ずっと表示させるようにプログラム書けばいい
363デフォルトの名無しさん:04/10/28 05:40:33
#include <stdio.h>
void main() { printf("Hello World"); while(1); }
364デフォルトの名無しさん:04/10/28 05:52:46
最後に、scanf()でとめておいたらいいよ。
365デフォルトの名無しさん:04/10/28 06:09:13
>>361
CTRL+F5
>>362-364
雑魚め
366デフォルトの名無しさん:04/10/28 06:14:19
>>354
#include <vector>
#include <iterator>
using namespace std;

std::vector< vector > test;
test.resize(10);
for( i=0; i<10; i++)
test(i).resize(10);

・・・

test[3][4]

367デフォルトの名無しさん:04/10/28 06:30:20
>>354
便乗して

int** test;

test = new int*[10]; //縦10行分のint*確保
for(int i=0;i<10;i++)
test[i]=new int[10]; //横10列分のint確保

と確保すれば普通の2次元配列の記述方法(test[3][4]とか)で使えるけど
それは既にやってるのかな?
368デフォルトの名無しさん:04/10/28 18:34:44
C++を覚えたいと思ってます。知り合いに、テキストエディタを使うといいよと言われました。
ソースを書く上で必要になるとか・・・ 具体的にテキストエディタはどういう使い方をすればいいのですか?


369デフォルトの名無しさん:04/10/28 18:38:54
>>368
釣りだよね?
370デフォルトの名無しさん:04/10/28 18:43:01
>>369
釣りじゃないです。
真面目に覚えたいと思っているので 良ければ教えてもらえると嬉しいです。


371デフォルトの名無しさん:04/10/28 18:49:03
>>370
マジレスすると、
テキストエディタでソースコードを書いて
コンパイラでコンパイルすると実行ファイルができる。
372デフォルトの名無しさん:04/10/28 18:50:49
>>371
リンクは?
373368 ◆TmK8dn3Gxg :04/10/28 18:51:05
釣りじゃないことを証明するため 今のうちにトリップ付けます。
374368 ◆TmK8dn3Gxg :04/10/28 18:56:22
>>371
ありがとうございます。

テキストエディタで ソースを書く際に一度使ったコードを使いまわしたいときや
良く使うコードとかの登録は可能ですか?



375デフォルトの名無しさん:04/10/28 19:28:29
自分で管理すれば可能
376デフォルトの名無しさん:04/10/28 19:31:13
>>374
ここはC++スレじゃない。VisualC++スレ
377デフォルトの名無しさん:04/10/28 19:37:59
ダイアログベースの新規プロジェクト立ち上げると
ダイアログにOKとキャンセルのボタンが出ますが
この2つを削除したい場合ボタンを削除するだけで
問題ないでしょうか?
378デフォルトの名無しさん:04/10/28 19:41:32
ない
379377:04/10/28 19:50:06
>>378 ボタン消してもIDOKとIDCANCELと書かれたコード
が残るんだよね。下のコードは残っても動作するんだけど
他に不具合あるかな?

if (nResponse == IDOK)
{
// TODO: ダイアログが <OK> で消された時のコードを
// 記述してください。
}
else if (nResponse == IDCANCEL)
{
// TODO: ダイアログが <キャンセル> で消された時のコードを
// 記述してください。
}
380デフォルトの名無しさん:04/10/28 19:54:31
>>379
enterとescキーでそこを使う
381デフォルトの名無しさん:04/10/28 20:46:28
開発したプログラムで、アプリケーション例外が出て困っています。
頻度は、一日に一回程度なので、タイミングよく再現させることが困難です。
そこで、イベントビューアで不具合発生時のログを確認するのですが、
見方が分からなくて不具合個所の特定が出来ません。
イベントログから不具合個所を特定することはできるのでしょうか。
Releaseモードでコンパイルしたプログラムでは、場所の特定は出来ない
のでしょうか。

ちなみに、開発環境はVC++6.0SP5、WindowsNT4.0です。
382デフォルトの名無しさん:04/10/28 20:55:31
ぬるぽが原因に一朝鮮人
383デフォルトの名無しさん:04/10/28 20:58:35
値を入れる配列のサイズが小さくてそのサイズを超える
インデックスの要素を参照することがあるとか。
大抵はそんなことが原因に一在日
384デフォルトの名無しさん:04/10/28 21:06:48
>>382,383
ありがとうございました
385デフォルトの名無しさん:04/10/28 23:20:58
>>384
どちら様?

>>382,383
ありがとうございました。ご指摘の通り、リストのサイズが場合に
よっては足りなくなることがあり、これを直したら
良さそうです。
386デフォルトの名無しさん:04/10/28 23:55:10
リソースビューで、いつの間にか「他のエディタで使用中」
という表示がでて、元に戻らなくなってしまいました・・・
実際に、他のアプリが該当ファイルを開いているという事はありません。
助けて下さい・・・
387デフォルトの名無しさん:04/10/28 23:58:28
>>386
他のアプリじゃなくてVC自身のほかのエディタが開いてんだよ
388デフォルトの名無しさん:04/10/29 01:26:59
VC6 MFC SDI で作成したスケルトンに
新規にダイアログを追加しました。
そのダイアログにはスライダーやエディットボックスを
追加してデータの更新をしていきたいと思っています。
(ちょうどペイントアプリなどのカラー調整ダイアログみたいな
 感じです)

現在の状況ですが、モーダルで開いたときは、スライダーに伴って
エディットボックスの値を変更することが出来たのですが、
モードレスだと更新が出来ません。

OnHScroll() に UpdateData(FALSE) などを追加してみましたが、
解決できませんでした。

そこで質問なのですが、ビューの更新に使うInvalidate 関数のような
ダイアログを更新させる関数は何でしょうか?
アドバイスをお願いします。
389デフォルトの名無しさん:04/10/29 02:04:48
Invalidate
390388:04/10/29 02:36:58
>>389
レスありがとうございます。
確かにそのとおりでした。
そんなことも気がつかない初心者ですのでお許しください。

実際やってみましたが、できませんでした。
描画ちらつくカンジになってしまいます。
(描画が追いつかないみたいなカンジです。)
何とも、もっとスムーズな描画更新できないないものか
と思っています。
スライダーとその対応するエディットボックスのみの再描画
という感じですかね?
391388:04/10/29 02:37:24
(続き)
各メンバ変数の初期化は終わっているとして、
OnHScroll()はこのようなカンジになっています。
(今作っているアプリのダイアログを"色変更ダイアログ"
に置き換えてみました。)
void CColorDialog::OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar )
{
CString value;
switch( ((CSliderCtrl*)pScrollBar)->GetDlgCtrlID() )
{
case IDC_SLIDER_RED:
value.Format( "%d", m_pSliderRed->GetPos() );
m_pEditRed->SetWindowText( value );
break;
case IDC_SLIDER_GREEN:
...
case IDC_SLIDER_BLUE:
...
}
// ここにいれてみました。
//Invalidate();
CDialog::OnHScroll( nSBCode, nPos, pScrollBar );
}

そもそも、この関数には関係ないところで問題があるのでしょうか?
392デフォルトの名無しさん:04/10/29 03:24:05
CString value;
if(((CSliderCtrl*)pScrollBar==&m_pSliderRed){
value.Format( "%d", m_pSliderRed->GetPos() );
m_pEditRed->SetWindowText( value );
break;
}
else if(...){
...
}

393デフォルトの名無しさん:04/10/29 03:30:16
breakはいらないなorz
394デフォルトの名無しさん:04/10/29 12:25:14
コンソールプログラムで、
変数の値を画面に表示しようとすると

int homerun = 38;
printf("ホームランは%d本", homerun);

ですが、
これをwinアプリでやろうとするにはどうしたらよいでしょうか。
なんか下のようなのをごちゃごちゃ書いているんですが、まったくだめです。
int homerunの値をstrの中に文字列として代入したいのです。

int homerun = 38;
LPCTSTR bunsyo = "ホームランはhomerun";
RECT rect = { 0, 0, 100, 100};
HDC hdc;
DrawText(hdc, bunsyo, -1, &rect, NULL);
395デフォルトの名無しさん:04/10/29 12:49:54
>>394
予め、文字列を組み立てておけばいい。
int homerun = 38;
char buf[40]; // ↓が格納できる充分な長さ
sprintf(buf, "ホームランは%d本", homerun);
RECT rect = {0, 0, 100, 100};
HDC hdc;
DrawText(hdc, buf, -1, &rect, NULL);
396デフォルトの名無しさん:04/10/29 12:50:22
どこに表示させたいんだ?
ダイアログ?ビュー?エディットボックス?
397デフォルトの名無しさん:04/10/29 12:50:54
>>395
wsprintf使おうぜ
398394:04/10/29 13:21:09
うまくいきました
今まで
class Mojiretsu{
LPCTSTR str
}:

void ShowHomerun(HDC hdc, Mojiretsu *Mojiretsu, int homerun)
{
 RECT rect = {400, 500, 800, 600};
 wsprintf(Mojiretsu->str, "ホームランは%d本",homerun);
 DrawText(pdc, Mojiretsu->str, -1, &rect, NULL);
}


でエラーが出ていました。
これを
void ShowHomerun(HDC hdc, Mojiretsu *Mojiretsu, int homerun)
{
 RECT rect = {400, 500, 800, 600};
 char buf[40];
 wsprintf(buf, "%s%d本",Mojiretsu->str, homerun);
 DrawText(hdc, buf, -1, &rect, NULL);
}

で表示されました。とても助かりました。
上のコードにおかしい点などあれば、また指摘ください。 
399デフォルトの名無しさん:04/10/29 13:32:23
>>397
なんでですか?
400デフォルトの名無しさん:04/10/29 14:00:45
ワイド文字
401デフォルトの名無しさん:04/10/29 16:02:26
stdio.hを使わない方が、容量が少なくなるからでは?
402デフォルトの名無しさん:04/10/29 16:12:09
wsprintfは浮動小数点が使えなかったりするので注意
403デフォルトの名無しさん:04/10/29 17:24:39
>>400-401
なら_ts(n)printf
404デフォルトの名無しさん:04/10/30 01:41:14
結局、sprintfをwsprintfに置き換える積極的な理由は無さそうですね。
405デフォルトの名無しさん:04/10/30 02:54:23
mspaintでは表示倍率を変更できますよね
この表示倍率をどのクラスのメンバにするのが普通ですかね?
Document変更が無く見せ方を変えるだけなので、やはりViewの
メンバでしょうか?
406デフォルトの名無しさん:04/10/30 03:15:37
そうね
407デフォルトの名無しさん:04/10/30 09:00:08
そうよ
408デフォルトの名無しさん:04/10/30 13:39:41
>>405
マルチ
409デフォルトの名無しさん:04/10/30 15:42:32
>>408
クロスポストですが、なにか?
410デフォルトの名無しさん:04/10/30 15:54:00
VC6で*.cと*.cppファイルの混在プロジェクトを作ってC++でコンパイルしたんだけど、
そのままだと*.cファイルはC言語でコンパイルされてしまいます。
*.cファイルを拡張子はそのままでC++でコンパイルする方法はないでしょうか?
411デフォルトの名無しさん:04/10/30 16:38:33
>>410
コンパイラのマニュアルに書いてある
412マイク ◆yrBrqfF1Ew :04/10/30 16:45:45
>>404
CString::Formatを使用することで
ウザイ固定バッファを管理しなくて済む。
413デフォルトの名無しさん:04/10/30 18:50:58
>>410
#pragma
414デフォルトの名無しさん:04/10/30 20:42:48
#pragmaってcommentとかhdrstopとかを付けて使うやつだよね。
#pragmaのところを見てるんだけどどのオプション(?)かわからないです・・・
415デフォルトの名無しさん:04/10/30 20:54:42
>>410
ソースを右クリックして [設定] を押し、[常にカスタムビルド...] にチェックを入れると、
できんことはないと思う。だけど拡張子変えるのが無難だと思うよ。
416デフォルトの名無しさん:04/10/30 20:56:18
>>413
#pragma でそんなことできたっけ?
417デフォルトの名無しさん:04/10/30 21:07:31
リソースエディタでプロパティのウィンドウを表示した時
設定する項目が何も表示されなくなったのですが、バグなんでしょうか?
表示されるのはウィンドウのタイトル「プロパティ」のみです。。。
418デフォルトの名無しさん:04/10/30 21:14:51
>>416
#pragma option
419417:04/10/30 21:21:02
プロジェクトを新たに作成し、解決しました。。。
420デフォルトの名無しさん:04/10/30 21:23:40
>>418
BCC にはあるけど、VC6 にはなさげですが。。。
421デフォルトの名無しさん:04/10/30 21:25:46
>>420
VC7.1 にもなさげ。
422デフォルトの名無しさん:04/10/31 00:15:09
>>410
コンパイラオプションに /TP 追加でどうか
423デフォルトの名無しさん:04/10/31 00:18:58
>>422
それいいね。それがベスト解だね。たぶん。
424デフォルトの名無しさん:04/10/31 00:27:22
BCCってなに?
425デフォルトの名無しさん:04/10/31 00:28:44
>>424
Borland C++ Compiler だよ。
BCC に関することは BCB (Borland C++ Builder) にもたいていあてはまる。
426デフォルトの名無しさん:04/10/31 00:36:32
>>425
んなこたーない
427デフォルトの名無しさん:04/10/31 00:38:16
>>426
え、そう?どこらへんがあてはまらないかな。
428デフォルトの名無しさん:04/10/31 00:43:57
もまいらこんばんわ。
VCの例外で教えてほしいのですが、リリースビルドだと
ちゃんとキャッチされるのに、デバッグだと「ハンドルされていない云々」
のMSGが出るのですが、なにか考えられる原因はありまつか?
429デフォルトの名無しさん:04/10/31 00:46:02
あるよ。
430デフォルトの名無しさん:04/10/31 00:46:25
>>428
キャッチするコードがデバッグビルドで削除されるようになってるとか、
そういうことしか思いつかない。
コードみせてくれるのが早いと思う。
431428:04/10/31 00:48:56
>>430
ありやとさんした
432428:04/10/31 01:03:11
>>431
誰だYOw

>>429
簡単でいいので教えてくだちいm(__)m

>>430
すみません。関数のネストが深くて(10つぐらい)
そこから投げられてるのでコード掲載キツイでつ(TT
でも#ifdefとか全く使ってない何のへんてつもない
コードなのでつが。。。
433デフォルトの名無しさん:04/10/31 01:04:56
>>432
とりあえず、投げてる部分のコード片と、
キャッチしている部分のコード片をみせて。
それと VC のバージョンも書いて。
434デフォルトの名無しさん:04/10/31 01:06:21
>>433
30万行以上もあるのに見せれるかよ、ぼけ
435433:04/10/31 01:07:54
>>434
キミ は >>431 の偽者だね。
全部見せてなんていってない。
「コード片」だ。
436デフォルトの名無しさん:04/10/31 01:08:25
>>432
最近VC++スレ付近に質問者を騙って勝手に礼を言ったり回答者を煽る奴がうろついてるよ
C#スレのほうにも足を伸ばしてるみたい
437デフォルトの名無しさん:04/10/31 01:11:44
まあ騙られるのは大概くだらん質問者だからな。
まったく実害無しだな。
438433:04/10/31 01:12:44
>>437
そんなことないよ。頼むからやめてくれ。
439428:04/10/31 01:21:06
レスどうもありがとうございますm(__)m
なんか荒れてて申し訳ないでつ。
会社のコードで今は自宅なのでうろ覚えなのでつが
下のCOMポートに出力するWriteSerial()中から、
スローしています。
受けるのはCOMポートでつながっている測定機器
に命令を送るMeasureData()中です。
MeasureData()とWriteSerial()間には10個ほどの
関数がはさまっています。
みづらいコードで申し訳ないです。
環境はVC6 WinXPです。


440428つづき:04/10/31 01:21:42
// 例外をスローしている部分

void WriteSerial(UINT addr, BYTE data)
{
// COMポートが接続されているかのチェック
BYTE ret = ReadSerial(addr);

if (ret == 0xFFFF) {
CNonConnectException *p = new CNonConnectException();
throw p;
}

....省略
}
441428さいご:04/10/31 01:22:08
// 例外をキャッチしている部分

void MeasureData()
{
try
{
WriteData(data);
}
catch (CNonConnectException *p)
{
MessageBox(p->ErrorMessage, NULL, MB_OK | MB_ICONERROR);
return;
}
catch (...)
{
ASSERT(FALSE);
throw;
}

...省略
}
442デフォルトの名無しさん:04/10/31 01:24:46
単にデバッグビルドとリリースビルドで例外に関するコンパイラオプションが違うだけと想像
443433:04/10/31 01:38:36
デバッグビルドででる例外メッセージを一字一句正確に教えてくれる?
444428:04/10/31 01:40:29
長くて無理っす
445433:04/10/31 01:45:05
>>444
とにかくね、上記の C++ 例外のキャッチ忘れなのか、
上記のコードとはまったく別の例外なのか (たとえば SEH 例外)。
これは確認しておきたい。
446428:04/10/31 01:46:27
>>444
いい加減にしてくだちい

>>443
>>デバッグビルドででる例外メッセージを一字一句正確に教えてくれる?

VCのアサーション画面(赤い×のやつです)が出て、そのあと
「ハンドルされていない例外は○○にあります」というよくみるMSGボックス
がでます。
と、今書いてて思ったのですが、アサーション画面が出るのはおかしい
んですかね。もしかしたらデバッグコード中のASSERT中で例外が
投入されたら、本来のハンドラでキャッチできないとか。。。
もしそうならリリースだとちゃんと動くのが説明がつくのですが。。。
447デフォルトの名無しさん:04/10/31 01:49:06
>>446
・・・VCのデバッガは例外のスローを捕捉してダイアログを出す機能があるけど、
それだったら殺すよ。
448433:04/10/31 01:49:53
>>446
それは例外じゃなくって、ASSERT エラーじゃんか。

ASSERT は例外なんかスローしないよ。
ASSERT にひっかかったら、その場で強制終了したはず。

それから、ASSERT にひっかかってるんなら、
リリースモードでは正常に動作しているように「見えている」だけだから、
それをリリースするのは危険だよ。
449428:04/10/31 02:09:12
>>447
>>VCのデバッガは例外のスローを捕捉してダイアログを出す機能があるけど
そうなのですが、ちゃんとハンドリングしているので本来出るはずがない
と思うのですが。。。

>>448
>>それは例外じゃなくって、ASSERT エラーじゃんか。
アサートならそのまま終了だと思うのですが、その後「ハンドルされていない例外は...」
が出ました。コールスタックを見てもスタックが巻き戻されていなかったと
記憶しているのですが、ちょっと記憶があやしくなってきたので
明日会社で確認してみまつ。何かわかったらまた報告しまつね。
夜分お騒がせしますた。みなさんどうもありがとう。。。
450デフォルトの名無しさん:04/10/31 02:10:17
>>447
殺せるもんなら殺しえてみろよ、ぼけ
いくらオドレのチンケナ人生ゆうても棒に振るんは
痛いんちゃうんかい?
451デフォルトの名無しさん:04/10/31 02:11:47
>>450
雑魚は黙ってろ!
己の人生棒に振ってまでも花道飾りてーっつってんだよ
素直に飾らせろや!
452デフォルトの名無しさん:04/10/31 02:12:18
自作自演乙
453428:04/10/31 02:16:31
...
454デフォルトの名無しさん:04/10/31 02:23:25
なんかもう必死ですねw
455デフォルトの名無しさん:04/10/31 02:28:42
450==451==452==453
456デフォルトの名無しさん:04/10/31 02:53:00
VC++2002の環境設定をVC++2003にごっそり移行したいのですが
どうすればいいの?
457デフォルトの名無しさん:04/10/31 03:56:20
またこの手の質問か。。。
458デフォルトの名無しさん:04/10/31 04:27:10
>>456
環境設定をメモに取る

VC++2002をアンインストール

VC++2003をインストール

(゚д゚)ウマー
459デフォルトの名無しさん:04/10/31 04:34:01
( ´_ゝ`)フーン
460デフォルトの名無しさん:04/10/31 04:41:24
>>457
ヘビーな質問だったら答えらんねーくせにw
461デフォルトの名無しさん:04/10/31 04:47:30
( ´_ゝ`)フーン
462デフォルトの名無しさん:04/10/31 05:47:55
>ヘビーな質問
463mage:04/10/31 06:40:41
素敵だ…
464デフォルトの名無しさん:04/10/31 07:05:54
さてさて、次のおてがきいってみましょ!
465デフォルトの名無しさん:04/10/31 08:11:26
VC++2002の環境設定をVC++2003にごっそり移行したいのですが
どうすればいいの?
466デフォルトの名無しさん:04/10/31 09:22:50
こっそりとフォルダ名を2002から2003へと変えてみる
467デフォルトの名無しさん:04/10/31 10:09:08
MSDN:
Visual Studio .NET 2003 の新機能
・・・
Studio .NET をインストールすると、新しい方のバージョンを初めて起動
するときにダイアログ ボックスが表示され、既存の設定を移行するかどうかを
選択できます。・・・
468デフォルトの名無しさん:04/10/31 13:47:30
入力した文字を逆転表示して表示させるにはどうしればいいのでしょうか・・・?


こんにちは

はちにんこ

と言った具合です。
469デフォルトの名無しさん:04/10/31 13:51:23
<algorithm>のreverseあたりを。
470デフォルトの名無しさん:04/10/31 13:53:15
>>468
自分で文字列を逆転させてからTextOut()すればよい。
471デフォルトの名無しさん:04/10/31 13:53:51
MFCなら

CString ss = "こんにちは";
ss.MakeReverse();
472デフォルトの名無しさん:04/10/31 13:54:11
>>469
ありがとうございます。
reverseを使うということですね。
サンプルソースなどお願いできませんでしょうか?
473デフォルトの名無しさん:04/10/31 13:56:47
>>471
なるほど参考になります。
任意に逆転したい文字を選びたいのですがこの場合はどうすればよいのでしょうか?
474デフォルトの名無しさん:04/10/31 14:04:56
宿題スレに回答が出ているよ
475デフォルトの名無しさん:04/10/31 14:06:56
>>474
アドレスお願いします。
476デフォルトの名無しさん:04/10/31 14:08:10
477デフォルトの名無しさん:04/10/31 14:48:16
#include <locale.h>
#include <iostream>
#include <string>
#include <algorithm>

setlocale(LC_ALL, "Japanese");
using namespace std;
wstring wstr= L"あいうえお";
reverse( &wstr[1], &wstr[3] );
wcout << wstr<<endl;
//質問小出しはするな
478デフォルトの名無しさん:04/10/31 14:53:23
>>477
それビルドエラーになります。
479デフォルトの名無しさん:04/10/31 15:03:09
win32 Consloe アプリか?(hellow world アプリとか)
MFCアプリならばwoutの代わりとしW2Aマクロ等を使う。
480デフォルトの名無しさん:04/10/31 15:32:40
偉そうに回答してる連中の中で超有名ソフトの開発者っている?
例えばMayaの開発チームのメンバーだよみたいな。
MayaはVC++で作られているわけじゃないが・・・
481デフォルトの名無しさん:04/10/31 15:34:35
>>480
いたとしても態々言うと思うか?
馬鹿かお前は。
482マイク ◆yrBrqfF1Ew :04/10/31 15:37:25
>>480
いたとしても雑用コーダーみたいな奴じゃないか。
こんなところに来るのは
483デフォルトの名無しさん:04/10/31 15:37:37
任意に入力した 文字を逆転させるプログラムが欲しい・・・・
484デフォルトの名無しさん:04/10/31 15:39:27
AIUEO
∀I∩ヨO
こんな感じでつか?
485デフォルトの名無しさん:04/10/31 15:46:35
>>484
「こういう感じ」と入力すると

じ感ういうこ

にするプログラムです。
486デフォルトの名無しさん:04/10/31 15:47:08
金子はdown板だっけ
487デフォルトの名無しさん:04/10/31 16:08:23
488デフォルトの名無しさん:04/10/31 16:10:15
489デフォルトの名無しさん:04/10/31 16:13:10
akasaka と入力すると結果が同じになってしまいます
490デフォルトの名無しさん:04/10/31 16:15:17
>>489
当たり前。
491デフォルトの名無しさん:04/10/31 18:32:14
ところで、唐突に出された質問にスパッと答えるかっこいいお前らに聞きたいんだが
何歳なんだ?
10歳さばよんで答えてくれ。
492デフォルトの名無しさん:04/10/31 18:35:24
>>491
real - 10 = 17
493デフォルトの名無しさん:04/10/31 18:57:14
>>491
12
494468:04/10/31 19:26:51
まだ分かりません・・・誰か教えてください。
495デフォルトの名無しさん:04/10/31 19:27:35
>>491
30
496デフォルトの名無しさん:04/10/31 19:45:08
>>491
20
497デフォルトの名無しさん:04/10/31 19:45:24
>>494
いい加減うぜー
498デフォルトの名無しさん:04/10/31 19:50:11
>>494
さっくり作ってみたけど簡単すぎた。

この程度のが作れないなら、
逆にしないでそのままコピペすら作れないだろ(w
499デフォルトの名無しさん:04/10/31 20:12:59
じゃあ、ブートローダを書いてみてください
500デフォルトの名無しさん:04/10/31 21:10:05
さくらが書いたCマガの記事に出ていたような。
501デフォルトの名無しさん:04/10/31 22:57:58
>>491
6歳
502デフォルトの名無しさん:04/11/01 00:10:37
>>491
4歳
503デフォルトの名無しさん:04/11/01 01:09:25
-9
504デフォルトの名無しさん:04/11/01 01:17:13
Edit ControlでFocusを受け取ったときに文字列が選択されるように
するにはどうすればいいのですか?
505デフォルトの名無しさん:04/11/01 01:36:32
>>504
m_edit.SetSel(0, -1)

マウスで選択した時は駄目なんだけどね・・・
506デフォルトの名無しさん:04/11/01 01:43:15
EM_SETSELを::SendMessageでOKでは?
507デフォルトの名無しさん:04/11/01 02:26:26
それをすると今度はマウスで範囲選択できなくなる
508デフォルトの名無しさん:04/11/01 02:56:02
はぁ?
509デフォルトの名無しさん:04/11/01 05:24:11
>>504
EN_SETFOCUSをキャッチしてEM_SETSELだな。
510デフォルトの名無しさん:04/11/01 09:16:26
コンソールアプリケーションからクリップボードを使いたい(読み、書き)と思います。
調べたところ、ウィンドウハンドルが必要なのですが、コンソールアプリからはどうやって取得すればよいのでしょうか?
511デフォルトの名無しさん:04/11/01 09:18:46
先輩方!助けて下さい。
ダイアログをFormViewベースで追加しました。
このタイトルバーの左端のアイコンを非表示に
したいのですが、どのようにすればよいのですか?
512デフォルトの名無しさん:04/11/01 09:53:50
>>510
GetDesktopWindow()でもしとけば?
513デフォルトの名無しさん:04/11/01 10:15:53
>>511
アイコンじゃなくてシステムメニューの表示をやめる
514513:04/11/01 11:01:35
>>511
と思ったけど、アイコンを設定してるところをコメントにする。
515デフォルトの名無しさん:04/11/01 11:32:15
ws.Style &= ~WS_SYSMENU;
516デフォルトの名無しさん:04/11/01 12:41:08
>>514
ダイアログベースから呼び出してるダイアログ(FormView)でして、
どこでアイコンがセットされているのか隠れていて分かりません・・・

>>515
システムメニューを消してしまうと、
最大化や閉じるボタンもろとも無くなってしまうので、
できれば避けたいのです。
517デフォルトの名無しさん:04/11/01 14:18:40
>>516
MFC?
ウインドウクラスのアイコンが表示されてるかもしれない。
どうやってウインドウ出してるとか肝心なことが書いてないから答えようがない。
518511:04/11/01 14:37:36
>>517
失礼しました。MFCです。
親はダイアログベースで作成し、
これから表示したいウインドウは、
リソースでDialogを新規作成し、クラスの追加で
基本クラスをFormViewとしたものです。
親からはDoModal()で開いています。
519デフォルトの名無しさん:04/11/01 15:25:48
>>518
http://www.expertmg.co.jp/html/cti/vctips/
たしかこの本にやり方書いてあったと思う。
いま本が手元にない。
520デフォルトの名無しさん:04/11/01 20:23:48
すいません。
今日最近VC++.NETを使い始めた者ですが、ビルドの際に

LINK : warning LNK4098: defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
LINK : warning LNK4098: defaultlib 'LIBC' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。
Debug/julian.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。

ということでリンクプロパティ→特定のライブラリ無視で /NODEFAULT LIBCとMSVCRTDを
実行したところ今度は
「juliuslib.lib(rddfa.obj) : error LNK2019: 未解決の外部シンボル __imp__sscanf が関数 _rddfa_line で参照されました。」
と表示されました。何かこれらのエラーを回避する方法ありましたら
教えていただけますでしょうか。お願いします。
521デフォルトの名無しさん:04/11/01 20:42:56
まさにシンボルが解決されていない。
ライブラリをリンクする必要がある。

522デフォルトの名無しさん:04/11/01 20:52:58
>>520
ReleaseビルドのライブラリとDebugビルドのアプリケーションはリンクできない(事が多い)。
523 :04/11/01 21:04:51
インターネットエクスプローラ上で右クリックしたときのメニューに独自コマンド組み込んで
それを選択するとIEで表示されてるページのURLとタイトルとかを得たいんです。
どうすれば実現できますか?
524デフォルトの名無しさん:04/11/01 21:12:02
無理。MSからIEカスタマイズ用のライセンスを取得する
必要がある。
525デフォルトの名無しさん:04/11/01 21:39:40
>>523
ieコンテキストメニュー
526デフォルトの名無しさん:04/11/01 21:55:00
>>523
できるけど、ひとことじゃ説明できないし
ここで質問してるようじゃ無理
527デフォルトの名無しさん:04/11/01 22:30:10
>>526
まぁそういわずいくつかキーワードだけでも教えてやってくれ。
漏れも知りたいし。
528デフォルトの名無しさん:04/11/01 22:43:13
529デフォルトの名無しさん:04/11/01 22:47:38
http://support.microsoft.com/default.aspx?scid=kb;ja;177241
しかしHTML(の中に書けるVB/JScript)しか実行できないようだ。
530デフォルトの名無しさん:04/11/01 23:04:06
>>529
おお、出来た!多謝。
531デフォルトの名無しさん:04/11/01 23:34:26
VC++でUSB接続のカメラからの画像を処理するようなソフト作成を目指しているのですが参考になる書籍サイトなどありましたら教えていただけませんでしょうか。
532デフォルトの名無しさん:04/11/01 23:35:33
>531 VC++.netでしたすみませんがご教授くださいよろしく追い願いいたします。
533デフォルトの名無しさん:04/11/01 23:52:16
動画?
534デフォルトの名無しさん:04/11/01 23:59:56
>>531
トラ技に載ってたなぁ
トラ技のバックナンバーでも検索して図書館ででも借りれば?
535デフォルトの名無しさん:04/11/02 00:41:34
Visual Studio.net にてvc++をやり始めているのですが、質問させてください。

// sample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << "開始\n";
double b = 0x0, c = 0x0;
while (b < 0xffffffff){
for(double a=0x0;a < b;a++){
c = a * b;
if (c == 0x99BA4A95){
cout << "10進数" << "a:" << a << "b:" << b << "c:" << c << "\n";
break;
}
}
b++;
if (c == 0x99BA4A95){
break;
}
}
cout << "終り\n";
return 0;
}
536デフォルトの名無しさん:04/11/02 00:42:10
連貼り失礼します。

このようにaとbを掛けて0x99BA4A95になれば正解というちょっとした
総当りプログラムを書いたつもりなのですが、コンパイルしたものを実行すると
開始
10進数a:42197b:61121c:2.57912e+009
終り
こういう結果になってしまいます。望んでいる結果は
開始
10進数a:42197b:61121c:2579122837
終り
なのですが・・
手持ちの本にはdoubleは15桁までOKのようなことがかいてあるのですが
これは多倍長整数計算というものなのでしょうか?
巨大整数計算や多倍長整数計算などで検索したのですが
全て理解したわけではありませんがイマイチ違うようなきがします。
アドバイスなど頂ければ幸いです。よろしくお願いします。
537デフォルトの名無しさん:04/11/02 00:57:32
doubleは浮動小数点数計算
多倍長整数計算がしたければ自分でライブラリ作れ
538デフォルトの名無しさん:04/11/02 01:05:27
>>534
アドバイスできねーなら口出すなよ
本見ろなんて誰でも言えんじゃんw
539535:04/11/02 01:23:28
>>537
レスありがとうございます。
longだと桁あふれしてしまうのでdoubleにしました。

私のやろうとしていることは多倍長整数計算になるのでしょうか?
540デフォルトの名無しさん:04/11/02 01:25:03
>>535-536, 539
double じゃなくて int ですな。それで不十分なら__int64なんてのもある。
多倍長整数のライブラリならCodeGuru当たりにあったような希ガス。

>>538
がんがれ、若いの。
541デフォルトの名無しさん:04/11/02 01:26:40
配列の要素数の限界ってあるの?
542デフォルトの名無しさん:04/11/02 01:26:44
>>537
倍精度ね。
543デフォルトの名無しさん:04/11/02 01:34:23
カスタムコントールってどうやって作るの?
とりあえず、CEditから派生させてCEditExを作りました。
(1)どうやってCEditViewに結びつけるの?
(2)どうやってダイアログに貼り付けるの?
544535:04/11/02 01:35:34
>>540
__int64でばっちりイケました。ありがとうございます。
c++を勉強し始めたばかりでライブラリなどは未だ敷居が高く助かりました。
545デフォルトの名無しさん:04/11/02 01:38:49
>>541
要素数の限界は決まっていないが、スタック領域の限界要領は決まっています。
それはコンパイラのオプションで変えられることができます。
(本当は実行中に変えることもできます)
参考までに、VC++でのスタック領域はデフォルトで1MBです。
546デフォルトの名無しさん:04/11/02 01:39:16
× 要領
○ 容量
547デフォルトの名無しさん:04/11/02 01:40:41
VusialC++と関係ないと思うのですが

InternetExpolorで、描写範囲外の部分の表示は
OSはどのような処理をしてるのでしょうか?

スクロールすつ毎に書き足してるのでしょうか?
それとも、描写されてない部分も一度、メモリーに
画像として作っておいて、それを描写してるのでしょうか?

1)スクロール毎に新しく描写する部分を書き足してる
2)一度、全部、画像としてメモリーに保持しといて
 描写範囲だけ、VRAMに落として描写している

この二つぐらいしか思いつかないのですが
もし宜しかったらお願いします。
548デフォルトの名無しさん:04/11/02 02:06:59
スクロール毎に新しく描写する部分を書き足してる
遅い機種で実行してみれば様子が分かる
549デフォルトの名無しさん:04/11/02 02:18:54
javascriptで使用するオブジェクトについて考えると、
描画されてない部分でもオブジェクト自体は存在しなければならない。
つまり全部「オブジェクトとして」メモリーに展開されている。
550520:04/11/02 04:15:38
>>522
レスありがとうございます。色々と試していたらエラーを残り1つまで解決できました。
特定のライブラリを無視にエラーで表示されていたlib以外をぶち込んだらどうにか。
で、最終的に下記ソースファイルを新たに追加したらエラーを残り1つまで漕ぎ着け
ました。

extern "C"
{
int __mb_cur_max;
int errno;
}

ところが、最後のエラーが・・

anew.c
c:\anew.c(2) : error C2059: 構文エラー : '文字列'
julian - エラー 1、警告 0

あまりの眠さにやっと書いてますが、どなたか分かる方いましたら
お願いします。
551デフォルトの名無しさん:04/11/02 05:10:53
source だせー
552デフォルトの名無しさん:04/11/02 05:18:57
-------------------------------
| Main Window              |
-------------------------------
|ファイル 編集 表示_______________________  | --------------
|----------| ・デバッグウィンドウ表示| | | Debug Window |
|        | ・・・          | | |-------------|
|        | ・・・          | | |          |
|        -----------------  | |          |
|                      | |          |
|                      | --------------
-------------------------------

こんな風な、常に開いておけるデバッグ情報出力画面を作りたいのですが、
SDIでモードレスダイアログを使用せずに作れますか?
553デフォルトの名無しさん:04/11/02 06:18:24
はい
554デフォルトの名無しさん:04/11/02 06:29:04
>>550
それは自分で作ったのか?
本見てるとかどっかで拾ってきたんだろうか?
555デフォルトの名無しさん:04/11/02 07:23:13
初歩の質問ですみませんがお願いします
クラスのメンバ変数は暗黙的に初期化されていると何かで読んだ気がするのですが
VC++では初期化されていないようです
これはコンパイラによって違うものなのでしょうか?
556 :04/11/02 07:24:50
>>525 >>529
プロバイダがアク禁くらって書き込めなかった。
どうもありがとう。
557デフォルトの名無しさん:04/11/02 08:10:42
>>555
普通はコンストラクタで初期化すると思うけど
そういう学問的な話はC++スレ向きだと思う。
558デフォルトの名無しさん:04/11/02 09:05:59
カスタムコントールってどうやって作るの?
とりあえず、CEditから派生させてCEditExを作りました。
(1)どうやってCEditViewに結びつけるの?
(2)どうやってダイアログに貼り付けるの?
559デフォルトの名無しさん:04/11/02 09:11:49
>>558
Edit Controlを配置
コントロール変数を「変数の種類 : CEditEx」で作成
560デフォルトの名無しさん:04/11/02 09:27:58
わからないひとは黙ってください
561デフォルトの名無しさん:04/11/02 10:09:38
562デフォルトの名無しさん:04/11/02 10:10:24
563デフォルトの名無しさん:04/11/02 10:14:28
>>558 はマルチ
564デフォルトの名無しさん:04/11/02 10:22:37
>>563
それがどうした
565デフォルトの名無しさん:04/11/02 15:59:28
>>564
逆切れか?w
みんな>>558には答えるなよw
566デフォルトの名無しさん:04/11/02 19:08:09
>>558
CEditの派生なら、カスタムコントロールではないよ。
567デフォルトの名無しさん:04/11/02 21:38:21
>>565
無能な人に答えていただく必要はありません
568デフォルトの名無しさん:04/11/02 22:52:06
>>558 >>560 >>564 >>567
釣りなんだろうな、と釣られてみる(w
569デフォルトの名無しさん:04/11/02 22:54:57
( ゚Д゚)ハァ?
570デフォルトの名無しさん:04/11/02 23:08:05
はぁ…
571541:04/11/02 23:47:21
>>545
詳しい説明ありがとうございました。
572デフォルトの名無しさん:04/11/02 23:54:05
VC++2002
ダイアログボックスに配置されてたエディットコントロールから値を取得しようと
下記コードを書いたのですが、アサーションがでます。
どこがマズイのですか?

void CxxxView::OnMenu1Click()
{
CTestDlg TestDlg;
if(IDOK == TestDlg.DoModal())
{
CString buffer;
TestDlg.GetDlgItemText(IDC_EDIT1,buffer);
TRACE("%s\n",buffer);
}
}
573デフォルトの名無しさん:04/11/03 00:12:21
>>572
DoModalから返ってきたときは
ダイアログ自体はすでに破棄されているので、
そのあとのGetDlgItemTextに失敗する。

例えばCTestDlgのOnOKとかで、
CTestDlgのメンバ変数にでも
エディットコントロールの値を記憶しておき、
それを取得するようにすればいい。
574デフォルトの名無しさん:04/11/03 00:27:10
>>572
アサーションの内容を読もうともしない英語恐怖症のお前。
575デフォルトの名無しさん:04/11/03 00:28:34
>>573
テメェに聞いてねーんだよリアル精神障害者が。
チンカスでも掃除してろw
576デフォルトの名無しさん:04/11/03 00:39:52
(;´Д`)
577デフォルトの名無しさん:04/11/03 00:41:20
>>575
女にはチンカスはありません。
578デフォルトの名無しさん:04/11/03 00:46:34
579デフォルトの名無しさん:04/11/03 01:14:30
少し前から変なのがいついてるな。
580デフォルトの名無しさん:04/11/03 01:19:54
VCにイヤな思い出でもあるんだろ。
581デフォルトの名無しさん:04/11/03 01:30:37
教えてもらってるのにあんな態度ってのは....
考えられないよな、普通
582デフォルトの名無しさん:04/11/03 01:33:31
確かにVC++に相当なコンプレックスをお持ちのようですな。
言語仕様的にはJavaやC#と似たようなもんだし
コンソールアプリとかの基礎からコツコツやりましょうぜ > 若い人
583デフォルトの名無しさん:04/11/03 02:01:46
VC++はソースとかぐっちゃぐちゃになってそう。
もう後から後からいろんなもの付け足してよく問題でないな。
感心するよ。
584デフォルトの名無しさん:04/11/03 02:08:09
問題出す椰子はどの開発環境でも出すかと
VCは開発環境としては結構使い勝手いいと思うけどな

けど、問題出さないよう、手間かけてきちんとまとめたものより
問題出てでも、早くものを作り出したほうが評価されるのはなんとも…



ごめん、メモ帳にしちゃった(´・ω・`)
585デフォルトの名無しさん:04/11/03 02:11:00
いやVisualStudioのファミリーのツール類だよ。

586デフォルトの名無しさん:04/11/03 02:24:36
秋葉チックなVisual系がいっぱい居るStudioはここですか?
587デフォルトの名無しさん:04/11/03 02:40:16
就職もせずにぷらぷらしてます。
588デフォルトの名無しさん:04/11/03 02:46:44
> 就職もせずにぷらぷら
Visual 就++ ってことですね
589デフォルトの名無しさん:04/11/03 02:59:38
ここはおもしろくないスレですね
590デフォルトの名無しさん:04/11/03 03:15:21
就++だと讐になるぞ
591デフォルトの名無しさん:04/11/03 03:16:07
>>573
CTestDlg にpublicなコントロール変数m_Editを定義して
下記のように書き直してみましたがまだアサーションが
でます。

void CxxxView::OnMenu1Click()
{
CTestDlg TestDlg;
if(IDOK == TestDlg.DoModal())
{
char buffer[100] = {0};
TestDlg.m_Edit.GetLine(0,buffer);
TRACE("%s\n",buffer);
}
}
592デフォルトの名無しさん:04/11/03 03:17:45
>>591
そりゃ出るだろうな。>>573の言う通りにしてないんだから。
593デフォルトの名無しさん:04/11/03 03:18:14
醜++
594デフォルトの名無しさん:04/11/03 03:34:51
もういいよ
おまえらに聞いてもなんも解決しねー

結局、質問者となんら変わらないんだね

その割には偉そうだが www
595デフォルトの名無しさん:04/11/03 03:38:13
>>573で解決してるじゃん。
596デフォルトの名無しさん:04/11/03 06:24:11
IDOK == TestDlg.DoModal()
だからIDOKに値が入る時にはもうダイアログが閉じてるんだろ
597デフォルトの名無しさん:04/11/03 06:42:19
>>569
釣り乙。
598596:04/11/03 09:24:29
あ、代入じゃなくて比較だ
599デフォルトの名無しさん:04/11/03 14:36:03
挿入
600デフォルトの名無しさん:04/11/04 14:43:32
VC7.1 のカーソル操作を Emacs 風にすることって出来ないんですか?
601デフォルトの名無しさん:04/11/04 16:04:08
>>600
自分でカスタマイズすればいいんじゃないの?
602デフォルトの名無しさん:04/11/04 16:12:27
Visual C++でCのコンパイルってできるんですか?
603デフォルトの名無しさん:04/11/04 16:26:16
>>602
できます。拡張子が'.c'ならCとしてコンパイルします。
604デフォルトの名無しさん:04/11/04 16:29:30
>>603 房丸出しの質問なのに答えていただいてありがとうございます。
605デフォルトの名無しさん:04/11/04 19:50:50
>>601
カーソル操作のカスタマイズなんか出来るんですか?
ググっても情報が出てこないんですが…
606デフォルトの名無しさん:04/11/04 20:03:01
607デフォルトの名無しさん:04/11/04 20:29:05
char *filename[14] = {"1.txt","2.txt","3.txt",〜"100.txt"};

こういうの100.txtまで書かずにfor文等で楽にする事出来ませんか?
608デフォルトの名無しさん:04/11/04 20:33:00
http://www.codeguru.com/dbfiles/get_file/CBuildPacket.zip?id=6861&lbl=CBUILDPACKET_ZIP&ds=20040331
を利用してパケットを自作するプログラムをMFCで作りたいのですが、
このCBuildPacketクラスを利用するためにはどのように設定すればいいでしょうか?
コンパイルがうまくできなくて困っています。




609デフォルトの名無しさん:04/11/04 20:41:21
for(i=1;i<=100;i++){
sprintf(filename, "%d.txt", i);
}
610デフォルトの名無しさん:04/11/04 20:48:19
どうでもいいが、>607のfilename[14]の14ってのはどこから出てきた数字なんだ。
611デフォルトの名無しさん:04/11/04 21:02:03
>609
char filename[100][10];
for(int i=0;i<100;i++){
 sprintf(filename[i],"%d.txt",i+1);
}

の方が良くないか?
612デフォルトの名無しさん:04/11/04 21:21:33
>>608
どっかに説明あるはずだけど、
それだとzipしか落ちてこないし、中はソースしか入ってない。
613デフォルトの名無しさん:04/11/04 21:46:27
>>608はマルチだ
MFCスレにもいた
614デフォルトの名無しさん:04/11/04 21:56:51
使い方はこにある。少しヘンだけど。

http://www.codeguru.com/Cpp/I-N/network/basicnetworkoperations/article.php/c6861/
615デフォルトの名無しさん:04/11/04 22:01:25
>>614
おーい、マチルだ〜〜〜!
616デフォルトの名無しさん:04/11/04 22:07:46
>>612さん、614さん
回答有難うございます。
このクラスを使って自分で新しい物を作りたいのですが、
どのように設定(MFCの雛形ファイルのどのファイルにインクルード)などすればいいのでしょうか?
617デフォルトの名無しさん:04/11/04 22:10:14
>>615
だから何?
618607:04/11/04 22:15:06
>>609>>611
ありがとうございます。
そんな方法ががあるんですね。

>>610
14ファイルでtestしてた名残です。
619デフォルトの名無しさん:04/11/05 01:57:42
初歩的な質問ですいません。
c:\hogehoge\libsent\src\util\j_printf.cpp(14) : fatal error C1083: include ファイルを開けません。
'sp/spKanji.h': No such file or directory

というエラーが表示されました。ちゃんとj_printf.cppのプロパティから
sp/spKanji.hをインクルードしているのですが何が問題でしょうか。
よろしくお願いします。
620デフォルトの名無しさん:04/11/05 02:12:14
>619
>345-353
621デフォルトの名無しさん:04/11/05 03:07:46
AfxMessageBox(IDS_*****);
のIDS_****というのが、定義されていない識別子としてエラーになるのですが・・・
622619:04/11/05 03:12:52
>>620
早速の返答ありがとうございました。345-353を拝見させていただきました。
そこに記載されている間違い易い事例を参照にしながら継続していましたが
やはり間違いは無いようです。

j_printf.cppの冒頭のソースは
#include <sent/stddefs.h>
#include <stdarg.h>
#include <sp/spKanji.h>
#if (defined(_WIN32) && defined(USE_SPLIB))
#endif

となります。j_printf.cppのプロパティから「インクルードするディレクトリ」で
sp/spKanji.hを設定していますが問題はないと思うのですが・・。
他のcppのインクルードではエラーが出ないのですが。。

もし分かる方いましたらよろしくお願いします。
623デフォルトの名無しさん:04/11/05 03:17:35
>>621
#include "resource.h"
624デフォルトの名無しさん:04/11/05 03:22:13
>>622
どうでもいいけど、ディレクトリの指定にファイル名を入れたのか?
625デフォルトの名無しさん:04/11/05 03:29:52
>>623
インクルードしてみたのですが、だめでした。
626デフォルトの名無しさん:04/11/05 03:46:28
sp/spKanji.h
このファイルはどこにあるんだ?
627619:04/11/05 03:46:32
>>624
有難うございます。ディレクトリ指定にファイル名入ってますが
他に重複していたらしく削除したら動きました。
本当に有難うございました!!
628デフォルトの名無しさん:04/11/05 09:24:43
XP+VC6.0です。
ファイルを保存しようとすると
「保存できません。他のアプリケーションで使用中」
とのメッセージがたまに出ます。
翌日、プロジェクトに登録していたファイルも消えました。
Nortonが悪さしているようなんですが、どうすればいいのでしょうか?
629デフォルトの名無しさん:04/11/05 09:41:35
祈りなさい
630デフォルトの名無しさん:04/11/05 10:07:18
VBCommenter の C++ 版ってありますか?
もしあるのなら、どこにあるか教えてください。m(_ _)m
631デフォルトの名無しさん:04/11/05 10:12:25
>>628
> Nortonが悪さしているようなんですが、どうすればいいのでしょうか?

そこまで分かってるんならとりあえずNorton停めてテストすれば?
632コピペ推奨:04/11/05 10:14:56
生活保護人員数(厚生統計要覧 平成13年度)では日本人114万人に対し、
人口比では圧倒的に少ないはずの外国人が42万人も
生活保護を不正受給・違憲受給しています。
http://www.geocities.co.jp/WallStreet-Bull/2487/
在日韓国朝鮮人の5人に一人は違憲な生活保護不正受給者であり
彼らの生活費は日本人の税金によってまかなわれています。


外国人が日本国内で 生活に困窮したり 行き倒れになりそうになれば
その国の大使館に救いを求めたり帰国すのが道理であり、
日本国に生活保護を求めるべきものではありません。
この日本に寄生し日本国民の税金を吸血する外国人への
生活保護不正受給・違憲受給を停止すべきだ。
http://news17.2ch.net/test/read.cgi/news2/1093261927/
http://news17.2ch.net/news2/kako/1093/10932/1093261927.html
633コピペ推奨:04/11/05 10:23:27
http://www.geocities.com/naverchat/CyberTerrorism01/
特にヨーロッパ・アメリカ・オーストラリアなど先進国たちの一部ネチズンたちはチャット空間で韓国人だと明らかにすれば弾き出す
とか集団的に退場して捨てるなど韓国人に対して反感を持っていることで現われた.
バンクフェワンドルの海外ペンパル(http://www.prkorea.com/vankop10_5.html)と海外チャットサイト訪問経験(http://www.prkorea.com/vankop10_4.html)
を打ち明けた掲示板には外国ネチズンたちに ‘門前薄待’当ぎりネチズンたちの事情が並んでいる.
海外チャットを始めてからひと月頃なったと言うバンクフェワン精米領さんは
“韓国出身だと言えば有り難がらない場合が 70%ほどされた”と “その時ごとに気持ちが悪かった”と打ち明けた
634デフォルトの名無しさん:04/11/05 10:40:08
VC++.net(MFC)で他のアプリケーションのテキストボックスなどに
文字を入力したりするアプリケーションをつくりたいのですが、
どのようにすれば他のアプリケーションへキー入力のメッセージを
送れるのかわかりません。

目的のテキストボックスへフォーカスを持って行くのは
手動でマウスで行う方法でもよいとおもっております。

是非助けて下さい。 よろしくお願いいたします。
635デフォルトの名無しさん:04/11/05 11:10:26
>>634
http://www.0ban.com/araken/qxhelp/m_sendkey.htm
SendKeyでいけると思う。
636628:04/11/05 11:12:52
無宗教です。
Xp+Vc6+Nortonで使われているかたおれないでしょうか
637634:04/11/05 11:20:28
>>635
レスありがとうございます。
紹介していただいたSendKeyというのはQXエディタのマクロですか?
やりたいことはまさに紹介していただいたURL通り
(出来ればウィンドウ・コントロールをアプリケーションで指定したいが・・・)
なのですが、 VCやVBなどからそれをおこないたいのです。
638デフォルトの名無しさん:04/11/05 11:29:39
WSH
639syo:04/11/05 11:49:24
今年の夏からプログラマーになりましたsyoです。
現在派遣に出てeMbedded4.0、WindowsCEで開発しています。
NEC製Pocket@i用のSDKを探しているのですが、ダウンロード
できるところを誰かご存知ではないでしょうか?
640デフォルトの名無しさん:04/11/05 11:54:02
641デフォルトの名無しさん:04/11/05 11:57:19
>>636
ノートンをあぼーんさせるか、そのメッセージ出ても無視して再保存すれば保存できる
特に実害は無い
642デフォルトの名無しさん:04/11/05 12:07:55
http://www.codeguru.com/dbfiles/get_file/CBuildPacket.zip?id=6861&lbl=CBUILDPACKET_ZIP&ds=20040331
を利用してパケットを自作するプログラムをMFCで作りたいのですが、
このCBuildPacketクラスを利用するためにはどのように設定すればいいでしょうか?
コンパイルがうまくできなくて困っています。

643デフォルトの名無しさん:04/11/05 12:12:45
>>642
しつこいぞマルチ野郎
644デフォルトの名無しさん:04/11/05 12:21:21
プロモ第2段 既出?

ttp://www.videogamerx.net/bbs/view.php?id=vx01&no=8088

これ見る限り期待していいかと!
645デフォルトの名無しさん:04/11/05 13:17:54
クラスAを用意し、メンバー関数(a,b,c)を3つほど作りました。
派生クラスはありません。

そのメンバ関数aの中で、動的変数を配列で定義したのですが、
b,cで認識してくれません。

これは常識なのでしょうか。
646デフォルトの名無しさん:04/11/05 13:33:53
>>645
C++の質問ならC++スレへ
647デフォルトの名無しさん:04/11/05 13:34:01
648デフォルトの名無しさん:04/11/05 13:48:01
>>645
つーか、マルチすなや。
649デフォルトの名無しさん:04/11/05 15:20:03
http://www.geocities.jp/chiakifujimon/text/text.html の↓ってどこにコーディングすればいいんでしょうか?
初心者なんで全く分かりません。

void CNotePadView::OnViewFont()
{
LOGFONTlf;// LOGFONT構造体の宣言
m_Font.GetLogFont(&lf);// 現在のフォント情報を取得

// コモンフォントダイアログの作成
CFontDialogdlg(&lf, CF_SCREENFONTS|CF_INITTOLOGFONTSTRUCT);

// ダイアログを開く
if (dlg.DoModal() == IDOK)
{
m_Font.DeleteObject();
if(m_Font.CreateFontIndirect(&lf))
SetFont(&m_Font);
}
}
650デフォルトの名無しさん:04/11/05 15:52:51
>>648
うるさいんじゃ、カスが。死ねや。テメェのドタマ切り飛ばすぞ。糞が。死ねや。
651649:04/11/05 16:02:00
自己解決しました。すいません。
652デフォルトの名無しさん:04/11/05 17:15:24
ディレクトリを選択するダイアログボックスはどうやってつくればいいですが?
(ファイルは選択しない)
653デフォルトの名無しさん:04/11/05 17:17:05
>>652
ツリーが出てくるあれ?
654デフォルトの名無しさん:04/11/05 17:42:40
ツリーがでてくるあれです。
655デフォルトの名無しさん:04/11/05 18:02:34
SHBrowseForFolder
656デフォルトの名無しさん:04/11/05 18:13:22
ありがとうございます。
657デフォルトの名無しさん:04/11/05 20:43:24
コンソールプログラムを作っているのですが
ある特定のフォルダにあるファイルの一覧を
配列なりに取得するにはどうしたらいいのでしょうか?
658デフォルトの名無しさん:04/11/05 20:47:21
<<655
ルートからのパスを取得するにはどうしたらいいでしょうか?
659デフォルトの名無しさん:04/11/05 20:54:57
>>657
FindFirstFileとか。
配列に入れたいなら結果をstd::vectorにpush_backしていけばいいんじゃない?
660デフォルトの名無しさん:04/11/05 21:48:34
BROWSEINFO bi = { 0 };
//bi.lpszTitle = _T("必要ならタイトルを付ける");
LPITEMIDLIST pidl = SHBrowseForFolder ( &bi );
if ( pidl != 0 )
{
// get the name of the folder
TCHAR path[_MAX_PATH];
if ( SHGetPathFromIDList ( pidl, path ) )
{
//pathを使って処理
}

// free memory used
IMalloc * imalloc = 0;
if ( SUCCEEDED( SHGetMalloc ( &imalloc )) )
{
imalloc->Free ( pidl );
imalloc->Release ( );
}
}
661657:04/11/05 22:56:58
>>659
ありがとうございます
試してみてなんとか取得できているのですが

WIN32_FIND_DATA tmp;
HANDLE Handle; BOOL h=1;
vector<string> filename(MAX_PATH); int i=0;

Handle = FindFirstFile("*", &tmp);
if (Handle==INVALID_HANDLE_VALUE){
  cout << "can't" << endl;
} else{
  while (h){
    filename.push_back((string)tmp.cFileName);
    h = FindNextFile(Handle, &tmp);
    i++;
    cout << i << tmp.cFileName << endl;
    cout << filename[i] << endl;
}
}

としたところリストに追加できているようなんですが
データ型が違うのかリスト内では文字になってないみたいなんですが
何型にキャストすればいいでしょうか?
662デフォルトの名無しさん:04/11/05 23:10:10
ありがとうございます。
無事にできました。
663デフォルトの名無しさん:04/11/05 23:18:31
できたといっているが一応。
#include <iostream>
#include <string>
#include <vector>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[]) {
  int i = 0;
  WIN32_FIND_DATA FindData;
  vector<string> FileName; //本当はvector<basic_string<TCHAR> > FileName;の方が良い。
  HANDLE Handle = FindFirstFile(argv[1], &FindData);
  if (Handle == INVALID_HANDLE_VALUE) {
    cout << "can't" << endl;
  } else {
    do {
      FileName.push_back(FindData.cFileName);
      cout << Filename[i] << endl;
      i++;
      cout << i << FindData.cFileName << endl;
    } while (FindNextFile(Handle, &FindData));
  }
  return 0;
}
664デフォルトの名無しさん:04/11/05 23:30:33
PostMessage()で float型のデータを送るには、どうしたらよいのでしょうか?

void Sender()
{
 float a;
 PostMessage(aの値);
 ・・・
}

LRESULT CALLBACK WindowProc( ... , WPARAM wParam, LPARAM lParam)
{
 float b = Sender()で送った値;
 ・・・
}
PostMessage( ... , a ) で送って b=(float)lParam; では整数に切り詰まるし、
かといって aのポインタ送るのもNGでしょうし...
665デフォルトの名無しさん:04/11/05 23:39:04
>>664
void Sender()
{
 float a;
 PostMessage(..., *(LPARAM*)&a);
}

LRESULT CALLBACK WindowProc( ... , WPARAM wParam, LPARAM lParam)
{
 float b = *(float*)&lParam;
}
666657:04/11/06 00:04:15
>>663
助かりました
i++が先に来ていて普通に読み込めてないところ参照していたんですね
ずっと見当違いなところばっかり見てました
ありがとうございましたっ
667664:04/11/06 00:21:51
>>665 うーむ、ありがとう
668デフォルトの名無しさん:04/11/06 03:14:00
>>665 ネタだよな・・・ (;´Д`)
669デフォルトの名無しさん:04/11/06 04:59:14
floatならlongとサイズが同じだから、
typedef union {
float f;
long l;
} MockFloat_t;
MockFloat_t a;
a.f = 1.2;
PostMessage(..., a.l);
}
{
MockFloat_t b;
b.l = lParam;
printf("%g\n", b.f);
}
670デフォルトの名無しさん:04/11/06 06:50:39
せめてFLOAT...
671デフォルトの名無しさん:04/11/06 16:16:38
フォームビューの背景色を変更するにはどうしたらいいでしょうか
ttp://www.ksskk.co.jp/tech/DialogBackColor.html
の方法をCMyDialogをC***Viewにおきかえて
CMyDialog::OnInitDialog()のところはC***View::OnIntialUpdateにおきかえて
ためしてみたのですがうまくいきませんでした。
672デフォルトの名無しさん:04/11/06 16:48:04
>>671
それは「CFormView 背景色 変更」でググった上での質問かね?
673デフォルトの名無しさん:04/11/06 17:06:30
ググってみましたが、
上のアドレスの内容とほとんど同じものでした。
アプリがMDIなのですが、なにか関係があるのでしょうか?
674デフォルトの名無しさん:04/11/06 17:19:43
ウィンドウを最大化するとタスクバーが隠れてしまう現象を直すには
どうしたらいいのでしょう?
675デフォルトの名無しさん:04/11/06 17:24:37
>>674
タスクバーのプロパティから「常に手前に表示」や「自動的に隠す」をいじってみろ。
676デフォルトの名無しさん:04/11/06 17:24:37
解決しました。
コンストラクタとデストラクタをまちがえてました。
677デフォルトの名無しさん:04/11/06 17:30:07
>675
一応常に手前に表示になってます。競合の問題ですかね。
とりあえずSetWindowPosでNOTOPMOSTにしてみます
678674:04/11/06 17:39:19
解決しました。WM_SIZE時に

GetClientRect(親ウィンドウハンドル, &rect);
SetWindowPos(親ウィンドウハンドル, NULL
NULL
NULL
rect.right,
rect.bottom-1,
SWP_NOMOVE );
というふうに、最大化時のクライアントの高さから1引けば
タスクバーが前に表示されるようです
679674:04/11/06 17:49:53
と思ったら解決してないですね
こんどはタスクバーを非表示にしたり縦にすると問題が出てしまいます
タスクバーの位置と大きさを取得して計算でFAですかね
680674:04/11/06 18:26:03
今度こそ解決しました。
ウィンドウが最大化の状態において、タスクバーのサイズが変更されたときに
SystemParametersInfoでタスクバー以外の矩形領域のサイズを得た後、
親ウィンドウをSetWindowPosでサイズ変更すれば、タスクバーが移動しまくったり
サイズ変更しまくっても、常にウィンドウがタスクバー以外の最大領域にサイズ変更されます。
というかWin32APIなんでスレ違いですね。
お騒がせしました。
681デフォルトの名無しさん:04/11/07 01:40:47
初めまして、
 以下の環境にてプログラムを製作し、実行したところ、値を入力してenterを入力
したところでプログラムが終了してしまいました。
 値を入力し表示させて画面を保つにはどのようにすればよいのでしょうか。
 御教授頂ければ幸いです。
[環境]WindowsXP home(SP2) Visual C++.net (ver 1.1.4322 SP1)
[コード]
#include <iostream>
using namespace std;

int main()
{
 int num;
  cin>>num;
cout<<num+2<<endl;
cin.ignore();
return 0;
}
682デフォルトの名無しさん:04/11/07 02:00:08
>>681
ちょっと前にも同じ質問見た気がするなぁ
683デフォルトの名無しさん:04/11/07 02:06:51
コンパイルオプションで、xeon 用に最適化することって出来ますか?
/G で良いのでしょうか?
684デフォルトの名無しさん:04/11/07 02:14:00
685デフォルトの名無しさん:04/11/07 12:39:13
再描画がうまくいきません

ファイルをダウンロードするhttpクライアントを作っています。
全体の何%ダウンロードしたかをリアルタイムで表示させたいの
ですが、再描画がうまくいかないのでできないです。
100%ダウンロードした後にのみ再描画が起きるだけです。

recv関数(サーバからデータを受け取る関数)を呼び出すたびに、
UpdateAllViews(NULL)を呼び出しているのですが、再描画ができないです。

プログラムが何か作業をしているときは、再描画はできないのでしょうか?
686デフォルトの名無しさん:04/11/07 13:04:49
俺だったら通信部分を別スレッドに分けると思う。
687デフォルトの名無しさん:04/11/07 13:04:54
メッセージが飛べない状況では描画はできない。
688デフォルトの名無しさん:04/11/07 13:06:48
UpdateAllViewのあと
viewにWM_PAINTを送った?
689デフォルトの名無しさん:04/11/07 13:16:33
>>688
おいおい、自分でWM_PAINTを送信したら駄目だろ。

InvalidateRect(NULL);
UpdateWindow();

とすべき。
690685:04/11/07 13:36:16
>>689
試していますが、コンパイルが通らないです。
MFCを使って組んでて、documentクラスの関数内では使えないのかな?
691685:04/11/07 13:43:13
>>689
VIEWクラスにontimer関数を作ってそこから、
InvalidateRect(NULL);
UpdateWindow();
を実行したけど、症状は変わらないです。
692685:04/11/07 13:46:30
>>686
マルチスレッドって奴ですか?
なんか難しそうだな。
693デフォルトの名無しさん:04/11/07 13:53:26
関数{
 ループ{
  recv();
  UpdateAllViews();
 }
}

こんな感じでやってるんでしょ?
694685:04/11/07 13:57:58
>>693
そうです。

またそれとは別にVIEWクラスにsettimerを作って
一秒おきにontimerを実行させて
>>691のようなこともやってみましたが、無理でした。
695デフォルトの名無しさん:04/11/07 14:01:43
>>694
うん、関数の中にいる間は更新されないよ。
通信を非同期にするとか別スレッドにするとかしないと。
696685:04/11/07 14:04:03
>>695
ありがとうございます。スレッドについて勉強してみます。
出直しますわ。みなさん、どうもありがとね。
697デフォルトの名無しさん:04/11/07 16:51:04
微妙にすれ違いかもしれない質問をさせてください。

 VisualC++2003を買ってきてオンラインでユーザー登録をしようとしたんですが製品IDが違うって言われちゃうんですよ。
 この製品IDというのは、VC++のバージョン情報を表示させて、「情報のコピー」ボタンでコピーしてから
数字と-だけを貼り付ければ良いんですよね。
 もしかして、ぜんぜん違うことやっちゃってますかね。
698デフォルトの名無しさん:04/11/07 16:59:28
>>697
サポートへ電話
699697:04/11/07 17:20:42
平日は忙しいんだ…
土日もやってくれよ〜>電話サポート
700デフォルトの名無しさん:04/11/07 17:24:30
>>699
土日くらい休ませて呉よ
701デフォルトの名無しさん:04/11/07 17:31:51
休むのは火木にでもしろ。
つーか、昼休みとか取るんじゃねぇ、市役所かてめぇら。
702デフォルトの名無しさん:04/11/07 18:05:29
>>701
お前が火木にでも休んで電話しろ。
703デフォルトの名無しさん:04/11/07 18:11:56
ぜんぜん違うことやっちゃってます
704681:04/11/07 23:48:57
 大変失礼致しました。
注意力散漫になっていて、見落としていたようです。
>684様
参考にさせて頂きます。
有難う御座います。
705685:04/11/08 02:36:53
AfxBeginThread()使ってみたが、症状は変わらないわ。
一体なんなんだ?
706685:04/11/08 02:46:01
こんな感じで、マルチスレッドな感じに組んだつもりなのですが、ダメです。

int CHctestwin2View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: この位置に固有の作成用コードを追加してください
AfxBeginThread(Thread_byoga, this);

return 0;
}

UINT Thread_byoga(LPVOID pParm)
{
while(TRUE){
Sleep(1000);
my_pView->InvalidateRect(NULL);
my_pView->UpdateWindow();
}

return 0;
}
707685:04/11/08 02:59:40
>>686
>>695
今、読み返してみたのだが描画を別スレッドにするのではなく、あくまで通信を別スレッドに
しろということなのか・・・
708デフォルトの名無しさん:04/11/08 04:08:48
コンパイルエラーにはならない?
my_pViewというのは外部変数?
それと、無限ループを抜け出す条件が無いようだけど
カキコするために省略したの?
709685:04/11/08 07:14:06
>>708
コンパイルエラーにはならないです。
my_pViewは外部変数です。
無限ループを抜け出す条件が無いですが、省略ではありません。
710デフォルトの名無しさん:04/11/08 09:23:03
もし my_pView が MFC のクラスなら
スレッドを超えてのインスタンスの使用はできないはず。
ナマのウィンドウハンドルを持つべきだね。
711デフォルトの名無しさん:04/11/08 13:03:02
すみません、質問させてください。
win2kで Visual Studio.NET を使っています。
// sample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << "開始\n";

__int64 b = 0x0;
char a[30];
cin >> a;
for(int c = 0;c < strlen(a);c++ ){
b = b + a[c];
b = b * b;
//printf("%I64d8",b);
cout << b << "\n";
//ここでbが9桁以上なら先頭から8桁までをbに入れたい。
//b が 1234567890 なら b に 12345678までを入れたい。
}


cout << "終り\n";

return 0;
}
712711:04/11/08 13:03:27

dosから入力した文字を16進数として二乗し、9桁以上なら先頭から8桁を
残し、この結果と次の文字の16進数を足し合わせて二乗するというような
ものを作りたいのですが、ここからどうやればいいのか困っています。
入門書の最初に文字列の配列のことがかかれていましたので
bの__int64型をchar型配列に入れられれば配列の数から桁数を
操作できると考えてchar d[30] = (char) b;
などといろいろ他にもやってみたのですが色々なエラーがでて
頭がゴチャゴチャになって解決できません。
sample.cpp(15): warning C4018: '<' : signed と unsigned の数値を比較しようとしました。
等です。どのようにしたらよいかアドバイスいただけないでしょうか。お願いします。
713デフォルトの名無しさん:04/11/08 13:21:31
>>711-712
それってVisualCなの?
DOSプロミングのスレがあったような
もしくはCか?
714711:04/11/08 13:31:45
>>713
レスありがとうございます。
開発環境はVisual Studio.NETの中のVC++です。
本もVC++の入門書です。
perlとmysql、アセンブラの経験は少々あるのですが
c関係はまったくありません。

最初はまだコントロールボックスなどを作っていろいろしてみたりではなく
文法的なところから学びたいと思ってdosで動くような簡単なものから
やっています。
715デフォルトの名無しさん:04/11/08 13:47:27
>>711
strlenを使ってるのならその数字が桁数だろうから
その
a = strlen(b);
a = a - 8;
c = 1;
for(i=0;i<a; i+){
c = c * 10;
}

bを数字に置き換えて

d = b / c;

d が8桁になるんじゃね

違ったらゴメン
716デフォルトの名無しさん:04/11/08 13:48:58
while( b>=100000000 ) {
  b /= 10;
}
717715:04/11/08 14:03:31
>>716
この方が簡単だね・・
718デフォルトの名無しさん:04/11/08 14:14:13
a[8] = '\0';
int b = atoi(a);
719デフォルトの名無しさん:04/11/08 14:39:48
if(name=="")って書くと、'const char [1]' から 'TCHAR [256]'
に変換できません。
と怒られます。nameがTCHARです。
charは == が使えないんでしたっけ?どうすればいいのか教えてください
720デフォルトの名無しさん:04/11/08 14:44:15
_T("")
721デフォルトの名無しさん:04/11/08 14:59:02
教えてください。
VC6++ windows2000で、

#include <fstream.h>

void main( void ){
ofstream fp;
fp.open( "test.txt", ios::out);
__int64 a;
a=9223372036854775807;
cout << a <<endl;
fp << a << endl;
}

とやると、
error C2593: 'operator <<' があいまいです。
とエラーになってしまいます。
cout << とか
fp << を使うにはどうすればよいかおしえてください。
722デフォルトの名無しさん:04/11/08 15:03:39
>>721
お前は大学の数学の授業で小学校の算数の質問するか?
723デフォルトの名無しさん:04/11/08 15:06:30
2ちゃんねる=大学
724デフォルトの名無しさん:04/11/08 15:21:48
>>722

黙れボケ。お前には聞いてねぇんだよ。
725デフォルトの名無しさん:04/11/08 15:25:25
>>724
そういう仕様
マニュアルに書いてある
726デフォルトの名無しさん:04/11/08 15:27:05
cout << (int)a <<endl;
fp << (int)a << endl;
727デフォルトの名無しさん:04/11/08 15:38:18
cout << _i64toa(a,buf,10) <<endl;
fp << _i64toa(a,buf,10) << endl;
728デフォルトの名無しさん:04/11/08 15:38:39
エディットコントロールに文字が入ってるかどうか、
もしくは何文字入ってるか調べる関数はありますか?
729デフォルトの名無しさん:04/11/08 15:43:27
GetWindowTextLength
730sage:04/11/08 15:43:59
ありますますます。
731デフォルトの名無しさん:04/11/08 15:45:07
あります
732デフォルトの名無しさん:04/11/08 16:29:05
VC7 です.

スレッド内の処理のところで
ブレークポイントを置いて,
そこにひっかけようとすると
VS ごと固まるんですが,これは仕様なんですか?
733デフォルトの名無しさん:04/11/08 17:14:06
Visual C++6.0 にいきなり挑戦は大丈夫でしょうか?
今少しやってるんですけど意味が全然分かりましぇん。
734デフォルトの名無しさん:04/11/08 17:23:51
初歩的なことですいません。テキストを読み上げるサンプルプログラムを
外部dllを利用してVC++.NETで作っています。
win関連はMSDNライブラリーを参照することで関数の書き方と意味が
分かりますが、外部dll内の関数の書き方と意味がわかりません。
(例:数字の読み上げを実行する関数)
それらの関数や定義は、どこかのリソースに記述されているもの
なのでしょうか。Cの基礎は学習しましたがVCは購入してから
マニュアル半分で使っているので・・。

先輩方すいませんが教えてください。
735デフォルトの名無しさん:04/11/08 17:31:18
>>733
VisualC++はソフト名
VisualC++という言語はないが、VisualC++関連の書籍はある
その書籍は大体WindowsAPIに関しての話
WindowsAPIに触れるなら最低C言語、できればC++を理解していないと
まともにやりたいことはできん

>>734
dllが含まれてたものに*.hはなかった?
736デフォルトの名無しさん:04/11/08 17:33:33
VC++向けの本でAPIやってるのは少数派だよ・・・・。
737デフォルトの名無しさん:04/11/08 17:36:42
MFCか…^^;

まぁどっちにしろC/C++言語理解せんと無理
738デフォルトの名無しさん:04/11/08 17:37:13
739デフォルトの名無しさん:04/11/08 17:37:18
740デフォルトの名無しさん:04/11/08 17:53:03
ビルド回数をバージョン情報用のダイアログに表示したいのですが
ビルド回数の取得はどうやったら良いのでしょうか?

今の所、リリースビルドする前に手動でビルド回数を書き換え
ています。面倒なので、それを自動化したいです。
741デフォルトの名無しさん:04/11/08 18:19:32
>>735 そうですか。ありがとうございます。どれくらいCの勉強すればいいんでしょうか?C言語の入門書1冊読んだぐらいでは甘すぎますよね?
742デフォルトの名無しさん:04/11/08 18:33:34
>>740
ビルド番号でぐぐれ
743デフォルトの名無しさん:04/11/08 19:12:24
>>741
C→WinAPI→C++→MFC
744デフォルトの名無しさん:04/11/08 19:30:47
>>741
漏れは
C->C++->MFC->WinAPI
を薦める

C++の入れる場所はもう少し後でも構わんが
C言語の入門1冊がどの程度か知らないけど
完全に理解できたのなら進めなくもない
けど、実際「言語」の理解だけじゃ難しいと思うので、不十分だと思う

>>743
APIよりMFCの方が入門じゃねぇの?
745685:04/11/08 19:32:27
>>710
こうやって見たけど、動作は変わらないです。なんか俺場違いな気がしてきた。
こういうのはネットワーク関連で聞くべきかな。

UINT CHctestwin2View::Thread_byoga(LPVOID pParm)
{
while(TRUE){
Sleep(1000);
((CHctestwin2View*)pParm)->InvalidateRect(NULL);
((CHctestwin2View*)pParm)->UpdateWindow();
}

return 0;
}
746デフォルトの名無しさん:04/11/08 20:13:51
しかし、Visual C++6.0を始めたばかりですとか言う人多いけど、
販売されなくなってから結構経つのに何で?
オークションとかで買っているのか?

747デフォルトの名無しさん:04/11/08 20:15:08
VC++6.0・SDKで質問です。
タブコントロールにツールチップをつけるとき、
TOOLINFO構造体のuIdメンバはどう設定すればいいのでしょうか。
ボタンのようにIDを指定するわけにもいかず、立往生しています。
748デフォルトの名無しさん:04/11/08 20:15:11
>>744
MFCはゴミだから要らない
749デフォルトの名無しさん:04/11/08 20:27:03
ゴミとまでは言わないが、学習用途には向かない。
隠蔽されすぎて混乱するだけだろう。

俺的には
C -> C++ -> WinAPI -> ..... -> MFC

MFCはツール製作用に限定した方が無難かも知れない
750デフォルトの名無しさん:04/11/08 20:33:00
激安で買えるVisual Stdio.NET theSpoke Disc.8
http://pc5.2ch.net/test/read.cgi/tech/1095325802/

激安で買えるんだ
4000円くらい
751デフォルトの名無しさん:04/11/08 20:48:09
そういう話ではなく
Visual Studio「6.0」がなぜいまさら出回ってるのか
という話なのでは?

ってか、
>激安で買えるVisual Stdio.NET theSpoke Disc.8
Stdio… 職業病ですか?w
752デフォルトの名無しさん:04/11/08 20:54:10
>>746
やぼな質問するんじゃねーよ
753デフォルトの名無しさん:04/11/08 20:58:19
一度あきらめたんだろうね。
754デフォルトの名無しさん:04/11/08 20:59:17
ちょっと調べた限りじゃ2003のほうが容易に(ny
755デフォルトの名無しさん:04/11/08 22:02:28
2003に乗り換えた人から貰ったとか
756デフォルトの名無しさん:04/11/08 23:52:21
>>719
if(name=='')
757デフォルトの名無しさん:04/11/09 00:17:16
>>756
何かと思ったらシングルクォートが2つ続いているのね。
でもそれ、コンパイル通らないような…

>>719がやりたいのは name=='\0' かな?
758685:04/11/09 00:32:14
別のスレで聞いてみるわ
759デフォルトの名無しさん:04/11/09 01:03:52
if(strcmp(name,"")==0)
760デフォルトの名無しさん:04/11/09 03:29:52
761デフォルトの名無しさん:04/11/09 04:57:51
開発環境win2000,VC++5.0です。
早速ですが質問です。
TransparentBlt()関数が定義されていない識別子として認識されます。
関数名で検索したところ、「wingdi.hと、msimg32.libが必要」
ということが分かりました。

さらに「msimg32.lib」で検索し
プロジェクト→設定→リンク→オブジェクト/ライブラリモジュール
に追記すれば良いと分かりました。実際に
オブジェクト/ライブラリモジュールの欄の末尾に半角スペースを挟んでmsimg32.libと追記し、
#include <wingdi.h>
の一文を、
#include <windows.h>
の次に記述したのですがうまくいきません。

解決法が有りましたら教えてください。
762デフォルトの名無しさん:04/11/09 06:15:53
そういうときはな、wingdi.hを開いてTransparentBltを検索するんじゃ。
するとその見つかった上のほうに、#if (WINVER >= 0x0400)
ってあるからWINVERを0x400以上にしてやればOKなんじゃ。
763761:04/11/09 06:53:04
ご指摘の通り、wingdi.h内に以下のような部分がありました。

#if(WINVER >= 0x0500)
      …
#define EMR_TRANSPARENTBLT 116
      …
#endif /* WINVER >= 0x0500 */

MSDNを参照して
#define WINVER 0x500
という記述を先頭に加えることより、WINVERを0x0500以上にしたのですが
認識がされません。

そもそも、ヘッダ内で#if(WINVER >= 0x0500)
となっている時点でおかしいということでしょうか?
764デフォルトの名無しさん:04/11/09 09:24:17
>>746 漏れは2年前にプログラムの練習しようとして二日ぐらいで挫折。
24歳無職で就職への足がかりのためになればと近日再開。
765デフォルトの名無しさん:04/11/09 09:56:28
if( )の中に条件を二つ入れたいのですがどう書けばいいんでしょうか?
766デフォルトの名無しさん:04/11/09 10:11:33
>>765 御免。ルール違反だが空行省略して書く。
formula
::= logical_and_expression logical_or_list
logical_or_list
::= logical_or *
logical_or
::= "||" logical_and_expression
logical_and_expression
::= logical_not_expression logical_and_list
logical_and_list
::= logical_and *
logical_and
::= "&&" logical_not_expression
logical_not_expression
::= primary_formula
||= logical_not
logical_not
::= "!" primary_formula
primary_formula
::= formula_element
||= "(" formula ")"
formula_element
::= relational_expression
||= "True"
||= "False"
767デフォルトの名無しさん:04/11/09 10:39:05
馬鹿ばっかり
768デフォルトの名無しさん:04/11/09 13:32:28
>>764
2年前ってすでに6.0は店に並んでなかったような・・・・。
769デフォルトの名無しさん:04/11/09 13:56:05
>>768
そりゃ店によるだろ
今でもあるところにはあるよ
770デフォルトの名無しさん:04/11/09 15:17:18
初歩的な質問ですいません。
VisualStudio.net2003(VisualC++,net)で作ったアプリをビルドして98/ME系マシーンで動かしたら
文字化けしてしまったのですが、どうやったら解決できますか?
マネージ拡張ってところは「いいえ」にして、98/MEでも動くようになったんですが・・・
文字化けが・・文字セットっての弄って直るかと思ったら、状況変わらず・・・
98/Meだと動かないと思って諦めたほうがいいんですか?
771デフォルトの名無しさん:04/11/09 15:48:49
>>770
・どういうアプリを作ったのか?
・それのどこの部分が化けているのか?

を具体的に
772デフォルトの名無しさん:04/11/09 16:14:09
>>771
えっと、ダイアログベース?で、ダイアログのエディットボックスに数字を入力して、その合計を計算するアプリです。
早く言えば計算機ですね。
その計算ってボタンが文字化けしてるみたいです。
英語は問題なく表示されてるそうです。
日本語文字が、アラビア語みたいな文字になる言ってたかな・・
773デフォルトの名無しさん:04/11/09 16:15:48
日本語対応のランタイムがない悪寒。
774デフォルトの名無しさん:04/11/09 16:23:39
初歩的な質問で申し訳ありません。

データベース(Oracle)との連携アプリを作りたいのですが、
VC++でどのようにやればよいのかわからずにおります。
書籍などをあたるとUnix系のものは見かけるのですが、
VC++ではどうやるのかがわかりません。

開発環境は
OS:Windows XP Soft:VisualC++.NET
DataBase:Oracle9i
となります。
※実際に作るのは、C++ではなくCが中心となります。

やりたい処理は、
Oracleへの値の挿入と検索で
挿入、検索はプログラム内でFileから読み込んだものや
Oracleから検索した値をもとに実行します。
775デフォルトの名無しさん:04/11/09 16:30:29
>>774
Oracleには優秀な教材が揃っているので是非教育を受けてください。
#つーか、個人なら検索し捲くれ、法人なら金を惜しむな。
776デフォルトの名無しさん:04/11/09 16:32:53
>>772
1.リソースビューからそのダイアログを開く
2.ダイアログの外枠を選択してプロパティを開く
3.フォントの設定を確認する

or

必要なDLL等が実行環境にコピーされているか確認する
777デフォルトの名無しさん:04/11/09 16:37:51
フォントは
Font(size) MS Shell Dlg(8)
UseSystemFont True
になってます。
必要DLLってなんだろ・・・
DLLが無かったら起動できない気もしますが。
778773:04/11/09 16:42:27
>777
MFCのランタイムには日本語対応のものとそうでないものとがあったはず。
後者でも動くが文字化けする。
779デフォルトの名無しさん:04/11/09 16:58:11
780デフォルトの名無しさん:04/11/09 17:04:26
>>779
そこのoo4oの記事は古いような…
まぁいいか。
781デフォルトの名無しさん:04/11/09 17:23:36
実はユニコードという落ちでは
782デフォルトの名無しさん:04/11/09 18:08:59
VC6.0、MFCで開発を行っております。
レジストリでIMEをローマ字入力からかな入力に
書き換えたのですが有効になってくれません。
マシンを再起動すれば有効になります。
再起動しなくてもレジストリを有効にする
いい方法はありませんでしょうか?
783デフォルトの名無しさん:04/11/09 18:21:38
>>782
>VC6.0、MFCで開発を行っております。
何の関係があるんだw
というよりスレ違い言うかなんでレジストリを弄る必要があるんだ?w
784デフォルトの名無しさん:04/11/09 18:23:59
>>782
レジストリは有効なんだろ
プログラムが読みに行ってないだけ
IMEが必用もないのにレジストリ読んでたら遅すぎて使い物にならんだろ
785デフォルトの名無しさん:04/11/09 18:35:26
>>783
>>784
VC始めて1ヶ月なので馬鹿な事いってたらすみません。
最初はImmSetConversionStatus関数でIME設定を行おうと
していたのですが、IME2000では不可能らしいのです。
ttp://forums.belution.com/ja/vc/000/170/31.shtml
それでどうしようかと悩んでいたのですが、レジストリに
IMEを設定する個所がありました。
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Ime\Japan\IMEJP\MSIME
(上記レジストリはWin2000Proの自分の環境です)
ここを変更するとIMEが変更されるのですが、有効に
するには再起動が必要になりました。
それでマシンを再起動しなくてもレジストリを
有効にする手段はないかと思い質問した次第です。
長文すみません。よくわかってないので馬鹿な質問で
気分を害されたのであれば重ねておわびします。
786sage:04/11/09 19:14:43
ImmSetConversionStatusはIME2000で使える。
コードは猫でもを見てくれ。
787デフォルトの名無しさん:04/11/09 19:24:33
IMEで設定したいのはひらがなや全角カタカナなどの
入力モードではなく、IMEプロパティの以下の項目なのです。
●IMEプロパティ→全般→キー/ローマ字/色設定→キー設定・色設定
 MS-IME97⇔MS-IME2000⇔ATOK⇔VJE⇔WX
●IMEプロパティ→全般→入力設定→ローマ字入力/かな入力
 ローマ字入力⇔かな入力
●IMEプロパティ→辞書/学習→学習
 なし⇔最適⇔過剰
上記項目もImmSetConversionStatus関数から
設定できるのでしょうか?
788デフォルトの名無しさん:04/11/09 19:49:41
自分で碌に調べもしないで質問する辺り、先ほどの謝罪も誠意のない逃げ口上に見えるな。
789デフォルトの名無しさん:04/11/09 20:09:34
OnInitialUpdate()で
this->GetClientRect(&pRect);

int cright = pRect.right;
int cbottom = pRect.bottom;

pWnd.Create(_T("STATIC"), "Hello", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL,
CRect(cright / 4, 0, cright, cbottom), this, 1234);
として、OnSize()で
   CView::OnSize(nType, cx, cy);
// Resize list to fill the whole view.
pWnd.MoveWindow (cx / 4, 0, cx, cy);
としているのですが、スクロールバーつきのpWndが
親ウインドウのサイズをかえてもサイズがかわりません。
他にもOnSizeをOnDrawにかえてみたりしてみたのですが、だめでした。
どうしたらいいでしょうか?
790デフォルトの名無しさん:04/11/10 12:53:55
スクロールバーなんですが、

sitileh.cbSize = sizeof(SCROLLINFO);
sitileh.fMask = SIF_POS | SIF_RANGE | SIF_PAGE | SIF_DISABLENOSCROLL;
sitileh.nMin = 0;
sitileh.nMax = 27;
sitileh.nPage = 16;
sitileh.nPos = 0;
SetScrollInfo(hTEWnd, SB_HORZ, &sitileh, TRUE);

このようにセットして使ってるのですが、つまみの大きさと移動が
nMax - nPageとなってしまっているようなのです。
更にスクロールが終了してるように見えて更に下方にnMax分進めてしまえます。
普通にnMax分のスクロール量で、nPage飛ばせるようにしたいのですがどこかで記述を間違えているのでしょうか?
原因が分かる方いたら教えてください。
791デフォルトの名無しさん:04/11/10 13:17:58
全部で27行で1ページに16行表示できるから
あと11行分スクロールできる。
792デフォルトの名無しさん:04/11/10 13:41:07
>>791
なるほど、1ページの表示行数ってことだったんですか。
単なるスキップ量だと思ってました。

スクロールが終わる位置に来てもスクロールしてたのは後の判定でnMaxだけでやっていたため、
一番下にスクロールした後もカウントしてしまったようです。
判定部分もnMax-nPageと直した後は正常に動きました。
どうもありがとうございました。
793しん:04/11/11 14:33:39
しんと申します。
VisualC++6.0を使っているのですが
エクセルみたいなコントロールの仕方を教えてください。
794デフォルトの名無しさん:04/11/11 14:48:08
>>793がコントロール不能になりますた
795しん:04/11/11 14:50:54
ごめんなさい。
エクセルみたいなセルがたくさんあるコントロールを貼り付けたいのです。
エディットコントロールをたくさん貼り付けるとめんどくさいです。
796デフォルトの名無しさん:04/11/11 14:58:37
>>795
コンポーネント一覧にFlexGridがあるはずだからそれでもはっつけてください。
いっそ、Excelコンポーネントをはっつけてもいいかもしれません。
797デフォルトの名無しさん:04/11/11 21:24:43
CEdit::Createを使用し、エディットコントロール作成しようと思うのですが
どこのセクションのソースに記述するばいいのでしょうか?
798797:04/11/11 21:57:24
VC++6を使ってます。
MFCのダイアログスタイルでまず画面作成し、
ソースでCEdit::Createでコントロールを作成したいのです。
左側(ソースツリー)にクラスやソースなどたくさんありますが
初期時にコントロールを作成するファイルはどれにあたるのでしょうか?
799デフォルトの名無しさん:04/11/11 22:32:59
>>798
<プロジェクト名>Dlg.{cpp,h}
800質問です:04/11/11 23:04:19
すいません、質問です。
計算した結果がvisualC++だど、exeで出力されるんですが、それを ○○.dat ファイルにしてPCに保存するにはどうすればよいでしょうか? 
801エスパー:04/11/11 23:08:43
>>800
hoge.exe>○○.dat
802800:04/11/11 23:10:10
レスありがとうございます。
それはwindows上でmuleの環境を作らないといけないということでしょうか?
803デフォルトの名無しさん:04/11/11 23:10:56
ん?exeで出力?
804デフォルトの名無しさん:04/11/11 23:11:01
>>800
[プロジェクト]-[設定]-[リンク]-[出力名]
805804:04/11/11 23:12:13
ん?計算した結果?
806804:04/11/11 23:14:32
>>802
リダイレクトはWIN標準でおっけー。
だが、貴方の知りたい答えかどうかは極めて怪しい。
807800:04/11/11 23:18:48
できました
ありがとうございます。

でも文字化けしてるんですが、何かいいファイル拡張子はないでしょうか?
windows2000です
808804:04/11/11 23:21:44
コンパイラの出力は、テキストエディタでは読めないことが多いです。
申し訳ないですが、掲示板での説明でわかってもらえる自信がありません。
誰か身近な人に聞いてみる事をおすすめします。
809デフォルトの名無しさん:04/11/11 23:22:28
c言語で関数を作っておいて、
コマンドボタンを押したらその関数を実行
こんな感じのことはできますよね?

cのコードをVCでデバッグってどうやったらできるんでしょうか?
コマンドラインからコンパイルはできるのですが、
デバッグの仕方が分からなくて困っています。
検索用語だけでもいいので教えていただけませんか?
810804:04/11/11 23:25:46
デバッガは激しく環境依存ですが、「コマンドボタン」ということは、winですか?
ならば、http://www.google.co.jp/search?hl=ja&q=vc+%E3%83%87%E3%83%90%E3%83%83%E3%82%AC&lr=
811デフォルトの名無しさん:04/11/11 23:25:53
>>808
そうですか、丁寧なレスありがとうございました。
助かります。
812デフォルトの名無しさん:04/11/11 23:28:49
MDIの子ウインドウ(FormView)の***View.cppのOnInitialUpdate()で

TCHAR ChildName[] = TEXT("WavView");

WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = AfxWndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = ChildName;

if (!RegisterClass(&wndclass))
{
MessageBox(NULL, TEXT("This Program reauires Windows NT!"),
MB_ICONERROR);
}

pWnd.Create(ChildName, "Hello", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL,
CRect(cright / 3, 0, cright, cbottom), this, 1234);
pWnd.ShowWindow(SW_SHOW);
としているのですが、フォームヴューの中に新しいウインドウが描写されません。
どこがまちがっているのでしょうか?
813デフォルトの名無しさん:04/11/12 00:19:54
>812
レス来ませんね。申し訳ないけど、私も試してみる気になれないです。
MSDSでWNDCLASSとRegisterClass()を調べれば(もう一回じっくり読めば)
解決する問題だからスルーされてるのだと思います。
814デフォルトの名無しさん:04/11/12 02:12:53
> MSDS
( ´д)ヒソ(´д`)ヒソ(д` )
815デフォルトの名無しさん:04/11/12 05:01:28
http://haiiro.info/up2/file/2360.jpg

リソースエディタ使ってタブコントロールを作ってみたんですが、
良く見るタブコントロールとなんか違うのができちゃって、なんか変です。
スタイルとか色々いじってみたんですが、うまくできなかったので、どう直したらいいか教えて下さい
816デフォルトの名無しさん:04/11/12 09:03:08
>>815
・よくそんなきもい配色で使えるな。
・キャプチャ画像を縮小したら見せたいものも見えないだろうが、ボケ。
・TabCtrlのプロパティで境界線か何かに余計なチェック入れただろ。判らなきゃ一度消して作り直せ。
817デフォルトの名無しさん:04/11/12 09:46:51
818デフォルトの名無しさん:04/11/12 14:24:05
Windowsはなぜキモイ配色が出来るようになっているのだろう?
世の中には色を正確に把握出来ない人もいる。そういう人たちには
色の違いでボタンの状態を示したり、テキストを強調したりしても
色の違いは認識出来ないので意味が無いことになる。そこで
マイクロソフト社はWindowsロゴを搭載するソフトウェア製品は、
キモイ配色が可能であることが必須にしており、また、これを
満たしていないものはWindowsロゴを取得することが出来ない。
そして色の変更だけで情報の変更を伝えるのではなく、それ以外の情報、
例えば、テキストならフォントの大きさを変えるなど、も併用して
色の認識を正確に出来ない人たちにもきちんと伝わるようにすることを
推奨しているのである。
819デフォルトの名無しさん:04/11/12 14:43:44
>>818
で?
820デフォルトの名無しさん:04/11/12 15:00:15
ITEM name;
このときのITEMってなんですか?
821デフォルトの名無しさん:04/11/12 15:00:54
型名
822デフォルトの名無しさん:04/11/12 15:08:34
820です。
>>821さんありがとうございます。
int や char とはどう違うんですか?
823デフォルトの名無しさん:04/11/12 15:19:56
>>822=820
マルチすなや。

ITEMという名前の型がどこかで定義されているはずだからマニュアルでもなんでも好きなもん検索しろ。
VisualStudio使っているなら簡単に定義が見つかるはずだ。
824デフォルトの名無しさん:04/11/12 15:27:36
つまり、816=819は人間としての配慮が欠如しているということ
825デフォルトの名無しさん:04/11/12 16:29:37
は?
826デフォルトの名無しさん:04/11/12 18:55:20
%dと%fはどう違うのですか?
827デフォルトの名無しさん:04/11/12 19:06:47
10進法と小数点だよ。
828デフォルトの名無しさん:04/11/12 19:08:18
>>826
%dはint型(整数)。10進数での入出力。
%fはprintf系ではdouble型、scanf系ではfloat型(共に浮動小数点数)。
829デフォルトの名無しさん:04/11/12 19:12:37
>>826
Cの勉強してんの?

【初心者歓迎】C/C++室 Ver.11【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1099190154/l50
C言語なら俺に聞け! Part 94
http://pc5.2ch.net/test/read.cgi/tech/1099212476/l50
暇な人がエレガントにC/C++の宿題片づけます 33代目
http://pc5.2ch.net/test/read.cgi/tech/1097932699/l50
C統合・質問スレッド
http://pc5.2ch.net/test/read.cgi/tech/1068359871/l50
C/C++ 超超初心者
http://pc5.2ch.net/test/read.cgi/tech/1099922209/l50
C++相談室 part37
http://pc5.2ch.net/test/read.cgi/tech/1098543578/l50
C言語教室
http://pc5.2ch.net/test/read.cgi/tech/1099552998/l50
C言語なら俺俺に聞け! Part 87
http://pc5.2ch.net/test/read.cgi/tech/1090652323/l50
830デフォルトの名無しさん:04/11/12 19:17:23
>>827
ありがとうございます。

>>828
なるほど、よくわかりました。

>>829
はい、そうです。大学で勉強してます。
まだ始めたばかりでよく分からないんです・・・

スレ違いでしたか。すいません。
831デフォルトの名無しさん:04/11/12 21:05:22
大学でVisual C++使うのか・・・
うちの学科じゃLinux+gccだよ
しかも使いこなせてない。
832デフォルトの名無しさん:04/11/12 21:25:28
>>823
ウルセー死ねや。テメェは消えてろ。ノータリンが。
833デフォルトの名無しさん:04/11/12 21:26:41
>>832
何起こってんの?
834デフォルトの名無しさん:04/11/12 22:08:34
VCは、そこそこの値段でまずまず速いからね。
理化学系で速度が要求される場合はVC多いんじゃないかな。
835デフォルトの名無しさん:04/11/13 00:10:52
まずまず?

なんだそりゃ。
836デフォルトの名無しさん:04/11/13 00:14:10
>>834
FORTRANより速いの?
837デフォルトの名無しさん:04/11/13 00:19:27
Vitamin C++
838デフォルトの名無しさん:04/11/13 00:21:21
>>836
どの分野で?
使い方如何で違う。
839デフォルトの名無しさん:04/11/13 00:45:46
>>838
いや、理学系の話なんでしょ?
840デフォルトの名無しさん:04/11/13 01:17:26
すいません。
つい最近VC++.NETを使い始めた者ですが、ビルドの際に

c:\VC++.NET\Chapter1\HelloWorld\HelloWorld.cpp(9): fatal error C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。

蒸気のようなメッセージが出てコンパイルが通りません。なんともインすと^るしなおして衣類ので環境のもんぢとも思えないのですがどのような原因が考えられるでしょうか?
ご教授ください よろしくお願いいたします。
841840:04/11/13 01:18:12
ソースは以下のとおりです

#include<iostram>
using namespace std;

int maint()
{
cout << "HelloWoeld" <<endl;
return0;
}
842デフォルトの名無しさん:04/11/13 01:18:43
>>840
お前の書いた文から判断すると
誤字脱字だな
843デフォルトの名無しさん:04/11/13 01:21:18
>>841
#include "stdafx.h"
844デフォルトの名無しさん:04/11/13 01:23:13
#include<iostream>      ←訂正いたしましたが結果は変わりませんでした
using namespace std;

int maint()
{
cout << "HelloWoeld!" <<endl;
return 0;             ←左辺も訂正 
}
845デフォルトの名無しさん:04/11/13 01:28:53
#include<iostream>
#include "stdafx.h"

using namespace std;

int maint()
{
cout << "HelloWoeld!" <<endl;
return 0;
}

指摘していただいたとおりに上記の用にコードを区j見直すと
"stld" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp
"cout" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp
"endl" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp

上記のようなエラーメッセージが出てきました 多少進展したと考えてよいのでしょうか
上起3点の指摘についてもアドバイスいただけたりと思えます
846デフォルトの名無しさん:04/11/13 01:29:21
maint ?
847デフォルトの名無しさん:04/11/13 01:33:17
#include<iostream>
#include "stdafx.h"

using namespace std;

int main()
{
cout << "HelloWorld!" <<endl;
return 0;
}

mainに変更いたしましたが結果は何も変わりませんでした。
848デフォルトの名無しさん:04/11/13 01:34:27
846さんの環境ではこのコードで通りますでしょうか
その点についても教えていただけたらと思います。
849840:04/11/13 01:44:16
関数が通らないということは何らかのincludeが足りないのでしょうか。
ご教授いただけら太思います。
850デフォルトの名無しさん:04/11/13 02:28:12
>>845
> "stld" このの名前をもつ名前空間は存在しません c:\VC++.NET.Chapter\HelloWorld\HelloWorld.cpp
stld?
851デフォルトの名無しさん:04/11/13 05:18:53
#include "stdafx.h"
#include <iostream>
852デフォルトの名無しさん:04/11/13 05:58:02
>>847
お前向いてないからあきらめろ
話にならん
853デフォルトの名無しさん:04/11/13 10:09:48
>>852
黙れ。ぶっ殺すぞ。
854デフォルトの名無しさん:04/11/13 10:13:26
>>853
なんだと
855デフォルトの名無しさん:04/11/13 10:14:02
HelloWorld!すら作れないなんて初心者にもなれないよ
856デフォルトの名無しさん:04/11/13 10:21:29
最低限のC++の基礎ぐらいは知らないとVisualC++は無理
857デフォルトの名無しさん:04/11/13 11:07:45
>>847 Cの入門書の本買って1から勉強した方がいいよ。
858デフォルトの名無しさん:04/11/13 11:18:11
>>813
ありがとうございます。
MSDNで調べて、AfxRegisterWndClassをつかうとうまくいきました。
859デフォルトの名無しさん:04/11/13 14:04:03
エディットコントロールを利用して、スロットマシーンを作ったんですが
数字が、1発で表示されてします。ドラムが回ってるような、感じに1 5 6 4 2 6っとドラムが回ってるような
感じのパチンコの中央のスロットみたいなのを予定してるんですが

for ( i = 1; i < 10; j++) {
乱数処理(rand)
その乱数を表示(SetDlgItemInt)
}
こういう処理を書いたんですが、回ってるように見えないんですが、どうしたらいいですか?
860デフォルトの名無しさん:04/11/13 14:08:43
for ( i = 1; i < 最大値; i++) {
i を表示(SetDlgItemInt)
}
乱数処理(rand)
for ( i = 1; i < その乱数; i++) {
iを表示(SetDlgItemInt)
}
あと、ループ内にSleepとかを置いてスピードを調整させた方がいいと思う。
861デフォルトの名無しさん:04/11/13 14:12:46
dosのプログラムじゃないんだからさ
イベントが発生するまで更新されないよ
862デフォルトの名無しさん:04/11/13 14:24:09
>>861
黙ってろ馬鹿。
863デフォルトの名無しさん:04/11/13 14:46:23
>>860
馬鹿ですか?
864デフォルトの名無しさん:04/11/13 15:11:36
そいう自前のループで表示までやりたかったら
描画も自分でやらなきゃダメ
865デフォルトの名無しさん:04/11/13 15:22:42
でもループの中で描画すると、ループ回してる間は他の操作受け付けなくなるな
866デフォルトの名無しさん:04/11/13 15:28:47
>>865
プログラミング言語SCHEME エンジンによるマルチタスキング
を参照。
自分でマルチスレッド実装すれば?
867デフォルトの名無しさん:04/11/13 15:37:22
>>866
あくまでループの中でできるか念のため確認してみただけ。
普通はそんなことやらない。
868デフォルトの名無しさん:04/11/13 22:43:28
数字を切り替えただけじゃ「回転」にならないだろ?
1ピクセルごとにスクロールさせろや
869デフォルトの名無しさん:04/11/14 00:06:12
嫌です
870デフォルトの名無しさん:04/11/14 00:38:29
>>868

お前には聞いてないしwwwwwww

消えろやwwwwwwwwwwww


871デフォルトの名無しさん:04/11/14 00:55:26
Shell_NotifyIconのバルーンチップにURLリンクとか画像とか表示することはできますか?

VC6です。
872デフォルトの名無しさん:04/11/14 09:09:55
Visual C++ で、Windows API入門に書いてあることを勉強しています。
勉強をする上で困っています。ご助力お願いします。

根本的なのですが、Windows Message? でしたっけ
WM_LBUTTONUPとか、WM_QUITとかの一覧がある場所は、
MSDNライブラリ、あるいは、Visual Studioのどこなのでしょう?

1週間調べたのですが、いまだに一覧がどこにあるのかわかりません。

マウスイベントを捕らえたいのですが、メッセージの名前を知らないので、
どのようなメッセージがあるのか、知りたいのです。
873デフォルトの名無しさん:04/11/14 10:17:47
c言語で作ったコードをvisual c++で流用することは可能でしょうか?
たとえば

int heikin(int a, int b)
{
   return (a+b)/2;
}

こんな関数の引数をテキストボックスa,bからもらって
ラベルcに数値として表示する
↑こんな感じのことをcのコードをそのまま使ってしたいのです。
874デフォルトの名無しさん:04/11/14 10:17:54
>>872
簡単にみつかるけど
どこ探したの?
ぜひ知りたい
875デフォルトの名無しさん:04/11/14 10:28:09
>>872
VC5/6系で言えばClassWizardとか関数追加するダイアログの中で
適切なメッセージのリストが出るし、簡易説明も付いてくるんだけど
そういうのとは違うのかな?
876デフォルトの名無しさん:04/11/14 10:54:17
>>873
できる。
877デフォルトの名無しさん:04/11/14 10:55:55
>>873
できない
878デフォルトの名無しさん:04/11/14 10:59:26
ヽ(`Д´)ノ
879デフォルトの名無しさん:04/11/14 11:00:42
金出せば買えるだろうけど豚に真珠、猫に小判だな
880デフォルトの名無しさん:04/11/14 12:15:53
>>873
>使ってしたいのです。
出来るな。
881873:04/11/14 12:16:01
>>873ですが、MSDNでの検索ワードを教えていただけませんか?
882873:04/11/14 12:17:06
↑cのコードをそのまま使ってこんな感じのことをしたいのです。
883デフォルトの名無しさん:04/11/14 12:18:26
>>881
WM_LBUTTONUP
884デフォルトの名無しさん:04/11/14 12:28:49
>>872
WM_LBUTTONUP
まぎらわしいな
885デフォルトの名無しさん:04/11/14 12:31:05
>>873
わかるまでCかC++の入門書でも読んでろ
886872:04/11/14 12:40:22
で・・・、検索ワードは教えてくれないんですか?
887デフォルトの名無しさん:04/11/14 12:43:55
>>872
>>886
WM_LBUTTONUP
888872:04/11/14 12:45:26
http://search.microsoft.com/search/results.aspx?st=b&qu=WM+LBUTTONUP&view=ja-jp

日本語じゃだめとか・・・・なんでしょうか??
889デフォルトの名無しさん:04/11/14 12:48:28
>>WM LBUTTONUP

WM_LBUTTONUP
アンダースコアが抜けている
890デフォルトの名無しさん:04/11/14 12:53:35
891デフォルトの名無しさん:04/11/14 12:55:47
MSDN Home > MSDN Library > Win32 and COM Development > User Interface > Windows User Interface > User Input > Mouse Input
892872:04/11/14 12:59:12
http://search.microsoft.com/search/results.aspx?view=ja-jp&st=b&na=82&qu=WM_LBUTTONUP
ここが入り口でいいんでしょうか。

しかし、いっぱいでてくるのですが、リンクをめぐっていても、私には
メッセージに対する全体的な説明と、WM_LBUTTONUPに関するエラー、
WM_LBUTTONUPに関連したクラスの説明などしか、見つけることが出来なくて、
困っています。(それを読むので1週間かかってしまいました)
893872:04/11/14 13:00:47
お礼が遅くなりましたが、
みなさま、お答えいただいて、ありがとうございます。
894872:04/11/14 13:13:35
891さん ありがとうございます。
891さんにご指摘いただいた場所は、ツリー表示で
MSDN Home > MSDN Library > Win32 and COM Development > User Interface >
Windows User Experience > Windows Management > Windows User Interface >
User Input > Mouse Input

にて、確認できました。 また、英語版でしたら、単純に調べることが出来るようですね。
日本語版しか調べていなかったのは浅はかでした。

これからは、本家のMSDNライブラリで調べるようにします。ありがとうございました。
895デフォルトの名無しさん:04/11/14 13:22:45
>>894
出来ない
896872:04/11/14 13:25:46
>>875
「クラスビュー」「関数の追加」 のキーワードありがとうございました。  
賢くなりました。
(私は C++/MFCではなく、C/W32API の方式で書いていたようです)

連続投稿しすぎで申し訳ありません。これで消えます。
897デフォルトの名無しさん:04/11/14 13:49:08
卒業おめでとう
898デフォルトの名無しさん:04/11/14 13:51:47
>>872が何から卒業したのか答えよ
899871:04/11/14 14:00:20
871ですが、Shell_NotifyIconのバルーンチップではテキスト以外は無理でしょうか?
900873:04/11/14 14:29:28
このスレのみんな|||||||||||||||||||||||873||||||||||||||||||||||||||||このスレのみんな

破ることのできない厚い壁がある。
901デフォルトの名無しさん:04/11/14 15:22:03
>>899
出来ない
902デフォルトの名無しさん:04/11/14 16:28:21
Xp+VC6で,Cのプログラムをデバックしています。
ある時から次のようなメッセージが出てDOS窓が閉じてしまいます。
なにがおこっているのでしょうか?
*** ここから ***
'ntdll.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
'D:\WINDOWS\system32\kernel32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
スレッド 0xC08 終了、終了コード 18 (0x12)。
プログラム hoge.exe' はコード 18 (0x12) で終了しました。
903デフォルトの名無しさん:04/11/14 16:35:51
>>902
DOSはスレ違い
904デフォルトの名無しさん:04/11/14 16:39:48
>>903
なんでやねん。

>>902
情報不足。
DOS窓が閉じなかった頃と閉じるようになってからで何が変わってるか調べてみ。
905デフォルトの名無しさん:04/11/14 16:52:26
>1 :デフォルトの名無しさん :04/10/16 07:44:25
>Visual C++入門者・初心者からの質問を、
>お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

>>904
Windowsのプログラムを作ろうとしてなくても
Visual C++使い始めたら入門者・初心者なのか?
906デフォルトの名無しさん:04/11/14 16:57:01
Visual C++でもコンソールアプリは作れるようになっているから
Windowsのプログラムを作ろうとしてなくても
Visual C++使い始めたら入門者・初心者で良いのでは?
907デフォルトの名無しさん:04/11/14 17:08:25
だれか >>873 の相手してやれよ
908デフォルトの名無しさん:04/11/14 17:11:14
Visual C++で作ったコンソールアプリは
DOSモード(≠DOS窓)で起動したときには動きません。
909デフォルトの名無しさん:04/11/14 17:11:21
>>906
そういうのはC/C++のスレの方がにぎわってるから、
コンソールアプリ初心者ならそっちの方がいいだろう。
ここに来ても期待はずれだと思う。
910デフォルトの名無しさん:04/11/14 17:14:31
>>908
32ビットのコンパイラはみんなそう。
Visual C++に限ったことじゃない
911デフォルトの名無しさん:04/11/14 17:19:12
>>902
DOS窓で動かしたいだけなんでしょ?
912デフォルトの名無しさん:04/11/14 17:20:10
913902:04/11/14 17:36:15
C言語の勉強で開発環境として、VC6を使っています。

main.c(){
printf("Hello\n");
}
をmain.cの名前で作成しそれをVC6で開き、コンパイル実行していました。
上手くいってたときは、
"Please Any key"
みたいなメッセージが出て、何かキーを押すとDOS窓が閉じていました。
それがあるときから、さっき書いたメッセージが出力されていきなり閉じるんです。
914デフォルトの名無しさん:04/11/14 17:41:38
>>913
それってデバッグモードとリリースモードの動作の違いのことを言ってるだけじゃん
915デフォルトの名無しさん:04/11/14 17:43:45
>>913
Ctrl+F5かな?
916デフォルトの名無しさん:04/11/14 17:48:39
>>914
いや全然違うから。
917デフォルトの名無しさん:04/11/14 17:50:49
コード全部晒せ
918902,913:04/11/14 17:51:20
>>915
そうです。黒い画面のことです。
てっきり、DOS窓だと思っていたんですが。
919デフォルトの名無しさん:04/11/14 18:11:44
>>902
すべて正常です
920デフォルトの名無しさん:04/11/14 18:52:37
動きは正常

きみのエラーは

> 'ntdll.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
> 'D:\WINDOWS\system32\kernel32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
> スレッド 0xC08 終了、終了コード 18 (0x12)。
> プログラム hoge.exe' はコード 18 (0x12) で終了しました。

なんだから、プログラム中にバグがあるだけ。
921873:04/11/14 20:26:21
>>912さん
どうやったらできるんでしょうか?
MSDNの検索ワードを教えてください。
922デフォルトの名無しさん:04/11/14 20:34:44
>>921
出来ない
923873:04/11/14 20:48:26
。・゚・(ノД`)ヽどっちを信じたらいいのかわからないよ
924デフォルトの名無しさん:04/11/14 20:54:45
どっちも信じるな
925デフォルトの名無しさん:04/11/14 20:55:56
どっちも信じろ
926デフォルトの名無しさん:04/11/14 20:59:02
>>923
そんなので悩むやついないし
927デフォルトの名無しさん:04/11/14 21:01:05
>>873
質問が曖昧だから、できるともできないともいえる。
何がしたいのかをもっとちゃんと説明できない限り、このまま玩具扱いだよ。
928デフォルトの名無しさん:04/11/14 21:13:08
あんまいじめるな。w
heikinの引数a,bは整数型になっているが、これはテキストボックスから
取得した文字列を整数に直したものと見なして良いのか?
No->煎ってよし
Yes->ラベルcにセットする値はreturnの戻り値なんだな?
No->市ね
Yes->ラベルと言っているからにはVC++.NETでマネージドなんだな?
Yes->.NETの質問スレに行け
No->回答
char buf[20];
itoa(heikin(a,b),buf,10);
static->SetWindowText((LPCTSTR)buf);
のような感じ
929873:04/11/14 21:20:18
>>928
thx!
出来ますた。m(_ _)m
930873:04/11/14 22:19:51
>>929さん私のドッペルゲンガーですか?

質問したかったことは>>928さんが上三行でおっしゃっていることであってます。

>>928さんのレスを見た感じでは
テキストボックスに入力された値を配列ssに渡す方法もありそうなので、

txbx_aに数字を入力->vcのなんらかの関数を使ってtxbx_aのasciiを配列ss_aに渡す
->num_a=atoi(ss);
Cコードで書いた色々な処理・・・

こんな風にすればCのコードをそのまま使えそうですね。

ありがとうございました。
これで心置きなくCの関数を作ることができます。
931デフォルトの名無しさん:04/11/14 22:26:36
まあコンパイラは通るだろうから後はその関数までの道程をどうするかだよ。
932デフォルトの名無しさん:04/11/14 22:30:15
>>930
テキストボックスと直接整数をやり取りするGet/SetDlgItemIntもよろしく。
933デフォルトの名無しさん:04/11/14 23:30:08
>>930
出来ない
934デフォルトの名無しさん:04/11/15 09:21:21
質問させてください。VC++.netの_rotl、_rotl64、_rotr_rotr64のヘルプを見たのですが

/* ROT.C: This program shifts values
* to rotate an integer.
*/

#include <stdlib.h>
#include <stdio.h>

void main( void )
{
unsigned val = 0x0fd93;
__int64 val2 = 0x0101010101010101;

printf( "0x%4.4x rotated left three times is 0x%4.4x\n",
val, _rotl( val, 3 ) );
printf( "0x%4.4x rotated right four times is 0x%4.4x\n",
val, _rotr( val, 4 ) );

printf( "%I64x rotated left three times is %I64x\n",
val2, _rotl64( val2, 3 ) );
printf( "%I64x rotated right four times is %I64x\n",
val2, _rotr64( val2, 4 ) );
}

出力
0xfd93 rotated left three times is 0x7ec98
0xfd93 rotated right four times is 0x30000fd9
101010101010101 rotated left three times is 808080808080808
101010101010101 rotated right four times is 1010101010101010

935934:04/11/15 09:26:30
こう書いています。
なんとかわからないながらも必死こいて
0xfd93 rotated left three times is 0x7ec98
は理解しました。
0xfd93が二進数で
1111110110010011 これに3回0を継ぎ足すと
1111110110010011000 で 16進数で0x7ec98になります。
ですが
0xfd93 rotated right four times is 0x30000fd9
について全然理解できません。
0x30000fd9 は 2進数で
110000000000000000111111011001
ですが、何処をどうしたらこんな2進数になるのかがわかりません。
どなたか教えていただけないでしょうか。よろしくお願いします。
936デフォルトの名無しさん:04/11/15 09:34:40
>>935
shiftじゃなく、rotateだから
右へあふれた桁(キャリー)が左から現れる。
110000000000000000111111011001
        ↓
111000000000000000011111101100
        ↓
011100000000000000001111110110
937デフォルトの名無しさん:04/11/15 09:38:43
そのうち shift のときの alithmetic と logical の違いも質問されそう
938デフォルトの名無しさん:04/11/15 09:42:30
変なやつがいるな
アセンブラのスレにでも消えろよ
939964:04/11/15 11:40:47
>>936
レスありがとうございます。
0xfd93 rotated right four times is 0x30000fd9
についてですがローテートライトだと
0xfd93 = 1111110110010011
これが
00001111110110010011
こうなるのではないかと考えたのです。
unsigned int型が0〜4294967295
ですから桁あふれしているようにもみえませんし・・

0xfd93 = 1111110110010011
を4ビットローテートして何故
0x30000fd9 = 110000000000000000111111011001
こんな桁外れというかわけわかんない2進数になるんでしょうか?

936さんがレスしてくださっている意味がわかんなくてもう一度細かく書いてみました。
・・何かとてつもなくバカな事かいてるような気が。
940デフォルトの名無しさん:04/11/15 11:47:52
>>939
何か勘違いしてない?
確かに初期状態が32bitで
11111101100100110000000000000000
なら、RRで
00001111110110010011000000000000

になるけど、32bitで0xfd93は
00000000000000001111110110010011
だから、RRで
00110000000000000000111111011001
になるってだけの話
941964:04/11/15 11:56:00
>>940
あ!そう言うことか。やっとわかりました。ありがとうございます。
942デフォルトの名無しさん:04/11/15 12:20:45
頭に _ がついてる関数は環境依存で非推奨だろ。
使い方も知らない初心者が無理に使う必用ない。
943デフォルトの名無しさん:04/11/15 12:35:07
もはや手段が目的
944デフォルトの名無しさん:04/11/15 13:08:26
>>942

指図すんな蛸。
945デフォルトの名無しさん:04/11/15 13:24:36
>>942
何で非推奨なんだよ。バーカ。
946デフォルトの名無しさん:04/11/15 13:35:17
子供電話相談室ですよー
わかったかな
はい次のお友達どうぞ
947デフォルトの名無しさん:04/11/15 13:38:26
大人にはくだらない質問でも優しく答えてあげてね。
948デフォルトの名無しさん:04/11/15 17:34:05
すみません、子供ってどうやってうまれてくるの?
おしえてください
949デフォルトの名無しさん:04/11/15 18:03:43
31歳の日記が更新ですよ
http://psyclone.m78.com/diary/new.html

フジの謝罪マダー?(・∀・ )っ/凵⌒☆チンチン

950デフォルトの名無しさん:04/11/15 18:25:20
>>948
コウノトリが卵を運んでくるんだよー にゃんにゃん

教えて上げたので受講料**万円、いますぐ払い込んでください。
951デフォルトの名無しさん:04/11/15 20:11:47
>>950
異物プレイ?
952デフォルトの名無しさん:04/11/16 10:58:05
vc++.netにて入門書を片手に先ずは簡単なDOSプログラムなんかを
作って動かしているのですがデータ型でどうしても躓いてしまいます。

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << "開始 ユーザー名を入力してください。\n";

char name[30];
int eax = 0,ecx = 0;
cin >> name;
for(int i = 0;name[i] != '\n';i++){
ecx = name[i] ^ 0x3dcb7c5b;
ecx = ecx + 0x6fd76ef5;
ecx = _lrotl(ecx,7);
eax = eax + ecx;
}
int pushEax = eax;
const char *seed = "S1AC4QM5EGOU8IKZRG6WXPD7NT9BV2HJ";
//char result;
for(i = 0;eax > 0;i++){
eax = eax + 0x0f;
char result = *(seed+eax);
*result++;
}
cout << "終り\n";

return 0;
}
953デフォルトの名無しさん:04/11/16 10:58:41
よくもわからず、こんなものを書いたりするのですがコンパイルエラーで起こられてしまいます。
違うデータ型への変換というかキャストというんでしょうか、それがうまく理解できていないようです。
具体的には数字型を文字列型に代入したりその逆をしようとしたりするときにコンパイルエラーがでます。
他の人の全然違うプログラムのソースなんかを見ると型変換を意識することなく書かれていたりするのですが
インクルードするライブラリを変えるとうまくいったりするのでしょうか?
4をみて猫でもわかるプログラミングを見たのですが違うデータ型への変換のことがうまくわかりません。
perlを少しかじった事があるのですが変な勘違いや癖がついてしまっているのでしょうか・・
どなたか助言頂ければ幸いです。
954デフォルトの名無しさん:04/11/16 11:33:53
どっから突っ込みいれたもんか。
955デフォルトの名無しさん:04/11/16 11:55:04
またこいつか
頭おかしいからほっとけよ
956デフォルトの名無しさん:04/11/16 12:10:09
いつもバグに困っていた会社に勤めている仲間がやって来ました。
以前、そこのプログラムを見たとき、「えっ、これがC!」というようなリストだったので、

「こんなもの、さっさと捨てれば、問題は解決するよ」

と忠告してあげたのですが、その親切な忠告を無視して、汚いCをいじり回していました。
当然、バグに悩まされ続けていたようでした。
957デフォルトの名無しさん:04/11/16 12:21:12
よくもわからず、こんなものを書いたりするのですがコンパイルエラーで起こられてしまいます。
違うデータ型への変換というかキャストというんでしょうか、それがうまく理解できていないようです。
具体的には数字型を文字列型に代入したりその逆をしようとしたりするときにコンパイルエラーがでます。
他の人の全然違うプログラムのソースなんかを見ると型変換を意識することなく書かれていたりするのですが
インクルードするライブラリを変えるとうまくいったりするのでしょうか?
4をみて猫でもわかるプログラミングを見たのですが違うデータ型への変換のことがうまくわかりません。
perlを少しかじった事があるのですが変な勘違いや癖がついてしまっているのでしょうか・・
どなたか助言頂ければ幸いです。
958デフォルトの名無しさん:04/11/16 12:35:31
当然のことですが、C言語のプログラムを書く以上、
C言語の作法から極度に逸脱してしまうと、
世のCプログラマから一切相手にされなくなります。
「村八分」になってしまいます。
自分の作ったプログラムは永久に自分しか見ないような場合には、
どんなコーディングをしようと勝手ですが、
仕事で作るプログラムでは、そんな身勝手は許されません。
959953:04/11/16 13:21:50
みなさんレスありがとうござます。
これからは改めてさせて頂き、出直してきます。
960デフォルトの名無しさん:04/11/16 13:30:50
なんで初心者質問スレを必死に荒らすんだ?
言語習得に挫折した恨みとか?
961953:04/11/16 13:56:52
>>960
私のことでしょうか?申し訳ありません。荒らすつもりは無かったのですが心得違いをしていてようです。
今後このようなことのない様に気をつけます。
962デフォルトの名無しさん:04/11/16 14:04:21
>>961
早くどっか逝けよ
963デフォルトの名無しさん:04/11/16 14:09:17
>>961
このスレに張り付いて一々レス監視しなくていいから基礎から勉強しなおしてこいや。
「よくもわからず」書くんじゃなくて、理解してから書くようにすればこんな頓珍漢なことしないだろ。
964デフォルトの名無しさん:04/11/16 14:17:50
>>952
インラインアセンブラにしちまえ。
965telnes:04/11/16 15:49:05
VC++6.0でWinsockを使ったソケット通信プログラム(クライアント/サーバ両方)を作成しようとしています。
TCPサーバの作成パターンをいくつか考えたのでどれが安定して動作しそうかなど意見を下さい。


▼条件と環境
・作成したTCPサーバ、TCPクライアントは24時間あげっぱなし
・TCPクライアントとコネクション確立しっぱなし
・接続、切断はボタンをダイアログに実装して行うかコマンドプロンプトから入力してできるようにする。
・非同期通信に対応する(selectかWSAAsyncSelectを使用する)
・実装形式は自由(COM、EXE、DLLなんでもOK)
・MFCを使用しなくてはならない
・Winsock2.0
・OSはWindows XP

▼選んでください
(1) TCPサーバをMFC AppWizardで作成する(起動はEXEダブクリ、インターフェースはダイアログ)
(2) TCPサーバをConsole Applicationで作成する(起動はEXEダブクリ、インターフェースもコマンドライン)
(3) TCPサーバをATLプロジェクトで作成する(サービスとして動作、OS起動時に自動実行)
(4) それ以外(作り方を教えてください)
966953:04/11/16 15:54:02
>>962-963

黙れや糞が。殺すぞ。
967デフォルトの名無しさん:04/11/16 15:54:47
>・MFCを使用しなくてはならない

じゃあ(1)しかないだろ。
968デフォルトの名無しさん:04/11/16 15:57:22
>>965

テメェ馬鹿か。すべて他人にやってもらおうとスンナ糞が。

テメェで考えろボケ。そして二度とここにクンな。

テメェのドタマには脳みそがないんか?オッ?ワレ!
969telnes:04/11/16 15:58:27
>>967
すみません間違いました。
MFCは使用しなくてOKです。

▼条件と環境
・MFCを使用しなくてもいい
970デフォルトの名無しさん:04/11/16 16:04:58
じゃあ好きなの選んで。安定とかおまえの腕次第だから。
971デフォルトの名無しさん:04/11/16 16:07:26
972telnes:04/11/16 16:11:08
ID無いのをいいことに勝手に人の名前語って
マルチ捏造するなよ
973デフォルトの名無しさん:04/11/16 16:14:14
>>972
だったら余計なコテハン名乗るなよ。
名乗るくらいならトリップつけろや。

で、お勧めは自分の馴れてる方法で開発。兎に角デバッグを済ませてしまうこと。
それから改めてモデルを決めても基本部分は無駄にはならないだろうから。
974デフォルトの名無しさん:04/11/16 17:06:15
Visual C++ NETでWinsock使ってみたいのだが
参照の追加でWS2_32.dllを追加しようとしても
エラーが発生しましたとかいって、できない。
dllが違うのでしょうか?ちなみにXPです。
975デフォルトの名無しさん:04/11/16 17:07:28
うそーん。そんな事無いと思う出。
976974:04/11/16 17:11:48
今試しにVC++6.0 でやってみたら、
ビルド時にこんなこと言われました。

リンク中...
LINK : fatal error LNK1104: ファイル "ws2_32.dll" を開けません。
link.exe の実行エラー

なんかおかしいみたいです
977974:04/11/16 17:31:53
ws2_32.dllのバージョンが古いのかも。
5.1.2600.0

でもどうやったら新しくできるのか・・
978デフォルトの名無しさん:04/11/16 17:33:30
>>966
予告キタ──────────────
タイ────────────────ホ
979デフォルトの名無しさん:04/11/16 17:33:37
ws2_32.libじゃ。

980974:04/11/16 17:40:57
こっちかー。libで追加できました。。。ありがとうございました。

でもビルドすると相変わらずLNK1120 外部参照未解決が出てまう・・
981デフォルトの名無しさん:04/11/16 17:56:20
ライブラリ使ったことないのか?
ちゃんとヘッダをインクルードせれ。
982デフォルトの名無しさん:04/11/16 18:19:23
Visual C++6.0MFCで開発を行っています。
エディットボックスでドラッグ&ドロップをしたいと思い
エディットボックスをサブクラス化しました。
ttp://www.ne.jp/asahi/hishidama/home/tech/vcpp/subclsi.html
上記方法でうまくいきましたが、エディットボックスを
メンバ変数として割り当てた場合、SubclassDlgItemの時に
Debug Assertion Feiledエラーが発生してしまいました。
メンバ変数として割り当てているコントロールではサブクラス化
はできないのでしょうか?
983デフォルトの名無しさん:04/11/16 19:09:41
その例だったらm_MyEditをダイアログのメンバ変数として使ってる。

// TODO: 特別な初期化を行う時はこの場所に追加してください。
m_MyEdit.SubclassDlgItem(IDC_MY_EDIT,this);//この行を追加
984デフォルトの名無しさん:04/11/16 23:19:54
Visual C++6.0で席の予約システムみたいなのを作っています。
プログラムを勉強し始めて7日目です。

ダイアログベースで作って、Staticをクリックすると氏名を入力する
ウインドを呼び出し、それに氏名を入力してOKを押すとStaticに氏名
が入るというものです。

DDX変数を使うのかな?というのは判るのですがそのデータの受け渡し
GetとかSetとか?どう書けばいいのでしょうか?
985デフォルトの名無しさん:04/11/16 23:26:38
>>984
UpdateData
986デフォルトの名無しさん
>>985
トンクス
やってみます。明日。