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

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

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

1 :デフォルトの名無しさん:02/09/03 01:49
どーぞー

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1023530449/l50


2 :デフォルトの名無しさん:02/09/03 01:53
>>1
乙。
この板ではここだけが心の支えです。

3 :to:02/09/03 02:08
ここの板はとてもためになるからいいですね。。

質問ですが、、、
IEベースのブラウザってどういうことなんでしょう?
COMとかATLを使ってIEと同じような機能を持っているってことですか?


4 :デフォルトの名無しさん:02/09/03 02:25
>>3
COMにあったはず。

5 :素人:02/09/03 02:26
>>3
IEのコンポーネントで作ってるブラウザってことじゃない?

6 :デフォルトの名無しさん:02/09/03 03:02
1 :タコ :02/06/08 19:00
タコの者です。
VC 6を買いました。
使い方を詳しく教えてください。

当方、N88BASIC, perl, バッチファイル, シェルスクリプト
sed, awk程度はわかります。
本格的なプログラム経験はありません。

大至急わかりやすく、ていねいに教えてください。

わたしは、2chがどれだけ俺の役に立つか試しています。
いってみれば、おまえらが試されているというわけです。
俺を満足させるような、名スレッドになるよう
おまえら一同がんばれや。


7 :to:02/09/03 03:20
>>4
>>5
サンクス!

8 :デフォルトの名無しさん:02/09/03 03:31
010get。

9 :デフォルトの名無しさん:02/09/03 05:25
マクロ展開後のソースをみたいのですが、
どうしたらいいでしょうか?

10 :デフォルトの名無しさん:02/09/03 06:05
>>9
オプションに/Eで標準出力に、/Pでファイルに書き出される。
例:cl /E preproc.c

11 :デフォルトの名無しさん:02/09/03 15:31
現在、Win2000でアプリ作ってて、ログの書き出しを行おうとしているのですが、
コントロールパネル>管理ツール>イベントビューア
の中に起動とかエラーのログを書き出したいんです。(ノートン安置ウィルスとかの起動ログとかが書き出されている場所です)
どうやれば書き出せるんでしょう?
マジでどこにも載ってないから鬱だ・・・情報キボン

12 :デフォルトの名無しさん:02/09/03 15:44
いいプロジェクト名が思い浮かびません。半角英数で
なるべく少ない次数でなにか良い案を下さい。

【キーワード】
整備/メンテナンス/帳票/印刷/出力


13 :12:02/09/03 15:45
○字数
×次数


14 :デフォルトの名無しさん:02/09/03 15:57
>>12
そんな一般的なキーワードばかりじゃなあ。

system とか project で良いんじゃねーの?(w



15 :デフォルトの名無しさん:02/09/03 16:03
>>11
やり方載ってる本あるよ。

16 :デフォルトの名無しさん:02/09/03 17:47
>>12
projectSTIS



わかるだろうけど、「プロジェクト、整備、帳票、印刷、出力」 の 略


17 :デフォルトの名無しさん:02/09/03 17:57
>>16
メンテナンスが抜けてるぞ

projectSMTIS だな

18 :デフォルトの名無しさん:02/09/03 18:01
HTmlViewで再描画された時にスクロールバーの位置を一番下に設定するにはどうすればいいですか?

19 :18:02/09/03 18:10
スクロールバーじゃないです
スクロールバーの「つまみ」
あのつまみを一番下に設定したいのですが

20 :12:02/09/03 18:38
>>14 >>16 >>17
ども、ありがとう。

MRPSにしました。
ご承知の通り「MaintenanceReportPrintSystem」の略。
さてと、やるか。


21 ::02/09/03 18:42
よろしくお願いします。
あるパスのファイルがオープンされているかを判別する方法
はどのように処理すれば良いのでしょうか?
切羽詰ってます。お願いします。m(_ _)m


22 :今田純:02/09/03 18:44
テキストファイルから読んだ数字をatofなんかで値にして計算し、
その後、また文字にしてテキストファイルに出力したいです。
値→文字 の 演算子を教えてください

23 :デフォルトの名無しさん:02/09/03 18:51
>>22
strtodとかじゃだめなの?

24 :今打順:02/09/03 18:54
>>23
演算子だっていってんだろうがボケ。

25 :デフォルトの名無しさん:02/09/03 18:55
>>22
sprintf

26 :25:02/09/03 18:56
ファイルに書き出すのならfprintfの方がいいな。

27 :デフォルトの名無しさん:02/09/03 19:09
>>10
助かりました。

28 :デフォルトの名無しさん:02/09/04 01:19
>>11
ReportEvent


29 :今田純:02/09/04 08:07
ありがとうございますー。

30 :デフォルトの名無しさん:02/09/04 11:46
CとかC++を少々かじっただけで、VC++6.0をこれから始めようっていう完全初心者なんですけど、
そんな人のための書籍とかって何が良いですか?(サイトでもいいです)
教えてください。お願いします。

31 :デフォルトの名無しさん:02/09/04 13:35
>>30
俺が読んだ本では
翔泳社の「プログラミング学習シリーズ」が良かった
ただ俺の場合はCしか知らなくてGUIプログラミングの知識もまったく無かったから
このシリーズを選んだだけでC++理解してるなら無用の長物かな、3部構成だから読むの大変だし高い

32 :デフォルトの名無しさん:02/09/04 16:40
>21
http://www.sysinternals.com/ntw2k/source/filemon.shtml

33 :今田純:02/09/04 18:22
void CMyDlg::OnButton1()
{
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
int i;
int j;

i=5;
j=10;

printf("&i..%p\n",&i);

}
ってやったあと、アドレスはどこに見えるんでしょうか?
教えてください。おながいします

34 :デフォルトの名無しさん:02/09/04 18:24
printf("&i..%p\n",&i);

TRACE("&i..%p\n",&i);
としてデバッグ実行するとVCの下部ウィンドウに表示されます。


35 :デフォルトの名無しさん:02/09/04 18:26
答えになってないぞ

36 :デフォルトの名無しさん:02/09/04 18:29
>>35
printfを使った答えが見てみたいものだが。

37 :デフォルトの名無しさん:02/09/04 18:30
>>36
だからそれを聞いてるんだろ?

38 :デフォルトの名無しさん:02/09/04 18:31
使えねぇから代わりの方法を提示してんだろがよ

39 :デフォルトの名無しさん:02/09/04 18:35
まあリダイレクトすれば見れるが素直に>>34に従え。

40 :デフォルトの名無しさん:02/09/04 18:36
>>33=35=37=教えてもらってるのに逆ギレ=厨房=逝ってよしなわけだが。

41 :35:02/09/04 19:06
>>38
なら、最初に「使えねぇ」ってことを書いてから代案を出せや。
いきなり別の方法を出されたら、「printf はどうなった?」って思うだろうが。

っと。


42 :デフォルトの名無しさん:02/09/04 19:19
みんななかよくけんかあげ

43 :デフォルトの名無しさん:02/09/04 19:20
じゃあ>>35
「printf はどうなった?」と書けよ。

っと。

44 :デフォルトの名無しさん:02/09/04 20:17
>>33=35=37=41

しね!

45 :今田純:02/09/04 21:16
33以降は僕じゃないです。
答えていただいてありがとう。
トリップつけようと思うんですが、どうやるのでしょう?

46 :今田同定:02/09/04 21:21
再起関数がわかりません。
本を読んでもわからないんです。
だれかわかりやすく教えてください。

47 :デフォルトの名無しさん:02/09/04 21:32
>>47

48 :今田純:02/09/04 21:43
>46
道程じゃないですよ。ごめんなさいね。
あと、わからないと言われても、
何がわからないのかわからないので説明できないですよ、多分。
ソースを読んで、ここがわからないと言ったほうが早いですよ、多分。

49 :デフォルトの名無しさん:02/09/04 21:47
>46 再起関数
なにを起すのか、漏れのはもう起きないが・・・

50 :デフォルトの名無しさん:02/09/04 21:50
>>48 47を見れ

51 :デフォルトの名無しさん:02/09/05 00:02
Cでパチスロのゲームを作りたいと思ってます。
今頭の中で出来かけてるフローチャートは、

1.ランダムで数字を選ぶ
2.選出された数にそれぞれ、対応役を割り当てる。(多分岐型で、10ならベル、11リプレイ、など)

ここまではいいんですが、画像とどう連動させれば全然わかりません。
やっぱり参考書を相当読まないと、ゲーム作りは難しいですか?



52 :ちょーしょしんしゃ:02/09/05 00:07
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
if(!SW1.CreateStatic(this,2,1))
return FALSE;
if(!SW2.CreateStatic(&SW1,1,2,WS_CHILD|WS_VISIBLE|WS_BORDER,SW1.IdFromRowCol(0,0)))
return FALSE;


if(!SW2.CreateView(0,0,RUNTIME_CLASS(CRFView),CSize(300,140),pContext))
return FALSE;
if(!SW2.CreateView(0,1,RUNTIME_CLASS(CHologramView),CSize(300,140),pContext))
return FALSE;
if(!SW1.CreateView(1,0,RUNTIME_CLASS(COutputView),CSize(600,140),pContext))
return FALSE;

return TRUE;
}

うまく表示されません。高さが0になっちゃいます。

53 :デフォルトの名無しさん:02/09/05 00:10
>>51
とりあえずTextOutでも使ってろ。それで出来なきゃ一生出来ん。

54 :デフォルトの名無しさん:02/09/05 00:21
>>53
TextOutって何ですか?

55 ::02/09/05 00:37
>54
TextOutがわからんくらいならなんにも
画像どころじゃないよ。
ヘルプで見てみたら?

56 :デフォルトの名無しさん:02/09/05 00:39
ああそうか、ここは初心者に教えるスレなのか(;´Д`)じゃあ仕方ないから教えてやる。
TextOutはWin32のAPI関数だ。Cでって書いてあるから勝手にWin32 APIで
やってるんだと仮定して>>53でそう書いたが、つまりそれぞれ分岐の中で
TextOut(hDC, x,y, "ベル", 4);とかやれば?と書いたつもり。

57 :今田純:02/09/05 01:34
m=sprintf(buf,(const char*)k);
とかで数kを文字列にしようとしたんですが、コンパイラにダメと
いわれました。doubleの数を文字列にしたいんですが。
教えてくださいな。

58 :デフォルトの名無しさん:02/09/05 01:41
>>56
すいません。
API関数ってなんですか?

59 :デフォルトの名無しさん:02/09/05 01:58
>>58
A あたま
P ぽくぽく
I 一休さん

60 :今田純:02/09/05 01:58
Apprication Programming Interface

VC++

MFC

API
DLL
って漏れの教科書に書いてあるぞ

61 :デフォルトの名無しさん:02/09/05 02:06
>>57
m = sprintf(buf, "%f", k);

62 :今田純:02/09/05 02:12
>>61
あなたは神

63 :今田純:02/09/05 16:12
「ハンドルされていない例外は○○にあります」
「OUTPUT.Cのパスを入力してください」
って出るんですが、これはどうしたらいいのでしょう?
教えてください。

64 : :02/09/05 16:36
SDIのview画面の背景色を変えるとき、OnEraseBkgnd 使いますが、
SDIでCFormViewを選択した場合、OnEraseBkgnd が出てきません。
どうやって変えるのでしょうか。



65 :デフォルトの名無しさん:02/09/05 16:41
>>64
試さずに勘で答えるけどOnCtlColorなんてどうかな

66 : :02/09/05 16:44
Microsoft Visual Studio .NETって
Windows XPのようなProduct Activationはあるの?

67 :デフォルトの名無しさん:02/09/05 16:56
>>66
かなりスレ違いだと思うけどアカデミック版にはあったような

68 : :02/09/05 17:01
>>67
ありがとうございます。
しかしなぜアカデミック版だけ。。。

69 : :02/09/05 17:07
アクティベーションは全製品にあるんじゃあないのか?
http://www.zdnet.co.jp/news/0101/15/e_whistler.html

70 :デフォルトの名無しさん:02/09/05 17:19
>>69
なんでわざわざそんな古い記事を。
http://www.microsoft.com/japan/msdn/vstudio/productinfo/featureview.asp
の表の下の方の「ライセンス認証」の項目がアクチベーション。

71 :69:02/09/05 17:35
なんや!アカデミック版以外にはないんかい。

72 :初心者K:02/09/05 17:53
ちょっとおせえて。
VC++で作ったアプリから、別のアプリを起動して、その上で殺したい。
起動したアプリのプロセスハンドルっちゅうもんは、_spawnl関数で
起動させることで取ることができた。でも、他のプロセスを殺すっていう
関数が見つかんない。。。。。。殺すにしても、プロセスハンドルじゃなくて、
プロセスIDじゃないとダメだと思うんだけど。。。。

知ってる人、教えてください。

73 :デフォルトの名無しさん:02/09/05 18:02
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_terminateprocess.htm

74 :初心者K:02/09/05 18:20
73番さん、ありがとうございます。
spawnlで取ったハンドルを渡すと、殺すことができました。感謝!!

75 :デフォルトの名無しさん:02/09/06 12:18
マジでイベントログへの書き込みが分からないんですが、
具体的に何をすればいいのかサルでも分かる程度に教えてもらえませんか?
ReportEvent とかで調べてもあまりヒットしない・・・
あとメッセージリソースって必須ですか?作り方が分からないのですが。

76 :デフォルトの名無しさん:02/09/06 12:28
libファイルって、どうやって作るのでしょうか?
VC6です。

libについてですが、
・hとcppに分かれていれば、cppをlibに変換(コンパイル?)できる。
・cppをlibにすると、人に渡すときでもソースを見られる心配がない。
この認識はあってますか?


77 :デフォルトの名無しさん:02/09/06 13:10
>>76
きちんとヘッダーファイルは渡せよ。

78 :デフォルトの名無しさん:02/09/06 13:11
.libと.objってどう違うんですか?

79 :デフォルトの名無しさん:02/09/06 13:49
>>75
http://www.google.com/search?num=50&lr=lang_ja&q=RegisterEventSource%20ReportEvent%20イベントログ

80 :デフォルトの名無しさん:02/09/06 15:44
実行型ファイルのアイコンへ,ファイルをドラッグ&ドロップした時の
処理の実装方法がわかりません.
どのように書けば良いのでしょうか?

81 ::02/09/06 15:54
>80
コマンドラインをMessageBoxで表示させる
コード書いたことくらいあるでしょ?
それを書いたexeに適当なファイルをドラッグドロップすると
第一引数にドラッグしたファイルのパスが格納されて
exeが起動されるのがわかる。
あとは。。
もう大丈夫?

82 :80:02/09/06 16:06
>>81
わかりました.
御教授ありがとうございます.

83 :デフォルトの名無しさん:02/09/07 20:14
EditBoxを有効、無効にするにはどうしたらいいですか

84 :デフォルトの名無しさん:02/09/07 20:46
>>83
有効 EnableWindow( TRUE );
無効 EnableWindow( FALSE );


85 :デフォルトの名無しさん:02/09/07 21:17
>>84
ありがとうございます
やってみます

86 :デフォルトの名無しさん:02/09/08 03:02
>>84
できました。
・・・
・・・
・・・遅っ!!

87 :デフォルトの名無しさん:02/09/08 23:07
質問です
つい先日VisualC++6.0 Standard Editionってやつを買ったんです。
中にはブ厚い説明書とか入ってましたが、どういう事が書かれてるのか何が何やら
さっぱり解りませんでした。
PCや他のプログラム言語もサッパリ解らない為、厨房丸出しで申し訳無いのですが
何か本を買うにしても高価ですし、何書いてるか理解出来なかっらどうしようもありません。
結果、ソフトがあるだけで何をすれば良いかわかりません。
俺みたいなアフォでも理解出来そうな本かページ教えて下さいませ。

88 :デフォルトの名無しさん:02/09/08 23:22
>>87
本じゃないけど、猫でも分かるプログラミングと言うサイトに行ってみな!

89 :デフォルトの名無しさん:02/09/08 23:28
>>87
VC++スーパービギナー編

90 :デフォルトの名無しさん:02/09/08 23:46
>>89
それはビギナー過ぎて使えんだろ。

91 :デフォルトの名無しさん:02/09/08 23:47
>>90
何していいかわからんぐらいだぞ、これで充分だろ。

92 :87:02/09/09 00:00
どもです
VC++スーパービギナー編ですか。明日にでも本屋で探してみますね。
ビギナー過ぎて使えないって言われてる辺りが
初心者以前の素人にはとても頼もしく聞こえてしまうのが情けないです(´∀`;)

猫でも分かるプログラミングは見てみましたが、本を読んでから再度行ってみようと思います。

93 :今田純:02/09/09 06:48
行列 2 3 4
[3 4 5]
4 5 6
について、ガウス消去したいのですが、
for (l=0;l<4;l++){
for (i=l+1;i<4;i++){
for (k=l;k<4;k++)
a[i][k]=a[i][k]-a[i][k]*a[i][l]/a[l][l];
とすると、a[1][1]などが、1.NFD0000とかの値になりまする。
a[0][0],a[0][1],a[0][2],a[0][3]は正常な値が表示されるのになぜ?
m(__)mおしえてください。

94 :デフォルトの名無しさん:02/09/09 07:47
>>87
VC++初心者に非常にお勧めの本
プログラミング実習VC++入門編
小林健一郎著
ソフトバンク
2600円

95 :デフォルトの名無しさん:02/09/09 13:22
いきなりVCの本を薦める人間じゃないだろ?
VCの入門本読んでもわかったような気がするだけで少しも応用がきかないよ
遠回りに思えるかもしれないけどC++(わからなければCから)の勉強からはじめた方がいいよ


96 :デフォルトの名無しさん:02/09/09 13:32
>>87
Visual C++は言語じゃないよ
C++でWindowsアプリを組むための開発環境だよ

97 :デフォルトの名無しさん:02/09/09 13:33
VC++の本ってやっぱりMFCの紹介がメイン?

98 :デフォルトの名無しさん:02/09/09 13:45
>>97
ほとんどそうだよね
まあMFC使ってこそのVCだからね
でも中にはSDKの解説から入ってるVC本もあるよ

99 :to:02/09/09 19:49
MFCのSDIで作ったアプリでウィンドウを画像に変更したいのですが、どうすればいいのでしょうか?
「猫でも分かるプログラミング」でSDKでのやり方は書いているのですが、、、
http://www.kumei.ne.jp/c_lang/sdk2/sdk_125.htm

どなたかわかる方がおられたらよろしくお願いします。

100 :デフォルトの名無しさん:02/09/09 21:23
SDKでWinのアーキテクチャー理解した人って、
その後もAPI叩くの?
腐っても楽なMFC?自作ライブラリ構築?

101 :デフォルトの名無しさん:02/09/09 22:54
>>100
俺は基本だけ理解してさっさとMFCへ進んだよ
ていうか読んだ本がそういう構成だったので必然的にそうなった
SDKも面白そうではあるんだけど暇と根気がないとなかなか・・・

102 :デフォルトの名無しさん:02/09/09 23:51
MFCでできなくてSDKで出来ることって例えばどんなことですか

103 :デフォルトの名無しさん:02/09/09 23:58
>>102
細かい制御。
MFCはあくまでもSDKをベースに作られているだけであって特別なものではない。
がんばればMFCでできることはすべてSDKで作れる。普通はやらんが。

104 :デフォルトの名無しさん:02/09/10 00:02
VC++6を使っています。

例えば nakka氏のページから
ttp://www.nakka.com/lib/mhook/mhook000.lzh をダウンロードして、
mhook.cとmhook.defをプロジェクトに入れてWin32 Releaseでビルドすると、
私の環境ではmhook.dllが49,152Byteになってしまいます。
しかし、上記圧縮ファイルに同梱してあるmhook.dllは16,896Byteなのです。
どうすれば、容量の小さいファイルがビルドできるのでしょうか?

105 :デフォルトの名無しさん:02/09/10 00:03
生産効率を無視すれば分かりやすいのはSDKだと思うんだけどね

106 :デフォルトの名無しさん:02/09/10 00:06
>>104
最適化しろ。
MFCを共有しろ。

107 :デフォルトの名無しさん:02/09/10 00:08
>>105
っつーか、MFCってそんなに生産性いいの?
それなら俺もMFC使ってみようかな。今まで食わず嫌いだったけど。

108 :デフォルトの名無しさん:02/09/10 00:24
> がんばればMFCでできることはすべてSDKで作れる。普通はやらんが。

俺はMFCはよく知らんし、今さら覚えるのも面倒だからSDK。
これが普通だと思うが。

109 :デフォルトの名無しさん:02/09/10 00:27
SDKだとウィンドウ出すの大変なんだもそ

110 :デフォルトの名無しさん:02/09/10 00:31
最初だけな

111 :デフォルトの名無しさん:02/09/10 00:32
>>107
と、思って漏れも本を買って勉強してみた。本が糞だった。
標準講座 MFC6.0という本だ。

糞な点はいろいろあるが、やっぱりプログラムソースで
1とlの区別が付かないフォントを使っちゃマズいだろー

MFCが生産性良いかどうかは判別つきかねるが、Win32API
直叩きよりは、簡単にプログラムができる。

112 :デフォルトの名無しさん:02/09/10 00:53
おそらくSDKって言ってるのはWin32API直叩きのこと言ってるんだと思うけど
フォント列挙などはWin32APIを使わざるを得ない。
そんなに意識はしていないかもしれないけど使う場面てあるもんだよ。

113 :デフォルトの名無しさん:02/09/10 01:01
>>106
>>104ではないがそのソースMFC使ってないから。

114 :デフォルトの名無しさん:02/09/10 01:21
>>104
ソースは見てないが _DllMainCRTStartup でも使っとけ。

115 :デフォルトの名無しさん:02/09/10 01:39
>>104
file alignment size の問題だろう。
/link /opt:nowin98 オプションを付けとけ。

116 :デフォルトの名無しさん:02/09/10 01:39
>>104
VC++6sp5 + SDK 2002July でビルドしてみたけど 16384byte だったよ。
最適化とか /opt:nowin98 とか関係なく 16384。

117 :デフォルトの名無しさん:02/09/10 01:57
>>116
104ではありませんが、
SDK 2002Julyってのは、Win32 SDKを後からアップデート
できるってことでしょうか? 漏れのVC++5.0に入れても大丈夫?

118 :デフォルトの名無しさん:02/09/10 02:07
>116
\mhook000\src>cl /LD mhook.c /link /opt:nowin98 /nodefaultlib /entry:D
llMain /subsystem:windows user32.lib /def:mhook.def

02/09/10 02:06 3,072 mhook.dll

119 :デフォルトの名無しさん:02/09/10 02:12
>>118
116はそんなこと聞いてないと思うが?

120 :116:02/09/10 02:25
>>117 VC5でも大丈夫...かな?
>>118 スマソ。/opt:nowin98 やったら 2560byte でした。
というか>>104は、コンパイラのせいということで。

121 :104:02/09/10 07:11
おはようございます。104です。

118さんの方法でやったら、3,072byte のdllができたので驚きました。
この方法について詳しく調べるには、どこへ逝けば良いでしょうか?

116さんのように 16,384byte になる場合は、
VC++6 の設定をどのようにしているのでしょう?
私はデフォルトのままなので、それが原因でしょうか?

122 :デフォルトの名無しさん:02/09/10 07:26
> この方法について詳しく調べるには、どこへ逝けば良いでしょうか?
114で書いてるだろ。まずはそれを調べろ。または /entryオプション。

123 :276:02/09/10 08:05
COMとかATLってそもそも何よ?

124 :デフォルトの名無しさん:02/09/10 08:09
>>121 16,384byte になる場合は、
だーかーら、/link /opt:nowin98 だっつーの。

125 :デフォルトの名無しさん:02/09/10 13:54
>>124
関係ないよ
opt:nowin98が無くても4kb alignmentにそろえられるだけ

126 :デフォルトの名無しさん:02/09/10 15:50
>>125
はぁ?
/opt:nowin98 を付けたら 4KB alignment が 512bytes になるだろうが。
mhook000.lzh の mhook.dll を dumpbin とかで確認してみろ。

127 :デフォルトの名無しさん:02/09/17 07:55
仮想キーコードの値(VK_BACKなら08とか)から
BACKSPACE等の文字列に変換したいのです。
MapVirtualKey()とGetKeyNameText()を使えばできそうな気がするのですが、
使い方が良くわからないです。
どうすれば良いですか?

128 :127:02/09/20 22:25
早く教えろ!ゴルァ!!

129 :デフォルトの名無しさん:02/09/20 23:22
>>127
Cの知識とAPIのリファレンスがあれば
使い方がわからんはずはないと思うが。

自分ではどんなコードを書いてみたんだ?

130 :九十九:02/09/21 02:03
大変初歩的な質問で申し訳ないのですが、
Serialize関数を使ってファイルに保存するときに
WriteString関数を使って文字列を書き込むと
文字列と文字列の間にテキスト形式の改行の入れ方がわからないのですが
どうすれば良いのでしょうか?

131 :デフォルトの名無しさん:02/09/21 02:21
>>130
よくわからんけどドキュメントクラスのSerialize()で
 ar.WriteString("test") ;
みたいなことをしてるの?
ためしに
 ar << strTest ;  // strTestはCStringのオブジェクト
にしてみたら

132 :九十九:02/09/21 02:51
質問がわかりづらかったみたいですね。ごめんなさい。
たとえばテキストファイルに




と表示させるときに
CString A,B;
A="A";
B="B";
WriteString(A);
WriteString(B);
とすると

AB

となってしまうので、テキストファイルで表示させても
ちゃんと改行されているようにしたいのですが。
(以前C++をかじったときには\nを書き込めば
改行されてたのに、VC++ではそうはならないので困ってます。)

133 :デフォルトの名無しさん:02/09/21 03:07
>>132
WriteString()はCArchive::WriteString(),CInternetFile::WriteString(),
CStdioFile::WriteString()のうちのどれ?

134 :検索のキー:02/09/21 03:36
だれか一つの単語を次々に検索するキーボードショートカットを教えて暮れ.
色々調べても解らず,いちいち Ctrl+F,Alt+F やってます.(泣)

135 ::02/09/21 09:22
>134
ツールバーの検索欄に入力してF3

136 :検索のキー:02/09/21 23:54
どもっ

137 :デフォルトの名無しさん:02/09/22 00:00
VC++のソース公開してるサイト教えて

138 :デフォルトの名無しさん:02/09/22 00:05
>>137
VC++のソースなのか…

139 :デフォルトの名無しさん:02/09/22 00:13
>>138
違う(w
VC++で作ったプログラムのソース

140 :デフォルトの名無しさん:02/09/22 02:06
VC++スタンダードに何を買って入れればコード最適化を使えるようになるのですか?

141 :140:02/09/22 02:10
あとMFCのスタティックリンクも。

142 :デフォルトの名無しさん:02/09/22 02:10
>>139
CDの中に入ってるだろ

143 :デフォルトの名無しさん:02/09/22 02:11
>>139
MSDNのCDの中にサンプルが転がってるぞ

144 :140:02/09/22 02:13
>>142-143
あなたたち、オイラの質問もおながいします。

145 :デフォルトの名無しさん:02/09/22 02:14
>>140
プロフェッショナルを買えってこった

146 :デフォルトの名無しさん:02/09/22 02:14
>>140
スタンダードは捨てれ

147 :140:02/09/22 02:15
お金がありまへん(ノ_;)

148 :デフォルトの名無しさん:02/09/22 02:16
>>147
じゃあ諦めるしかない。

149 :デフォルトの名無しさん:02/09/22 02:33
Intel C Compiler、とかどうだ?

150 :デフォルトの名無しさん:02/09/22 02:47
たしかにAdd-inだから追加だよな。

151 :九十九:02/09/23 00:01
>>133
レス遅れてすみません。
使ってるのはCArchive::WriteString()です。



152 : :02/09/23 01:13
すんまそん。
VC++ .NET を買ってきて、MFC使ってプログラムしようと思ってるんですが。

VC++ の「クラスビュー」画面で、マウスの右クリックをしても、
「Windows メッセージハンドラの追加」がメニューに出てきません。

昔、VCC++を使ったときは、ここから簡単にコードを自動追加してくれたと
記憶しているのですが。
.NET のやつでは、メニューの「追加」からは「関数の追加」「変数の追加」
しか出てきません。

マウスクリック時の処理とか、ダイアログ出したりするのも、
がりがりコード書かなきゃいけないんでしょうか。

153 :デフォルトの名無しさん:02/09/23 01:17
>>152
VCC++ってのは使ったことはないのでよくわからないのですが、
VC.netでは、プロパティのメッセージから追加しろ

154 : :02/09/23 01:44
>>153
できました!
有難うございます。質問してよかったです。
VCC++ って書いたのはミスタイプです。

もし、なんかいいアプリ作れたら、フリーで配って恩返しします。
感謝。

155 :デフォルトの名無しさん:02/09/23 01:44
>>151
改行は "\r\n"

156 :九十九:02/09/24 01:07
>>155
ありがとうございます。
ちゃんと改行することができました。
くだらない質問でご迷惑おかけします。

157 :デフォルトの名無しさん:02/09/24 02:53
VC6で65536を超える配列は使えますか?
以前VC++2.0 の頃にうまくいかなくて、それ以来試していないのですが


158 :デフォルトの名無しさん:02/09/24 03:08
1つ30KByteとかの構造体配列でも無い限り使えたとおもうが。

159 :デフォルトの名無しさん:02/09/24 03:11
>>157
残念ながら64499次元までしか扱えないようだ。

160 :デフォルトの名無しさん:02/09/24 03:26
>>158
そうでしたか、コンパイルエラーも実行時もエラーにはならないんですが
実際には65535を超えたあたりから値(計算結果)が狂ってくるという現象に
あいまして 

>>159
書き方が悪かったようで申し訳ありません
次元の数ではなく、一次元配列のサイズです

161 :デフォルトの名無しさん:02/09/24 11:57
IE6の機能とかを使うために最新のヘッダファイルを入手するにはどうしたら
よいのでしょうか.。

昔は Internet Client SDKをインストールすればよかったんですが最近VCPPから
離れているんでわかんないです。

162 :デフォルトの名無しさん:02/09/24 12:00
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

163 :デフォルトの名無しさん:02/09/24 12:06
>>160
  int array[ NUM ];
だとスタック上に取られるんだっけ? で、MSDNにスタックのデフォルトサイズ
は1MBとあるから、VC2の頃より大きくなったとはいえ、コンパイラオプション
変えないと、それ以上大きくできない。

でかい配列は、
  int* array = new int[ NUM ];
でヒープにとった方がいいのではないか。

164 :デフォルトの名無しさん:02/09/24 12:41
A a;
void(A::*p)(int) = &A::a;
__asm {
 push 3
 lea ecx, a
 call p
}

クラスのメソッドを呼び出すのに上のようなことをしているのですが、
いちいち p に代入せずにcallする方法ないですか?

165 :デフォルトの名無しさん:02/09/24 12:48
a.*p(3)やったっけ?

166 :デフォルトの名無しさん:02/09/24 15:45
VC++6.0の学割版ってあります?
Professional Editionってのが7,8万円してとても買えないです・・・。

167 :160:02/09/24 15:51
>>163
どうもありがとうございます
そのときは、たしかヒープ上にとったのです

今は私のPCにはVCがインストールされてないので
時間を見つけて再度挑戦してみます。

168 :デフォルトの名無しさん:02/09/24 15:59
http://muvc.net/jsweb/profiles.html

169 :デフォルトの名無しさん:02/09/24 17:12
>>166
あるよ。
VC++6.0のStandard版のアカデミックだと、9800円ぐらいだった。
今ならVisual Studio .NET のアカデミック版が22000円ぐらいで
お買い得な希ガス流。

170 :デフォルトの名無しさん:02/09/24 21:33
マジすか!
どうもです。
休みの日に、大阪日本橋に買いに行きます。

171 :デフォルトの名無しさん:02/09/25 00:26
>>164
.NETなら call A::a で呼べるが、6以前ではおそらく無理。

172 :デフォルトの名無しさん:02/09/25 22:13
Netscape 6のスクロールバーはなんか特殊な物になってますが、
あれはどうやっているんですか?

173 :デフォルトの名無しさん:02/09/26 06:51
独自開発やったっとおもふ。

174 :デフォルトの名無しさん:02/09/26 07:37
>>173
あ、やっぱそうですか。


175 :デフォルトの名無しさん:02/09/26 21:11
Win2000でVC6を使っています。
ソースを保存する際に、まれに止まる、もしくは落ちるのですが、
何故でしょう?
(ガイシュツだったらごめんなさい)

176 :デフォルトの名無しさん:02/09/26 22:25
>>175
気にしちゃいけません。

177 :デフォルトの名無しさん:02/09/26 22:34
>>175
.NETが出たからです。

178 :デフォルトの名無しさん:02/09/26 23:06
VC6+MFCを使っているのですが、Static Link Library(.lib)
を組み込むにはどうしたら良いのですか?

179 :デフォルトの名無しさん:02/09/26 23:09
ウィザードでスタティックリンクを選択

180 :デフォルトの名無しさん:02/09/26 23:10
今時はMFCをスタティックリンクしてくれた方が迷惑だな

181 :デフォルトの名無しさん:02/09/26 23:11
>>179はものすごい勘違いをしてるな


182 :デフォルトの名無しさん:02/09/26 23:40
で、ほんとのところどうなのよ

183 :デフォルトの名無しさん:02/09/26 23:50
>>180
うちのPanasonic Let's NOTEはDLLないってエラー返してくるYO!

184 :デフォルトの名無しさん:02/09/27 00:15
Visual C++ 6.0 を使ってます。
XPインターフェースのソフトを、manifest を使わずに作成することは可能ですか?

185 :デフォルトの名無しさん:02/09/27 00:27
>>175
それって、保存するときっていうか、実行するときの「ビルドしますか?」の
ダイアログが出る前に、5秒ぐらい固まって「はい」を選ぶと落ちるみたいな
感じでない? ウチだと 50回に1回くらい、そうなる。

「はい」を選ばずに「いいえ」か「キャンセル」を押して、IDEが落ちるのを
切りぬけてるよ。

186 :デフォルトの名無しさん:02/09/27 00:33
漏れはXPに変えてからデバッグ実行させるときによく落ちるな。

187 :デフォルトの名無しさん:02/09/27 00:45
そんなにXP駄目なのか・・

188 :デフォルトの名無しさん:02/09/27 01:10
XPってWindows98(SE)よりましですか?

189 :デフォルトの名無しさん:02/09/27 02:00
>>178
#pragma comment(lib,〜)
をソースに追加するか、プロジェクトの設定のリンクタブで設定

190 :デフォルトの名無しさん:02/09/27 09:56
>>189
実際にプログラム使用するときはそれのほかに
#include <〜.h>
とかを使用しないと使えないですか?

191 :デフォルトの名無しさん:02/09/27 13:22
今ReadProcessMemory関数の引数にLPVOID型が必要なのですが
__gc int *をLPVOIDに変換するにはどのようにすればよろしいのでしょうか?

アンマネージなら(LPVOID)キャストでできたのですが
どうかよろしくお願いします

192 :デフォルトの名無しさん:02/09/27 22:20
Win32appli を MFC を使わずに作っているのですが、
strstr や strcpy 関数が、string.h をインクルードしなくても使えてしまいます。
string.h は、必要ないのでしょうか?

193 :デフォルトの名無しさん:02/09/27 22:24
>>191
不可能

194 :デフォルトの名無しさん:02/09/27 22:24
>>192
windows.hがインクルードしてる

195 :192:02/09/27 22:31
>>194
サンクス!
気持ち悪かった謎が解けました!

196 :191:02/09/28 00:50
>>193
どうもありがとうございます。ということはそこの部分だけ
アンマネージで書かなくてはならないということですね。
では.NET FrameworksにはReadProcessMemoryと同じ働きを
するものは提供されているのでしょうか?
System::Diagnosticsを見てみたのですが、どうも同じことが
できるような物が見当たらずどうかよろしくお願いします。

197 :デフォルトの名無しさん:02/09/28 02:43
VC初心者です。

CProgressCtrlを一つ持ったダイアログを作成し、そのダイアログが
プログレスバーを更新しつつ、長い処理を行う(シングルスレッド)
ようにしたいのですが、ダイアログ自身はDoModal()で表示し、
そのダイアログのOnXXX()で長い処理を行うようにすることは可能
でしょうか?

モードレスダイアログとするなら
http://homepage2.nifty.com/DSS/VCPP/MFC/Dialog/dlgappprgbar.htm
これでいけそうなんですが、できればモーダルに統一したいです。

よろしくお願いします。


198 :197:02/09/28 02:44
追加です

OnShowWindow() で自分自身に何かメッセージを投げて、
そのハンドラで長い処理を開始すればいいのかなぁと
妄想したのですがどうでしょうか?


199 :197:02/09/28 03:04
198でできました。
なんかバーの表示位置がちょっと左にズレてるような気がするけど・・・・・・・


200 :デフォルトの名無しさん:02/09/28 03:11
>>196
出来るわけがない。
OSに強く依存しちゃうから、.NET標準で提供されることはほぼ無いと思われ。

201 :デフォルトの名無しさん:02/09/28 11:17
>>200
確かに激しくOS依存ですね。
ReadProcessMemoryでなんとかやってみようと思います。
ありがとうございました。

202 :デフォルトの名無しさん:02/09/28 14:22
catch(Exception* e)
{
MessageBox::Show(e->Message, S"エラー", MessageBoxButtons::OK, MessageBoxIcon::Error);
}
としたら
MessageBoxA識別子がクラス名でも名前空間でもありませんと
でてきてしまうのですが、どこがまずいのでしょうか?

203 :ぼぶ ◆EMrmvKLI :02/09/28 14:22
あg

204 :デフォルトの名無しさん:02/09/29 03:45
要するに、クラス名でも名前空間でもないんだと思われ。


205 :202:02/09/29 09:38
>>204
どうもありがとうございます。
>>204さんの仰るように、どうやらMessageBox関数と誤認識を
しているようです。Application::Runなどは普通に動くのですが、
この場合どうすればMessageBoxクラスということをしっかりと
伝えることができるのでしょうか?

206 :デフォルトの名無しさん:02/09/29 10:46
>>205=202
1. なんとかして winuser.h だけをインクルードしないようにする
2. 202 さんの MessageBox クラスを定義する前に
 #undef MessageBox とする

どちらかというと 2. の方が実用的っすかね。
MessageBox はプリプロセッサで置換されるんで
多分 namespace じゃ思うように解決しないと思うです。
# そもそも,少なくとも vc++ を使うなら WinAPI と被ってしまう
# クラスは作らない方がいいとも思ってみるテストですょ。

207 :デフォルトの名無しさん:02/09/29 11:42
DialogBoxParam で giko ダイアログを作成するとき、
LPARAM として構造体 mona へのポインタを渡し、
giko ダイアログのコールバックの中で、
構造体 mona 自体に手を加えたいと思うのですが、
giko ダイアログのコールバックでは、
LPARAM で受け取ったポインタをどうすれば
コールバック関数内で構造体 mona に手を加えることができるでしょうか?

208 :デフォルトの名無しさん:02/09/29 12:49
そのままキャストすればいいじゃん。

209 :207:02/09/29 13:10
できました。
ありがとうございます。

210 :デフォルトの名無しさん:02/09/29 17:39
ダイアログベースで、ピクチャーボックスに画像を表示したいんですが。

ビットマップ表示関数は以下のような物です。
BitDraw(HDC hDC, int x, int y, unsigned char* BmpImage, LPBITMAPINFO BmpInfo )
引数のHDCはどのように取得してやればいいのでしょうか。
初心者爆発ですみませぬ。

211 :デフォルトの名無しさん:02/09/29 19:44
スクロールバーを右に動かしても
いつまでもTextoutした文字が付いてくるんです。
つまり右の方の文字が見えないんです
どうしたら解決できますか?


212 :デフォルトの名無しさん:02/09/29 19:52
さげてしまった

213 :デフォルトの名無しさん:02/09/29 20:21
>>211
WM_PAINTで調整しろ

214 :デフォルトの名無しさん:02/09/29 20:38
>>213
意外とあっけなく解決しますた。
ありがとうございました

215 :デフォルトの名無しさん:02/09/29 22:14
ホットキーコントロールで、
DeleteやBackSpaceの入力を可能にするにはどうすれば良いでしょうか?

216 :デフォルトの名無しさん:02/09/29 22:15
フルパスからファイルネームのみに変換するにはどうしたらいいですか?

217 :デフォルトの名無しさん:02/09/29 22:24
>>216
PathStripPathを使えば良いんで無いかい?

218 :デフォルトの名無しさん:02/09/29 22:59
>>217
すんげ、すんげー
ありがとうございまs7

219 :デフォルトの名無しさん:02/09/29 23:45
ラジオボタン最初ッからチェック入れるにはどーしたらいいんでしょう?

220 :202=205:02/09/29 23:55
>>206
どうもありがとうございます。
そのMessageBoxクラスは.NET Frameworksの
System.WIndows.Forms.MessageBoxなので
変更できません。
もしかしてプログラムの中のほかの部分で
Win32APIを使っていることが問題なのでしょうか?
どうしても、Win32APIを使わなくてはならない場合は

221 :202=205:02/09/29 23:57
>>219
MFCならCButton::SetCheck(int)でOKだと思う

222 :デフォルトの名無しさん:02/09/30 00:12
すいません。int型の数値を文字として認識するためには
どういった関数を使えば上手くいくでしょうか?

223 :デフォルトの名無しさん:02/09/30 00:17
>>221
がんばってみます

224 :デフォルトの名無しさん:02/09/30 00:27
CButton *bp=(CButton*)GetDlgItem(IDC_RADIO3);
bp->SetCheck(1);
こんな感じでイイノですか?一応出来てるようなんですが・・・

225 ::02/09/30 04:17
>222
int i=10;
char s[256]:
sprintf(s,"int型 i の値は%dです",i);
printf(s);

>224
出来てるならもうなにもいうことはない。

226 :デフォルトの名無しさん:02/09/30 08:44
VisualBasic の timer control を VisualC++ で使いたいんですけど、
VisualC++ の components & controls gallery から選べません。
どうしたら良いか、教えていただけますか?

227 :デフォルトの名無しさん:02/09/30 09:10
>>220
.NET っすか。スレ違いのような気がしてきたけど,よくわかんないや。。。
あちこちのサンプルとかを見ると,
  MessageBox :: Show
じゃなくて
  MessageBox . Show
って書いてますよ? コロン 2 つじゃなくて,ピリオド 1 つ。
あー,でもApplication::Run が動いたってのが気になるっすね。。。

228 ::02/09/30 11:45
>226
えっ、そんなの使えるっけ?w
VBは知らんけど
VCではSetTimer関数使うしかないんじゃない??

229 :デフォルトの名無しさん:02/09/30 12:01
>>227
それはC#とかだろ
名前解決にピリオドを使うと、それはC++では無くなる。

230 :デフォルトの名無しさん:02/09/30 13:17
ダイアログベースアプリにポップアップメニューつけるには
どうしたらよいのでしょう?

231 :デフォルトの名無しさん:02/09/30 13:34
>>230
WM_CONTEXTMENUのメッセージハンドラ作成して、
CMenuやらなんやらでポップアップメニュー作成。

232 :デフォルトの名無しさん:02/09/30 13:35
インクレメント演算子++、デクレメント演算子−−ってただの
+や−(−○)と意味が違うんですか?
今現在学校の講義の実習を受けてるんですが、何が言いたいのかさっぱり
ッス

233 :デフォルトの名無しさん:02/09/30 13:37
講義中に2ちゃんねる見るの禁止!

234 :デフォルトの名無しさん:02/09/30 13:37
講義中だけど、これができるまで講師に放置プレイ食らってるんです。

235 :デフォルトの名無しさん:02/09/30 13:38
>>232-234
ジサクジエンご苦労さん

236 :デフォルトの名無しさん:02/09/30 13:39
んなこたない

237 :デフォルトの名無しさん:02/09/30 13:39
何の講義をしているかによって答えは変わってくるけど、
単純に何をしているのかって事だと
変数の値を変化させるかさせないかだけ。

238 :デフォルトの名無しさん:02/09/30 13:48
今は自分で電卓を作る講義(当然講義名は違いますけど)で
「+=や*=などのCの代入演算子や、インクレメント演算子++
やデクレメント演算子−−を追加せよ。&&と||が左から右の
順に評価されるようにし、Cと同様に評価が早く終了するように
変更せよ」が問題文です。根幹となるプログラムは与えられてます。
でもこの問題の通りにプログラムを追加していったい何の機能が
追加されたのかがわかりません。だからどんな計算をさせれば
どういう答えが出てこなければならないかもわかりません


239 :デフォルトの名無しさん:02/09/30 14:12
i=i+1
i+=1
i++(++i)
は同じ意味です
i++はiを1増加するという意味です
--はその逆です
1増減する時に限定してインクリメント(++)やデクリメント(--)が用意されています

240 :デフォルトの名無しさん:02/09/30 14:21
>は同じ意味です
文脈によって意味が変わるだろ

241 :デフォルトの名無しさん:02/09/30 17:20
ダイアログ上に配置した様々な種類のコントロールの中で、
どこにキーボードフォーカスがあるか調べることってできますか?

242 :デフォルトの名無しさん:02/09/30 17:26
>>241
GetFocus

243 :デフォルトの名無しさん:02/09/30 19:02
>>240
そうだよな
a[i++]=0とa[++i]=0
じゃあ全然意味違うしな。

244 :デフォルトの名無しさん:02/09/30 19:28
>>232
昔コンパイラが賢くなかった頃。
inc dec add sub などアセンブリ命令を明示的に示す必要があった。
i = i+1だとadd命令。
++iだとinc命令。
addよりもincの方がローコストなのでこの表記が推奨されている。

表記が単純。演算子のオーバーロードなどでイテレータを操作するような
機能を享受できる。とかのメリットがある。


245 :デフォルトの名無しさん:02/09/30 21:19
>>244
へぇ〜。
なるほどねぇ。
俺は単にらくだから使ってたけど…

246 :デフォルトの名無しさん:02/09/30 22:21
>>244
おいおい、いくらCがご都合主義の糞言語だからって
その言いがかりは無いだろ。
前置、後置インクリメント/デクリメントは理由があって導入されたんだよ

247 :デフォルトの名無しさん:02/09/30 22:44
基地外が何か言ってるモナ・・・
 ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
ヒソヒソヒソ
  ∧_∧∧_∧ _∧  ヒソヒソヒソ
 ( ´∀(    )∀` )
 ( つ (    つ ⊂ )
( _)(⌒)(⌒)ノ_(_)ノ

248 :デフォルトの名無しさん:02/09/30 23:50
>>246はC言語が出来なくて挫折した厨房と言うのは本当ですか?

249 :デフォルトの名無しさん:02/10/01 00:29
そんな会話他行ってやってくれよ

250 :227:02/10/01 01:19
>>229
うん,それは分かってるんだけど
202=205=220 さんが System.WIndows.Forms.MessageBox とか言い出したんで
スレ違いかなとは思いながら C# を仮定してみますた。
でも Application :: Run てのも気になるなあ。実は 202 さんの勘違いとか?

251 :デフォルトの名無しさん:02/10/01 03:10
http://dvd2svcd.doom9.net/
このページに有るDVD2AVIのコマンドライン版に日本語を完璧に読み込ませるには
どうソースを弄ったらいいんでしょうか?
今のところ一部の日本語が文字化けして、バッチ処理させようにも止まってしまい、
悩んでます。

252 :デフォルトの名無しさん:02/10/01 03:50
>>251
全部読んで説明しろと?
果てしないアホだな

253 :241:02/10/01 07:52
>242
お返事が遅くなりましたが、できました。
ありがとうございます。

254 :デフォルトの名無しさん:02/10/01 10:53
VC++でカラーピッカーを使いたいんですけどやり方がわかりません

255 :デフォルトの名無しさん:02/10/01 12:59
環境はVC6.0 sp5 98SE sp2です。
基本クラスを非Publicに継承させた派生クラスがあります。
基本クラスのメンバヒントのアイコンがpublic継承
時と同じなんですがVCのバグですか?

class Base{
public:
int base_int;
};

class A : private Base{

};

int main(){
A hoge;

hoge. ←この時のメンバ表示でbase_intはpublicだそうな。

return 0;
} 

256 :デフォルトの名無しさん:02/10/01 18:35
SDIで描画させたものをプリントアウトできません。どうすればいいのでしょうか

257 :デフォルトの名無しさん:02/10/01 18:36
プリンタのDCにBitBltすれば?

258 :デフォルトの名無しさん:02/10/01 18:38
>>257

正直よくわかりませんが、とにかく方法はあるということですね。
その単語頼りに調べてみます。ありがとうです

259 :256:02/10/01 18:58
できた(*´∀`*)

260 :デフォルトの名無しさん:02/10/02 06:30
MSDNの "Visual C++: MFCサンプル" を眺めているのですが、
拡張子slnのファイルはどうやって得るのでしょうか?

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vcsample/html/vcsamSimpleImageSample.asp
を試してみたいのですが、SimpleImage.sln というのが見当たりません。

会社に行けばMSDNのCD一式はあるはずなのですが、その中に入っているのでしょうか??
無知ですみません・・教えてください。


261 ::02/10/02 07:10
>260
slnはソリューション。
えっとVC6までにはなくて
VC.NETのプロジェクトファイルみたいなもん。
.NET使えば嫌でもおめにかかれるゆお。
仕事行って来ま。。


262 :デフォルトの名無しさん:02/10/02 13:37
>>261
うわぁぁぁぁぁぁん
じゃぁVC6だとサンプルが見られないんですね…

だれかCImageの使い方教えて下さい…


263 :デフォルトの名無しさん:02/10/02 21:32
あるDialog Aが、別のDialog BをDoModalで表示しているとき、
BからAにあるメッセージを::PostMessageするにはどうしたら
いいんですか?


264 :デフォルトの名無しさん:02/10/02 22:29
try .. catch

TRY .. CATCH
は別のものなの??? @_@


265 :Y.Kusakabe ◆GpSwX8mo :02/10/02 22:41
マクローリンかもしれないですね @_@

266 :デフォルトの名無しさん:02/10/02 22:43
void?


267 :Y.Kusakabe ◆Vr7Zu5Ts :02/10/02 22:48
>>264
マクラーレンです。

268 :デフォルトの名無しさん:02/10/02 22:50
void?

269 :デフォルトの名無しさん:02/10/02 23:55
>>263
Bの中から
::PostMessage(Aのm_hWnd, hoge, 0, 0);
みたく

>>264
大文字と小文字だから明らかに別物だ

270 :デフォルトの名無しさん:02/10/03 00:33
>>269
ありがとうございます。

Aのm_hWndって、Bを生成したあとに明示的にAからBに渡すのが普通の方法ですか?



271 :デフォルトの名無しさん:02/10/03 01:18
>>270 生成した後というか、Bのコンストラクタに渡す、ぐらいでいいんでないの。

272 :デフォルトの名無しさん:02/10/03 01:22
>>271
りょうかいっすー


273 :デフォルトの名無しさん:02/10/03 03:18

●●●●●●●●「オセロさえ納期内に作れない=OO役立たず 」祭り●●●●●●●
/|         |  |_____ΦΦΦΦΦΦΦΦΦΦΦ||ΦΦΦ
  |         |  | ̄ ̄ ̄ /|                    ||
  |         |  |   / /|TTTTTT   TTTTTTTTTT||TTTTT
  |        /\ |  /|/|/|^^^^^^ |三三| ^^^^^^^^^^^||^^^^^^^
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|
  |  /  /  |文|/ // /
  |/  /.  _.| ̄|/|/|/         Λ_Λ
/|\/  / /  |/ /           (___)
/|    / /  /ヽ            /〔 非OO 〕〕つ
  |   | ̄|  | |ヽ/l            `/二二ヽ
  |   |  |/| |__|/   Λ_Λ     / /(_)
  |   |/|  |/      ( ´∀`)   (_)    Λ_Λ
  |   |  |/      // /  ^ ̄]゚        (`   )
  |   |/        ゚/ ̄ ̄_ヽ         ⊂〔〔 非OO 〕


274 :デフォルトの名無しさん:02/10/03 04:50
なんか一部のファイルだけClassViewに出てこないんですが
どうやったら復旧できますか?

275 :デフォルトの名無しさん:02/10/03 04:54
.ncb 消したらなおりました。


276 :デフォルトの名無しさん:02/10/03 07:43
char hoge[MAX_PATH] と
char hoge[_MAX_PATH] って、内容は違うのですか?

277 :デフォルトの名無しさん:02/10/03 11:40
>>276 MAX_PATH の部分を右クリックして、「定義位置を参照」すれば分かる

278 :デフォルトの名無しさん:02/10/03 13:40
CWnd *pWnd=GetDlgItem(IDC_PICTURE);
pWnd->SetCapture();
ってやると
ReleaseCaptureで解放できなくなるんですけど、どうしたら・・・

279 :デフォルトの名無しさん:02/10/03 17:23
if()

280 :デフォルトの名無しさん:02/10/03 22:41
リストビューで項目の選択位置が変わったことを通知してもらうにはどうすればよいですか?
エディットコントロールやコンボボックスなどを無効にするにはどうすればよいですか?
教えて下さい。

281 ::02/10/03 22:53
>280
前者はそういうWMのハンドラ作成すればいいんじゃないかな?
後者はEnableWindow

282 ::02/10/03 22:55
>280
ちなみにEnableWindow関数は
CWnd::EnableWindowなので
CWndから派生したクラスのコントロールには全てしようできる。
CWndの関数は全て目を通しておくべき。
もし言ってる事が理解できないなら勉強不足。

283 :280:02/10/04 00:27
>281
EnableWindowでできました!アリガトン!
でも、まだリストビューの方がまだ良くわかりません。
選択位置が変わったことを示す通知メッセージってありますか?

284 :デフォルトの名無しさん:02/10/04 04:56
VC++のエディタなんですが、インデントを自動でそろえることはできないんでしょうか?
emacsのC++-modeでのTABキーあるいは M-x indent-region のような・・

手動でTAB,DEL,SPでそろえるのが苦痛です。教えてください。



285 :284:02/10/04 04:57
VCの6です。7はもっていません。


286 :284:02/10/04 05:27
>>284
選択範囲のインデントは Alt+F8 なんですね。発見しますた。

いまカーソルのある行をキーひとつでインデントすることはできないんでしょうか・・?



287 :デフォルトの名無しさん:02/10/04 15:00
>>286
ツール>カスタマイズ>キーボード の カテゴリ:編集 を選ぶと
コマンド:に、エディタのコマンドリストが表示される。

インデント関係のコマンドもいくつかあるんで、好きなのを好きなキーに
割り当てるなり、キーカスタマイズするよろし。

288 :デフォルトの名無しさん:02/10/04 15:18
同名のヘッダと実装ファイル(hoge.hとhoge.cpp)を一発で切り替えて表示するVC++のマクロが
webのどこかに落ちてたんですが、どこにあったか知りませんか?

289 :デフォルトの名無しさん:02/10/04 16:52
>287
ありがとうございます。

行頭でTABを押せば"IndentToPrev"するようにできました。
行頭以外で押すと相変わらずTAB文字が入力されてしまうのがなぞだけど。。


290 :デフォルトの名無しさん:02/10/04 17:00
VB5CCE使ってるんですが、
Freeで .EXE 作成ソフトってありますか?

291 :デフォルトの名無しさん:02/10/04 17:04
>>290 ごめんすれ違いでした。

292 :デフォルトの名無しさん:02/10/04 19:43
フォルダを作るにはどうすればいいですか?
VBのMkdirみたいなやつです。

293 :デフォルトの名無しさん:02/10/04 20:20
>>292
_mkdirだろ?

294 ::02/10/04 20:22
>292
1 mkdir
2 CreateDirectory

295 :デフォルトの名無しさん:02/10/04 21:18
>>293-294
ありがとうございます!

296 :デフォルトの名無しさん:02/10/04 22:41
DialogBoxでダイアログを表示させるときに、
座標を設定してから表示させることはできませんか?

297 ::02/10/04 22:55
>296
できます。
OnInitDialog関数内で
MoveWindowしましょう。

298 :296:02/10/04 23:17
>>297
ありがとうございます。やってみます!

299 :デフォルトの名無しさん:02/10/04 23:58
>>296 - >298
MoveWindow() は位置だけでなくウィンドウの幅/高さも指定しないといけないので、
単なる移動なら SetWindowPos() を SWP_NOSIZE|SWP_NOZORDER フラグ付で使う
ことを激しくお勧めする。

300 :デフォルトの名無しさん:02/10/05 00:25
マウスの左クリックした点を始点にクリックしままマウスを動かすと四角が大きくなって行くようなことを
したい場合どうすればいいですか?
ペイントとかの範囲指定みたいなヤツ。
OnLButtonDownとOnMouseMoveをどんなふうにいじればいいですか?

301 :デフォルトの名無しさん:02/10/05 00:27
>>300
CreateRectBigToSmallとCreateRectSmallToBigを使っとけ

302 :デフォルトの名無しさん:02/10/05 00:33
>>301
ありがとうございます。早速やってみます。分からなかったらもう一度聞きに来ますんで、
よろしくおねがいすます

303 :デフォルトの名無しさん:02/10/05 01:09
>>301 すいませんわかりません。CreateRectBigToSmallというのは関数ですか?
msdn googleでもヒットしませんが・・・

304 :デフォルトの名無しさん:02/10/05 01:39
>>300
標準的なインプリメント(APIあるの?)は分からんが、
XORペンを使うとそれらしいものができる。
OnLButtonDown、OnMouseMove、SetCapture、SetROP2 あたりをキーワードにして
Googleれば、コードでてるんじゃないかな。

305 :デフォルトの名無しさん:02/10/05 01:43
>>304
ありがとうございmス。がむばってみます。

306 :デフォルトの名無しさん:02/10/05 02:02
はじめまして。

VC++6.0でORACLEのDBに接続して、値を取得しようとしています。
OPEN関数を使用した際にORACLEへの接続ダイアログ(IDとかパスワード入力するやつ)が
出ないように出来ないのでしょうか?
ご教授お願いします。


307 :デフォルトの名無しさん:02/10/05 02:21
>>306
できるよ。

308 :デフォルトの名無しさん:02/10/05 13:34
今、任意のディレクトリ内のファイルをプログラム内で一旦リスト化するプログラムを作成してるんですが
if(hFile != INVALID_HANDLE_VALUE){ // FindFirstFile関数に成功したら
if( win32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY != 0 ){
a = 0;
strcpy(ddlist[a].fname ,"win32fd.cFileName");
}
while(FindNextFile(hFile, &win32fd)){
if( win32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY != 0 ){
a++;
strcpy(ddlist[a].fname ,"win32fd.cFileName")
こういうソースを書くと、strcpyが上手く働かないんですよ。ddlistは構造体配列です。
どこが間違ってるんですかね?コンパイルまでは普通に出来てしまうんですが・・・

309 :デフォルトの名無しさん:02/10/05 13:41
なぜ "" でくくる?

310 :デフォルトの名無しさん:02/10/05 13:42
"win32fd.cFileName"という文字列をコピーしたいんだろうなと思ってしまった俺。

311 :デフォルトの名無しさん:02/10/05 13:46
>>309,310
あぅ・・・・そうだった・・・
ご助言ありがとうございます。さっそく修正にかかりますですw

312 :デフォルトの名無しさん:02/10/05 14:20
>>304
できますた!!
http://216.239.33.100/search?q=cache:drNMjI4Xk10C:www.aistudy.co.kr/C%2B%2B/c%2B%2Bline.htm+xorpen+setrop2&hl=ja&ie=UTF-8
↑のページを参考にしました *・゜゚・*:.。..。.:*・゜(゚∀゚)゚・*:.。. .。.:*・゜゚・*!!!!!

313 :デフォルトの名無しさん:02/10/05 15:26
>>311
> ご助言ありがとうございます。さっそく修正にかかりますですw

ネタじゃなかったんだ...。つーか、デバッガで ddlist[a].fname の内容見ればサルでもわかると思うけど...。

314 :デフォルトの名無しさん:02/10/05 16:42
質問です。

MFCで作成したdllをMFCを使用しない
アプリケーション(Win32App)から呼び出すためには
何をすればよいのでしょうか?


315 :デフォルトの名無しさん:02/10/05 16:49
>>314

マルチウザイ。

316 :306:02/10/05 16:53
>>307
oo4oではなく、ODBC接続でも可能ですか?
やり方もしくは、参考になるページなどありましたら教えてください。
よろしくお願いします。


317 :デフォルトの名無しさん:02/10/05 17:21
ダイアログのグループボックスで囲んだ中のアイテムすべてをいっぺんに
有効、無効にすることは出来ますか?

318 :308:02/10/05 17:29
またまた質問なんですが、
ofstream fout(aaa.txt)
でaaa.txtを開いておいて、クラスの中の配列に格納した文字列をその中に出力したいのですが、
for(a=0;aite[a].clmember != "\0";a++)
{
fout << aite[a].clmember << "\n";
};
見たいに書くととてつもなくどでかいファイルが作成されます。
clmemberは100行?の配列で、中に入ってるのは、実行ディレクトリ内にあるファイルの名前です。
私が出力したいのはそのファイルの名前なんですが・・・
こういう場合どうしたら上手くいくんでしょうか?


319 :デフォルトの名無しさん:02/10/05 17:29
グループボックスを有効、無効に

320 :デフォルトの名無しさん:02/10/05 17:34
>>319
それだとできないんですが・・・
なんか設定間違いテル?

321 :デフォルトの名無しさん:02/10/05 17:35
グループボックスが親になってる?

322 :デフォルトの名無しさん:02/10/05 17:48
親、子はどこで設定するのですか?プロパティのグループっていうチェックボックスですか?
それにはチェック入れているんですが・・・

323 :デフォルトの名無しさん:02/10/05 18:59
プログラム中で SetParent() 使って、グループボックスの中のコントロールを
グループボックスの子ウィンドウにするって事かな?

324 :超初心者:02/10/05 20:54
LSI C-86 Ver.3.30 試食版でコンパイラしようとしたところ
can'topen:stdio.h: No such file or directory
can't open:math.h: No such file or directory

ってでます何が悪いのでしょうか?


325 ::02/10/05 21:06
>324
stdio.h が開けない ファイルかディレクトリを探せない
math.h が開けない ファイルかディレクトリを探せない

つまりコンパイラが探そうとしているディレクトリに
該当するファイルがない、、と。

326 :デフォルトの名無しさん:02/10/05 21:35
スレ違い。
おおかた _LCC の設定ができていないのだろう。

327 :デフォルトの名無しさん:02/10/06 01:32
ある座標がある四角形の中にあるかどうかを判断する関数とかありますか?

328 :デフォルトの名無しさん:02/10/06 01:45
PtInRegionかな

329 :デフォルトの名無しさん:02/10/06 01:54
>>328
ありがとうございます

330 :デフォルトの名無しさん:02/10/06 02:00
ダイアログアイテムのプロパティで”通知”ってありますよね?
それをプログラム内で変更するにはどーしたらいいですか

331 :デフォルトの名無しさん:02/10/06 03:01
今、CRC算出プログラムを作っているんですが、ちと壁にぶつかってます。
いろいろなところに置いてあるソースを参考に組んだはいいんですが、
void CBCrc32::CalcBlock(BYTE *lpBuf,UINT nSize)
{
//CRCを計算する部分
//lpBuf:計算対象の先頭ポインタ dwSize:計算するバイト数
こういった感じに、渡すのが先頭ポインタと・・・
ファイル名が分かっている場合に先頭ポインタを渡すには一体どんな前作業をしたらいいんでしょうか?


332 :デフォルトの名無しさん:02/10/06 03:15
>>328-329
という関数名を聞いて即座に「PtInRectかな?」と思えるような
センスって大事だよね。

333 :デフォルトの名無しさん:02/10/06 08:43
僕はC++に関しては、理解をしている人間です。
この度、VC++を購入したいと思うのですが、
初心者本を読まなくても、扱えるでしょうか?

つまるところ、VC++のC++との類似度といいますか、
そのへんの度合いをうかがいたく思います。

334 ::02/10/06 08:50
>333
VCを使ってなにをするかによる。
VCでC++書くつもりなら必要ない。
Windowsプログラミングするつもりなら必要。

と思う。

335 :デフォルトの名無しさん:02/10/06 09:05
>>334
ありがとうございます。とても参考になりました。
僕はC/C++でWinアプリを作るのが面倒で、VC++を導入しようと
思っていますので、そうなると初心者本は必要という事になりますね。

336 :デフォルトの名無しさん:02/10/06 10:40
>>332
> という関数名を聞いて即座に「PtInRectかな?」と思えるような
> センスって大事だよね。

センス ? 知識だと思うけど ?
大事なのは同意だが。

337 :デフォルトの名無しさん:02/10/06 16:09
作成したダイアログのタイトルバーの左端に
アイコンを表示させるにはどうすれば良いですか?
MFCを使わないで作っています。

338 :デフォルトの名無しさん:02/10/06 16:54
>>337
とりあえず、
ttp://www.kumei.ne.jp/c_lang/sdk3/sdk_254.htm
見てみ?

339 :デフォルトの名無しさん:02/10/06 16:55
>>338
スマソ間違えた。

340 :デフォルトの名無しさん:02/10/06 17:01
>>337
SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) | WS_SYSMENU);
こっ、こんな感じかなぁ。

341 :デフォルトの名無しさん:02/10/06 17:43
WM_SETICON

342 :デフォルトの名無しさん:02/10/06 18:48
( ・∀・)イイ!(・∀・)スッドレ!

343 :337:02/10/06 21:11
みなさんありがとう。
でも、340も341もダイアログにアイコンが表示されませんでした。
リソースエディタで作って、設定はほとんど変更していないダイアログなのですが。

344 :デフォルトの名無しさん:02/10/06 21:16
>>343
>>341でできる。
コードだせ。

345 :デフォルトの名無しさん:02/10/06 21:17
>>331
ファイル全体を配列(バッファ)に読みこむか、もしくわメモリマップを使う

346 :デフォルトの名無しさん:02/10/06 22:13
VCでコンパイルしているか?をコンパイル時に判断するには何で #ifdef するのが適当でしょうか?
VC++, BCB, g++ でmakeできるモノを書いています。




347 :デフォルトの名無しさん:02/10/06 22:26
>>346
> VCでコンパイルしているか?をコンパイル時に判断するには何で #ifdef するのが適当でしょうか?

VC と言うことであれば、_MSC_VER でいいと思う。(ちなみに、VC++ 6 なら値は 1200 らしい)
VC 独自の機能を使っているのであれば、_MSC_EXTENSIONS の方が望ましい。

348 :337:02/10/06 23:51
>>344
SendMessage( hWnd, WM_SETICON, ICON_SMALL, IDI_ICON1 );
↑このようにしてみたけど、Windowsマーク?がでるんだよ。
アイコンのハンドルってどうやって指定すれば良いですか?

349 :to:02/10/07 00:01
AtlAxDialogBoxを使ってブラウザを作っているのですが、
ダイアログボックス上でマウスイベントが取れないので取ることは可能でしょうか?


350 :to:02/10/07 00:04
追記:ヘルプ見ててもWM_LBUTTONDOWNとかのメッセージが取れるとは書いてないんです。

351 :デフォルトの名無しさん:02/10/07 00:04
tif画像を表示するにはどうしたらいいですか?

352 :デフォルトの名無しさん:02/10/07 01:57
libtiffっていうライブラリがあるな。
あとはぐぐって調べれ。

353 :デフォルトの名無しさん:02/10/07 02:28
CImageじゃだめなんだっけ?


354 :デフォルトの名無しさん:02/10/07 22:28
>>352 ダウソしてがむばってみます

355 :デフォルトの名無しさん:02/10/09 20:31
VC6をつかています。例外を投げて、それを参照で受け取ろうとしても
すり抜けてしまうように思うんですが、参照うけはだめぽ?


356 :デフォルトの名無しさん:02/10/09 20:36
>349
取れない?
取れるでしょ。

357 :デフォルトの名無しさん:02/10/09 20:39
>>355
ハァ?
そのくらいのテストコードも打てなきゃ何やっても駄目。

358 :AGE:02/10/09 20:40
自分の作ったプログラムをデバックしたい。
この際にアゼンブラが表示されるが
このアゼンブラを理解するのに適切な書籍、サイトを
教えて下さい。
深く追求したものではなく、浅く、わかりやすく解説したサイト希望


359 :デフォルトの名無しさん:02/10/09 20:43
>>357
妄想ですた


360 :デフォルトの名無しさん:02/10/09 21:09
>>358
深く追求できるものでインテルしか知らんが
ttp://www.intel.co.jp/jp/developer/design/intarch/pentium/docs_pentium.htm
のManuals のPDFをお薦めする。
リンクを辿ればMMX、SIMD、Itaniumのテキストが手に入る。

361 :358:02/10/09 21:19
>>360
ありがとね。

362 :デフォルトの名無しさん:02/10/09 21:34
ISO-2022-JPで書かれたヘッダファイルをVC6のFile View で、追加してしまったら、
16進表示されました。その後、エンコーディングをShift_JISになおし、
改行コードもCR+LFになおしたのですが、相変わらずhexで表示されます。

一度ファイルをFileViewから削除して再度追加しても改善しません。
どうしたらいいでしょうか?


363 :デフォルトの名無しさん:02/10/09 21:40
>>362
ウィンドウ - すべて閉じる
を一発かましておけばOKでした。すんまそん。


364 :to:02/10/09 22:08
>>356
ダイアログウィンドウにしたら取れました。。
しょうもない質問してすんません。。

365 :デフォルトの名無しさん:02/10/09 22:35
>>361
アセンブラでぐぐったら一発で出てきた。
この程度の検索ができないようなら、あきらめたほうが吉。

366 :デフォルトの名無しさん:02/10/10 01:26
制御が空の文が見つかりました。意図した記述でしょうか?

367 :デフォルトの名無しさん:02/10/10 23:57
質問があります。

WEB上のC++入門関連のプログラムを見ていると
switch case 〜 で条件を抜けるときに
break を使っている個所と return (0L) というところとあります。
この違いは何でしょうか?違いは無いですか?

368 :デフォルトの名無しさん:02/10/11 00:05
>>367
気分!

369 :デフォルトの名無しさん:02/10/11 00:26
そっか、勉強になった注意しよ。

370 :デフォルトの名無しさん:02/10/11 00:29
ゴメン、場所間違えた。

371 :デフォルトの名無しさん:02/10/11 02:55
しつもんです。

ダイアログベースのWinアプリ開発中なんすが、
タイトルバーで最大化ボタンだけ削除する方法ってありませんか?
WS_MINIMIZEとかでも最小化と最大化が一体となって動作
してやがるんですが。

よろすぃくー

372 :デフォルトの名無しさん:02/10/11 03:55
最大化ボタンだけ無効化ならできるが、削除はできない。

373 :デフォルトの名無しさん:02/10/11 04:18
WS_MAXIMIZEBOX 外せばいいんでないの
そんな簡単な問題ではない?

374 :デフォルトの名無しさん:02/10/11 04:42
WM_NCPAINTでつぶせよ。

375 :デフォルトの名無しさん:02/10/11 11:59
.net環境手に入れて(大学一括ライセンスで)とりあえず初心に返ってhello world書いてみた

error C2065: 'pDC' : 定義されていない識別子です。

・・・・・VBあたりから勉強始めてみようと強く心に決めました・・・・

376 :デフォルトの名無しさん:02/10/11 14:40
エクスプローラで Alt + ← を押すと「戻る」が実行されますが、
keybd_event で、
 Alt 押す
 ← 押す
 ← 離す
 Alt 離す
というふうにしても、「戻る」になりません。
私の環境だけの問題でしょうか?

どうすれば keybd_event からエクスプローラの「戻る」ができますか?

377 :デフォルトの名無しさん:02/10/11 16:09
>>376
それでできるよ。コードがまずいんじゃないの?

378 :デフォルトの名無しさん:02/10/11 16:12
>>376
環境っつーなら、環境書けや。

Sleepちょこっと入れてみ。

379 :デフォルトの名無しさん:02/10/11 16:23
c++でx^(1/2),x^(1/3),x^(1/4)を数表に表したいのですが、間違いがわかりません。
ここに書いてもいいですか?

380 :デフォルトの名無しさん:02/10/11 17:56
Windows をシャットダウンさせた時に
関数 hoge を実行してからアプリを終了させようと思うのですが、
シャットダウン実行時にアプリを閉じるメッセージを取得して
関数 hoge を実行するにはどうすれば良いですか?

381 :デフォルトの名無しさん:02/10/11 18:16
WM_QUERYENDSESSION

382 :デフォルトの名無しさん:02/10/11 20:24
>>376
エクスプローラーはアクティブになってんのか?

383 :デフォルトの名無しさん:02/10/11 20:26
>>379
そりゃそうだろ!
C++では^はべき乗じゃねーからな。
powを使え!

384 :デフォルトの名無しさん:02/10/11 20:36
超初心者質問

VC++6で「挿入」−「リソース」−「ダイアログ」から
チェックボックス一個とOKボタンのみのresource.h、dialog.rcを作りました。
これを表示させ、OKボタンが押されたとき
チェックボックスの状態を判定するにはどうすればいいですか?

MFC、C++は使わない方法を教えてください。


385 :デフォルトの名無しさん:02/10/11 20:53
>384
目で見て判定しる。

386 :デフォルトの名無しさん:02/10/11 21:00
IsDlgButtonChecked
とか
BM_GETCHECK

387 :デフォルトの名無しさん:02/10/11 21:02
>>384
WM_COMMANDを取得してWPARAMの値をswitchで分岐させて、
OKボタンが押された時にチェックボックスの値をSendMessageで取得しる!

388 :384:02/10/11 21:10
表示はどうやればいいんでしょう?(超初心者です)

389 :デフォルトの名無しさん:02/10/11 21:26
猫のページ逝け

390 :デフォルトの名無しさん :02/10/11 21:27
質問です。
ActiveXコントロールで、ウインドウを作成するコントロールを作るにはどうしたらよいのでしょうか。
Webブラウザ上に、新たなウインドウを作成し、その中で自分で作成したプログラム結果を表示したいので、よろしくお願いします。
開発環境はVisualC++6.0です。

391 :デフォルトの名無しさん:02/10/11 21:30
>388
とりあえずここのSDK第1部13章に解説が、
ttp://www.kumei.ne.jp/c_lang/index.html
どのぐらいの初心者か分からないけど、1から順番に
やったほうがいいよ。


392 :384:02/10/11 21:48
>>386-387>>391
おぉ、ありがとう。
「DOSのプログラムは、作れるがWindowsのプログラムはちょっと・・・」
ってのに該当します。
一通り読んで試行錯誤してみます。

393 :デフォルトの名無しさん:02/10/11 22:04
学校で先生がやってるのが個々のモニターに写って見てたのだが、
先生がすばやく、ピピっと同じような文章を複数書く技をしていました。
あれはどうやったらできるのですか?
こう、反転させてコピーして、指定したとこに貼り付けとかじゃなくて、
なんかエレガントにしてました。

394 :デフォルトの名無しさん:02/10/11 22:22
Ctrlキー押しながらドラッグとか。

395 :デフォルトの名無しさん:02/10/11 22:33
>>394
なるほど。でも、なんかうまくいかない時とかあります…
Visual C++の本借りてくるか…

396 :デフォルトの名無しさん:02/10/11 22:34
Ctrl+Vという落ちではなかろうな

397 :デフォルトの名無しさん:02/10/12 00:25
暖炉でスマソ。

自分で作ったプログラムの VS_VERSION_INFOの
リソースのバージョンを取得するにはどうすれば良いのでしょうか…。

398 :デフォルトの名無しさん:02/10/12 01:26
>>397
APIじゃだめ?
GetFileVersionInfoSize + GetFileVersionInfo + VerQueryValue
とかで。

399 :デフォルトの名無しさん:02/10/12 14:08
実行ファイルの自己チェックの実装について、ヒントもしくは
参考になるURLを教えていただけませんでしょうか?

ちなみに環境はVC++6.0です。

400 ::02/10/12 14:37
>399
自己チェック!?
なにをチェックするか書かなきゃ。

401 :デフォルトの名無しさん:02/10/12 14:51
>400
実行ファイル本体のチェックです。
実行ファイルをいじると起動できないように
したいのです。

402 :デフォルトの名無しさん:02/10/12 14:55
前にどっかのページでみたのは、
exeのCRCをとって、それをexeのある領域に書き込み、
実行段階でCRCを読みとったら、CRCの書かれてある領域を
潰して、実行ファイルのCRCを算出して、比較していたような。

403 :デフォルトの名無しさん:02/10/12 15:08
>>402
ありがとうございます。探してみます。

404 :デフォルトの名無しさん:02/10/12 15:10
見ちゃいや〜ん。 きつぅぅ

http://www.dream-express-web.com/space-trust.htm

405 :デフォルトの名無しさん:02/10/12 16:55
>>401
実行ファイル本体のチェックをいじると起動できるがな。

406 :デフォルトの名無しさん:02/10/12 18:41
>>405
そうなんですよね・・・(−−;
そういうのって簡単にできるものなのでしょうか?

407 :デフォルトの名無しさん:02/10/12 19:55
>>406
アセンブラの知識があれば難しくはない。
ところで、チェックする目的は何なの?

408 :デフォルトの名無しさん:02/10/12 21:09
>>405
チェック部分を暗号化して実行時に復号して実行するとか、やたらめったらチェックする個所を増やすとか...。
所詮プログラムだから、完璧に防ぐのは困難。いたちごっこを覚悟するしかない。

409 :デフォルトの名無しさん:02/10/12 21:23
>>408
その前に、目的はなんだろね?
シェアエアの不正使用防止だったらそれで別にいいが、
ウィルス等による改竄防止だったら何をやろうが無意味だね。

410 :デフォルトの名無しさん:02/10/12 22:11
iostream 系が stdio 系に比べて著しく遅いのですが、
何か回避策はありませんでしょうか?

ifstream cif(filename);
for(i=0;i<N;++i)
{
cif >> value;
・・・
}

FILE *fp = fopen(filename,"r");
for(i=0;i<N;++i)
{
fscanf(fp, "%lf", value);
・・・
}
とで比べると、下手すると(体感ですが)10倍以上違うような気がします。
「遅いのが嫌ならfscanf素直に使っとけ(゚Д゚)ゴルァ」
って事でしょうか?
それだとなんか悲しいですが・・・



411 :デフォルトの名無しさん:02/10/12 22:16
>>409
アフォか? 逆だろ。

412 :名無し~3.EXE:02/10/12 22:31
NET_API_STATUS の値の調べ方を教えてください。

[背景]
デバッグで NET_API_STATUS が213という
値を返しエラーで終わるのですがこの値
が何を意味するか分かりません。
リファレンスがあるといいのですが。

お願いします。

413 :デフォルトの名無しさん:02/10/12 23:28
>>410
そうか?俺は別に遅いと思わんが…

414 :デフォルトの名無しさん:02/10/12 23:40
>>412
> デバッグで NET_API_STATUS が213という値を返しエラーで終わるのですが

どういう API 呼んだ時なの ?

415 :名無し~3.EXE:02/10/12 23:54
>>414
ありがとうございます。
MSの NetAPI系です。ヘルプには戻り値は
NET_API_STATUS 型で返されると記載されているのですが
その戻り値の値がどのエラーに対応するか
リファレンスがなくて困ってます。
例えば
エラー1は out of memory
エラー2は invalid parameter
.
.
.
のようなリファレンスがあってもよさそうなんですが。

ちなみに GetLastErrではエラーは取れませんでした。


416 :375:02/10/13 00:15
>>375のエラーの原因が色々友人に聞いてみたりしたんですけど分かりません
ホントにただ普通のpDC->TextOut(10,10,"はろーわーるど");
って書いただけなのにエラー吐かれるのが解らずぱにくってます
だれか教えていただけないでしょうか?
なぜVC6でできた事が.netになったらできなくなったんだろう・・・・・

417 :デフォルトの名無しさん:02/10/13 00:25
どこに書いてんのよ

418 :デフォルトの名無しさん:02/10/13 00:26
>>416
MFCか?
引数よく確認した方が良いぞ。

419 :デフォルトの名無しさん:02/10/13 00:29
>>415
System Error Codesみてもわからんかっただ
えらーこーど213ってなんだべ
役に立たなくてすまん

420 :デフォルトの名無しさん:02/10/13 00:36
別スレで質問させていただいたのですが、
レベル的にこちらの方がよさそうと思い、移動してきました。
よろしくお願いします。

DLLの中にCStringなどのクラスを内部で使用している
クラスを作成しました。
動作環境としてCStringなどのクラスを使用することは
何らかの制限がかかるのでしょうか?
つまりめんどくさいなどの理由で用意されているクラスを
多様しないの方がいいのか?という疑問です。
また、作成時スタティックリンク、ダイナミックリンク
どちらにしても動作環境は変らないのでしょうか?
作成したDLLを使用する際、VBで使うことも考えているのですが、
CStringとか使ったらVBで使えないようなイメージがあります。
そういうこと解説しているページ、その他アドバイスなどいただけませんか?
よろしくお願いします。
環境はVC.NETです。
よろしくお願いします。

421 :410:02/10/13 00:52
>>413
そーですか?おかしいなぁ・・・
別にそれ以上の事やってないんですけど、圧倒的にiostreamの方が
遅いんですが・・・

422 :デフォルトの名無しさん:02/10/13 01:48
>>411
アフォか?
プログラムで何をやってようがエントリポイント書き換えられたら無意味。

423 :デフォルトの名無しさん:02/10/13 02:16
>416
レスがつかない理由は何故だと思う?

424 :420:02/10/13 02:41
>416
コンパイラは
「pDCってなによ?」って言ってるんですね。
確認してないけど
int main()
{
   int i;//←これがないと
   i=0;
}
同じエラーでるんじゃない?
私も人の事言える立場じゃないですが。
>VC6で出来た事
いやいや、できません。
とにかくpDCを自分で作るなり
もともとあるところに書かなきゃ。

425 :デフォルトの名無しさん:02/10/13 08:47
学校でVC使った授業が始まったので、家でも勉強してみようと思い
LSI C-86 Ver.3.30 試食版を導入してみました。
それでコンパイラして実行したところ、終わったあとに
「Press any key to continue」
の文字が出ません。
これはVCでしか出ないメッセージなんでしょうか?

426 :デフォルトの名無しさん:02/10/13 10:47
>>415
> MSの NetAPI系です。

NET_API_STATUS の話なんだから、それはわかってる。
もしかしてなめてんの ?
なんで、具体的な API 名を書かないの ?

本気で解決したいんなら、ソース出せよ。

427 :デフォルトの名無しさん:02/10/13 14:30
何で怒ってるんだ>>426
教えたくなけりゃ書き込まなきゃいいだろうに

428 :デフォルトの名無しさん:02/10/13 17:24
>>427
同意!マターリ逝こうぜ!

429 :384:02/10/13 22:15
リソースエディタについて教えてください。

色々試した結果DialogBoxで「指定されたリソースがイメージファイルに見つかりません」
となってたことが判り、更にdialog.rc、resource.hファイルを見直したところ

[resource.h]
#define IDD_Dialog 101

[dialog.rc]
#include "resource.h"
IDD_Dialog DIALOG DISCARDABLE 0, 0, 163, 99

となっており、
DialobBox(hInst, "IDD_Dialog", wHnd, DlgProc)
と呼び出しても"IDD_Dialog"が認識されなかったようです。

で、リソースエディタでIDD_Dialogの名称変更できそうな場所を色々弄ってみたんですが
どうしても同じ名前になってしまうようです。
このあたりについて詳しく教えてもらえないでしょうか。

・resource.hの該当個所をコメントアウトする(問題あり?)
・dialog.rcでresource.hをインクルードしない(問題あり?)
・どちらかを手書きで別の名称に変更する
・dialog.rcもresource.hも手を加えずに呼び出す方法が別にある
等など・・・
よろしくお願いします。


430 :デフォルトの名無しさん:02/10/13 23:21
>>429
DialobBox(hInst, "IDD_Dialog",
           ^^^^^^^^^^^^^ →MAKEINTRESOURCE( IDD_Dialog )

431 :デフォルトの名無しさん:02/10/14 00:06
>>429
若しくはResourceViewでリソースの名前を""で囲むとか。
リソーススクリプト、その他を直接いじるのはお奨めしない。
(某ページでは奨めてるけど…)

432 :384:02/10/14 00:11
>>430-431
ありがとうございます。
おかげでダイアログ表示できるようになりました。

433 :デフォルトの名無しさん:02/10/15 10:41
ダイアログベースでのフォントに変更について教えてください。

リソースエディタでダイアログのフォントサイズを変更すると、
その上に乗っかっているコントロールのフォントがそれに合わせ
られます。その状態から特定のコントロールのフォントを大きく
しようと思ってSetFontを使いました。

結果フォントは大きくなったのですが、改行幅がそのままの
ようで、上下に文字が重なってしまいます。他に何かいじら
ないといけないのでしょうか。

フォント設定のソースは以下のような感じです。
CListBox* Lst;
CFont Font;
Font.CreatePointFont(160,"MS ゴシック",NULL);
Lst->SetFont(&Font,TRUE);


434 :デフォルトの名無しさん:02/10/15 10:43
上のソース
Lst = (CListBox*)GetDlgItem(IDC_XXXX);
が抜けてました。

435 :デフォルトの名無しさん:02/10/15 12:47
>>433
リストボックスの項目の高さをフォントの高さに合わせて手動で指定して
やらないとダメなのかな?勘だけど。

436 :デフォルトの名無しさん:02/10/15 13:39
CStdioFileを使っているのですが、

abc   123
efg    45
hij    78

というfileに書き足して

abc   123   98
efg    45   76
hij    78   54

と右に向かって書き足していきたいのですが
どうしたらいいのかわかりません。

Seek使えばよさそうなんですけど
具体的にどうしたらいいかアドバイスください。

ファイルの中身は左端に3文字の文字列で
あとは2桁または3桁の数値です。
文字列と数値、数値間はすべてtabで区切ってあります。

よろしくお願いします。


437 :デフォルトの名無しさん:02/10/15 20:02
起動するとメモ帳を開いてクリップボードの中身を
そこに貼り付ける、っていうアプリ?を作ってるんですが
メモ帳を開く所までは出きるものの
どうすれば貼り付けれるのかわかりません。

ご教授お願いします。

438 :nana:02/10/16 00:28
ファイルを読みこみたいのですが、どうしてもエラーがでます。
最初はうまくいったのですが・・。
VisualCはあんまりよくわからないので、教えてください。
fp=fopen("test","r");
if(fp==NULL)
printf("dame");
dameとだけでます。
データはDebugやtest.c dsw 等があるとこにいっしょにおいています。


439 :デフォルトの名無しさん:02/10/16 00:42
??

440 :デフォルトの名無しさん:02/10/16 01:23
>>438
絶対パスで試してみるように薦められたはず。

441 :433,434:02/10/16 01:39
>>435
お答えありがとうございます。
ただ、「手動で設定」の意味が分かりません。
リストボックス自体の大きさはダイアログ
エディタ上で指定できますが、項目の高さも
指定出来るものなのでしょうか。

ちなみにエディットボックスでも同様の状態です。
やはり高さの指定があるのでしょうか。


442 :デフォルトの名無しさん:02/10/16 01:47
>>441
オーナードローでどうか

443 :デフォルトの名無しさん:02/10/16 02:18
>>438
ネタか?
正直言って何がしたいのか分からない。

444 :デフォルトの名無しさん:02/10/16 02:20
ファイルを開きたい

445 :デフォルトの名無しさん:02/10/16 02:54
>>441
リストボックスの項目の高さは CListBox::SetItemHeight() で変えら
れるが、それやらなくても>>433 みたいにすれば項目の高さも自動調節
されたよ。プロパティはデフォルトで。

エディットボックスはウィンドウの高さ自体を変えてやらないとダメっぽい。

446 :433,434:02/10/16 08:20
>>445
>それやらなくても>>433 みたいにすれば項目の高さも自動調節
>されたよ
うーん、そうですか。なんでだろ・・・。
ともあれ何とかなりそうで、助かりました。
そのほかにもアドバイスをくださった方、
ありがとうございます。
もっと精進します。

447 :デフォルトの名無しさん:02/10/16 21:48
>>444
ファイルをダブルクリック。

448 :デフォルトの名無しさん:02/10/16 21:58
>>447はとてつもなくつまらない

449 :デフォルトの名無しさん:02/10/17 16:59
444はネタじゃなくてマジだから、マジ回答をしたら次にファイルの読み方を聞かれる罠。

450 :デフォルトの名無しさん:02/10/17 22:22
ダイアログのボタンにビットマップを表示させたいのですが

CButton *bp=(CButton*)GetDlgItem(IDC_BUTTON1);
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
HBITMAP hbmp = HBITMAP(bp);
bp->SetBitmap(hbmp);

↑なにがダメですか?

451 ::02/10/17 23:15
>450
さぁ、まずあんたのPCではどうなるんだ?
CBitmap bmpのスコープが問題じゃないの?
試してないからあんま自信ないけどさ。

452 :デフォルトの名無しさん:02/10/17 23:47
>>450
( `Д) <単純には貼れない。CBitmapButtonを調べれ。
/(ヘ つ )ヘ  
       

453 :デフォルトの名無しさん:02/10/18 00:01
単純に貼れるっつの。

CButton *bp=(CButton*)GetDlgItem(IDC_BUTTON1);

int cx = 16; // 画像の幅
int cy = 16; // 画像の高さ
HBITMAP hbmp = (HBITMAP)LoadImage(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, cx, cy, 0);

bp->SetBitmap(hbmp);



454 :デフォルトの名無しさん:02/10/18 00:05
BS_BITMAPを指定していないという罠

455 :デフォルトの名無しさん:02/10/18 00:16
( `Д) <・・・
/(ヘ つ )ヘ  

456 :デフォルトの名無しさん:02/10/18 22:01
CreateEventに指定する引数の
SECURITY_ATTRIBUTESに何を指定したら良いのかわかりません。
メンバのnLengthにはsizeof(SECURITY_ATTRIBUTES)を指定する
のはなんとなく分かったのですが、ほかの二つが分かりませんでした。
どなたか教えてください。

457 :デフォルトの名無しさん:02/10/20 17:30
>>456 英語が読めないので助けてください、ということでつか?

458 :デフォルトの名無しさん:02/10/20 21:12
糞スレage

459 :デフォルトの名無しさん:02/10/20 21:13


460 :初心者:02/10/21 01:15
質問です。
5年ぐらい前のVC++4.0で
WinMe上で簡単なプログラムを実行すると
MSDOSプロンプトで「定義ファイルが開けません」と出て、
プログラムの実行自体はされます。このメッセージは何故出てしまうんでしょうか?
気になります。

461 :デフォルトの名無しさん:02/10/21 03:34
MDIのCChildFrameでCMainFrameのポインタは取得できますか

462 :デフォルトの名無しさん:02/10/21 04:08
AfxGetMainWnd() ?

463 :デフォルトの名無しさん:02/10/21 12:09
できましたありがとう

464 :460:02/10/22 00:40
どなたか教えていただけないでしょうか?>>460

465 :デフォルトの名無しさん:02/10/22 03:09
>>460
反応がないのは、VC++4.0という環境を持っているユーザーが少ないせいで誰もその状況の再現をできないためと思われる。
うちにもVC++5.0までしかないし。

466 : :02/10/22 12:01
<質問です>
ActiveXに引数渡すことあるとおもうんだけど
その引数ってど〜やって取り出せばいいの?

467 :デフォルトの名無しさん:02/10/22 17:20
VC6を使ってます。
クラスビューで何か操作(メッセージハンドラの削除とか)をすると
新規作成したクラスがビューから消えてしまいます。(CMainFrameとかCAboutDlgは
消えません)。ファイル自体は残っているのでビルドはできるのですが、かなり不便です。
ビューに既存のクラスを登録しなおすとかはできるのでしょうか?

468 :デフォルトの名無しさん:02/10/22 17:31
>>467
クラスのヘッダファイル(*.h)を開いて保存すると復活することがある

469 :デフォルトの名無しさん:02/10/22 17:32
>>466
ネタか?意味がわからんぞ。
というか、何がわからんのかわからんよ。

470 :デフォルトの名無しさん:02/10/22 17:34
>>466
状況書かなきゃ何がやりたいのかさっぱり。

471 :467:02/10/22 17:39
>>468
復活しました!
即答ありがとうございます!

472 : :02/10/22 17:42
>>469>>470 スマソ
例えばこんな感じでHTMLに埋め込んでる時

<OBJECT classid=" 〜略〜>
<PARAM NAME="_cx" VALUE="10583">
<PARAM NAME="_cy" VALUE="5292">
</OBJECT>


ここで_cxに10583ていうデータを渡してると思うんだけど
_cxってActiveXのコードのどこにどのように宣言すればいいのでしょうか?

473 :デフォルトの名無しさん:02/10/22 18:45
VARIANT型でどうにかならんか

474 :デフォルトの名無しさん:02/10/22 19:15
コンソールアプリでキー入力したいんですが、
キーバッファが空なら他の処理をするってのはどうやればいいのでしょうか?
getchar()とかはだめぽ。

475 :デフォルトの名無しさん:02/10/22 19:21
http://gooo.jp
無料掲示板
無料レンタル掲示板

476 :474:02/10/22 19:34
一応、_kbhit()が使えるのね。他にあれば教えて( ゚д゚)ホスィ

477 :デフォルトの名無しさん:02/10/22 22:38
>>465
会社には、VC++ 4.0 があるけど、WinMe がない。

478 :デフォルトの名無しさん:02/10/22 23:03
Cの初歩的な事は何とかわかったのでVC++購入しよと思ってます。

6.0が未だに人気があるみたいなんですが、
.net はまだ使えないソフトなんでしょうか?
ソフトのプラグインを作る予定でSDKが6.0とか書いてるんですが、
.net と 6.0 の互換性はあるのでしょうか?
そのへんがさっぱりわからないです。

.net でも大丈夫なら安いし購入しようと思ってるんですが、
アドバイスお願いします。

479 :デフォルトの名無しさん:02/10/22 23:07
478のいいたいことをまとめると、
.netは使えないんじゃないかと。
でもVCを使ってみたい、どうすればいいの?
ってことです。誰かアドバイスお願いします

480 :デフォルトの名無しさん:02/10/22 23:09
VC6.0を買え。またはダウソ

481 :デフォルトの名無しさん:02/10/22 23:26
.netを買おうと思ってるわけですが、マズいですか?
ああー。6.0ですかあ高いしなあ。ダウソ どこですか?って教えてくれないか。
どうしよう。.net使ってる人どうよ?



482 :デフォルトの名無しさん:02/10/22 23:27
質問よろしいでしょうか。
MFCクラスを使ってUDP通信がしたいのですが、
LocalPortプロパティとRemoteHostプロパティって
どうやって設定すればいいのでしょうか?


483 :デフォルトの名無しさん:02/10/22 23:36
482を要約します。
MFCのクラスだけを使ってUDP通信がしたいのですが
LocalPortプロパティとRemoteHostプロパティをどのように設定すればいいかわかりません。
知っている方がいましたら直ちに教えてください。
はやく!!
といっています。皆様よろしくお願いします

484 :デフォルトの名無しさん:02/10/22 23:48
どこが要約やねん(w

485 :デフォルトの名無しさん:02/10/22 23:56
要約とか言ってる奴心底つまらんよ

486 :デフォルトの名無しさん:02/10/23 00:02
要約すると、
http://ime.nu/homepage2.nifty.com/rohizuka/ka/pa_003_a.htm

487 :デフォルトの名無しさん:02/10/23 00:07
>>486
ブラクラ

488 :デフォルトの名無しさん:02/10/23 00:07
要約すると。
 ソ ー ス キ ボ ン ヌ !

489 :デフォルトの名無しさん:02/10/23 00:08
ソース
http://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm

490 :デフォルトの名無しさん:02/10/23 00:09
>489
ブラクラ 

491 :デフォルトの名無しさん:02/10/23 00:11
>>490
違うだろ。これ作った奴神?

492 :デフォルトの名無しさん:02/10/23 00:19
Windowsアプリ作るのと、Linuxアプリ作るのどちらが難しいですが?

493 :デフォルトの名無しさん:02/10/23 00:26
ダイアログベースのアプリケーションで、
ピクチャー のどこかがクリックされたことは検出できますか?


494 ::02/10/23 01:45
>493
できると思う。
クリックされたら
GetCursorPos
で座標を得れる。
と思う。


495 :デフォルトの名無しさん:02/10/23 01:53
>>493
MFCならCStaticの派生クラス内でクリックメッセージを処理

496 :デフォルトの名無しさん:02/10/23 02:25
>>494-495

ありがとうございます。MFCでVC6です。今、

//{{AFX_DATA(CTest1Dialog)
enum { IDD = IDD_TEST1_DIALOG };
CStaticm_picture;
//}}AFX_DATA

のようになってるんですが、このCStaticを、CMyStaticに変更
(このクラスは自分で実装)、でOKでしょうか・・?


497 :デフォルトの名無しさん:02/10/23 02:43
>>496
それでもいいけどクラス追加したらClassWizardで選択できるよ

498 :496:02/10/23 02:56
>>497
ありがとう

CMyStaticでクリック検知したら、適当な(俺定義の)メッセージでダイアログに通知するんでしょうか? ってそれでやってみます。


499 :デフォルトの名無しさん:02/10/23 03:37
数日前からC言語の勉強を始めました。
入門書を1冊手に取り、毎晩少しづつですがコツコツと組んでいます。
始めてからまだ1週間も経ってませんが、勉強するにあたって何か目標のような
ものが欲しいので、もし宜しければ私に課題のような物を与えてくれませんか?
プログラムをするのは初めてなので、右も左もわからない状態ですが
よろしくお願いします。

500 :デフォルトの名無しさん:02/10/23 04:42
>>460
まだ見てるか?
たぶんDOSIME関連だと思う。
Adddrvがdos用のIMEの定義ファイル開けなかったメッセージのような気が。

501 :496:02/10/23 04:48
ピクチャのプロパティで「通知」をcheckedにすれば、BN_CLICKEDイベントを
ハンドルすることでクリックを検知できました。
あとは >>494 でどうにか。さんくす。


502 :デフォルトの名無しさん:02/10/23 05:08
>>499
標準Cからはじめるってことだよね。
まずは、配列、関数、ポインタ、構造体ってところじゃない?
1)hello world と出力せよ
2)int 整数をつくり、任意の数に初期化して数値を出力せよ
3)int 配列を 10 個つくり、10〜19 まで代入して for ループで出力せよ
4)int 配列をグローバルにおき、for ループで出力する関数に変えるべし
5)4を int 配列へのポインタを使うように改造せよ
6)int 配列へのポインタと、個数を受け取って出力する関数に改造せよ
7)ランダムな値を代入するように改造せよ
8)7で作ったデータを今度はテキストファイルに出力せよ
9)8で作ったテキストファイルのデータ値に2を掛けて画面に出力せよ
こんな感じ?もっと良い例があるかもしんないけど・・

503 :デフォルトの名無しさん:02/10/23 05:18
ケツメイシのトモダチ
いい曲だなぁ。

504 :デフォルトの名無しさん:02/10/23 07:46
>>499
んじゃ!
ペンタゴンの軍事ネットワーク「ミリネット」に侵入するプログラム作れ!

505 :デフォルトの名無しさん:02/10/23 09:56
>>504
正解を準備できるの?

506 :472:02/10/23 16:01
>>473
VARIANT型の変数をどこに宣言すればいいのでしょうか?

507 :デフォルトの名無しさん:02/10/23 18:33
Visual C++ でrs-232cのシリアル通信でどうやるんでしょう?
MSComm は Visual Basic のコマンドなんですか?
デジタルボルトメーターを制御したいんですが。
どなたか教えてください。 お願いします。m(__)m

508 :499:02/10/23 18:39
>>502さん
どうもありがとうございます。
今までは本を見ながらしっかりした目的も無くプログラムを組んでいましたが
目標が出来たことでもっと力をいれて勉強できそうです。
いずれはプログラムを職として組んでいけるようになりたいです。

>>504さん
それは、、、いつか考えてみます(汗

509 :VC++初心者:02/10/23 19:19
イリアなどのDLソフトのように取得した画像をかってに番号を割り振ってフォルダに
保存していく機能を持たせるにはどんな感じのプログラムにすればいいのでしょうか?
房な質問ですみません。使えそうな関数を教えてもらえれば幸いです。
まだ、学習したてで、コンストラクタを使えば良いのか、ただ単にハンドル渡して
組み立てれば良いのか混乱しています。
よろしくお願いします。

510 :デフォルトの名無しさん:02/10/23 19:25
質問です。
CHtmlViewを継承したクラスを使ってブラウザを作っています。
右クリックしたときに独自のメニューを表示させたいのですが、どうすれ
ばいいのでしょうか?
右クリックやコンテキストメニューのイベントハンドラを使っても、htmlファイル
がロードされていると普通のIEコンテキストメニューが表示されてしまいます。

511 :初心者:02/10/23 22:35
MDIで、開く画像の大きさと同じ大きさのウインドウを作りたいのですが
どうしたらいいですか?
viewクラスのPreCreateWindowのcsをいじっても何も変わらないし

512 :デフォルトの名無しさん:02/10/23 22:36

.netでプログラムの結果をアニメーションできますか?
たとえば、銀河形成シミュレーションの過程を視覚的にみたりとか。

513 :デフォルトの名無しさん:02/10/23 22:42
>>512
http://www.asahi-net.or.jp/~cs8k-cyu/gp/


514 :デフォルトの名無しさん:02/10/23 22:57

 >>513
関係ないです。

515 :デフォルトの名無しさん:02/10/23 23:14
movewindowわ?

516 :デフォルトの名無しさん:02/10/24 02:59
VS.NETを買おうかと思ってます。
ですがいろいろなEditionがあってどれをどれを購入していいかよくわかりません。
アドバイスお願いします。

職業:大学生
装備:ゴールドカード(学生証)
目的:生涯の趣味のため。
使用言語:C++だがこの際VBやC#を覚えたほうがいいと思うならそれも・・・だけどわかんないです。

言語の展望も含めて教えて頂けると嬉しいです。
またゴールドがそう豊富にあるわけではないので書籍をがしがし買うわけにはいけません。

517 :デフォルトの名無しさん:02/10/24 13:02

>>516
linuxをいれなさい。すべてタダでできるよ

518 :デフォルトの名無しさん:02/10/24 13:16
>>516
バイトして書籍をがしがし買え。マジレスだ。

519 :デフォルトの名無しさん:02/10/24 16:16
>>517
「Linuxはタダだから、金はWindowsにつぎ込め。そうすればどちらも楽しめる」ということ?

>>516
同じく大学生だが、Professional MSDN Deluxe Editionの優待版を買った。
「以前のバージョンが必要」と書いてあるが、なくてもインストールして普通に動かせた。

書籍は「入門C#プログラミング」みたいな1,500\ぐらいの安い雑誌でいいんじゃないの?

520 :デフォルトの名無しさん:02/10/24 19:06

VS.NETを買うよりredhatを買ったほうが安上がり。
開発環境もそれなりにそろってるよん。
このさいWindowsをやめLinuxにしなさい

521 :デフォルトの名無しさん:02/10/24 19:11
C++でいいならそうだね。逆に、C++の美味しい部分(template meta, generic, generative programming) を学びたいならVCは役不足。gcc-3.2が非常に無難。
皆に使ってもらいたいGUIアプリを作りたいなら別だけど。



522 :デフォルトの名無しさん:02/10/24 19:23
>>519
Linuxには、プログラム環境がほとんどなんでも入っています。
入っていないのは、FTPサイト等で無料で配っています。
結論から言うと、なんらかの制約が無い限り、学生がMSを買う必要はないです。


523 :デフォルトの名無しさん:02/10/24 20:06
ココはVC++スレだ!Linux房は消えろ!

524 :デフォルトの名無しさん:02/10/24 20:09
両方死ぬほど使えますが何か?
VCを崇拝するスレじゃないだろう?
カス。

525 :デフォルトの名無しさん:02/10/24 20:18
他でやってくれないか。ここVCを教えるスレだから。

526 :デフォルトの名無しさん:02/10/24 20:58
>>524
お前馬鹿か?
初心者にVC++を教えるスレなんだよ。
Linuxなんぞどーでもいーんだよ!
Linuxを語るんなら他所逝け!
ボケ!

527 :デフォルトの名無しさん:02/10/24 21:11
>>524は言い返すのに必死になってここがどこだかわからなくなったんだろうな

528 :デフォルトの名無しさん:02/10/24 21:35
Linux厨ってイタイな・・・

529 :デフォルトの名無しさん:02/10/24 22:18
>>507
> Visual C++ でrs-232cのシリアル通信でどうやるんでしょう?

BuildCommDCB BuildCommDCBAndTimeouts ClearCommBreak
ClearCommError CommConfigDialog EscapeCommFunction
GetCommConfig GetCommMask GetCommModemStatus
GetCommProperties GetCommState GetCommTimeouts
GetDefaultCommConfig PurgeComm SetCommBreak
SetCommConfig SetCommMask SetCommState
SetCommTimeouts SetDefaultCommConfig SetupComm
TransmitCommChar WaitCommEvent

あたりを調べてミレ。

> MSComm は Visual Basic のコマンドなんですか?

どうでもいいけど、コマンドじゃないよ、コントロールだよ。

> デジタルボルトメーターを制御したいんですが。

どこの奴 ? メーカーでライブラリ提供してない ?

530 :デフォルトの名無しさん:02/10/24 22:49
Linuxはまともな統合開発環境がないから気に食わん。

531 :デフォルトの名無しさん:02/10/24 23:43

>>530
Linuxつかえないだけだろw

532 :デフォルトの名無しさん:02/10/24 23:44
>>521
もしかして「役不足」の用法勘違いされてますか?

533 :デフォルトの名無しさん:02/10/24 23:46
やくぶそく【役不足】
(1)俳優などが与えられた役に満足しないこと。
(2)能力に対して、役目が軽すぎること。「―で物足りない」

534 :デフォルトの名無しさん:02/10/24 23:58
おぉ。初心者に教えてくれるスレなんて有ったんだ!!
本当に初心者で尚且つプログラムのプの字も知らなくても
マスター出来たりするでしょうか…。
過去ログを今から漁ります。

535 :530:02/10/25 02:05
>>531
じゃあ、どんな環境で開発しているの?
もしかして gcc + Emacs で満足なの?

536 :デフォルトの名無しさん:02/10/25 02:07
だからLinuxは他でやれって。

537 :デフォルトの名無しさん:02/10/25 02:14
Linuxってプログラム技術と関係ないんだから他でやれよ。

538 :デフォルトの名無しさん:02/10/25 02:20
>>537
Linuxでの開発にはプログラム技術が不要なのですか。
HSPよりも素晴らしそうですね。(藁

539 :516:02/10/25 06:58
レスありがとうございます<(_ _)>

Linuxについてですが「Windowsのアプリを書きたい、IDEに触れたい」というのがあるので
今回は見送らせてもらいます。

>>519
学生ならAcademic Editionのほうが良さそうな気がするんですがProfessionalを選んだのは
何か理由があるんでしょうか?

540 :デフォルトの名無しさん:02/10/25 07:26
HSPもLinuxも他所でやれっつってんだろ?
スレ違いだ!消えろカス!

541 :519:02/10/25 09:01
>>539
Academicにはアクティベーションがあるからだね。ノートとデスクトップの両方にインストールしたかったから。
当時はMSDN Deluxe Editionに10,000\キャッシュバックがあったし。

542 :デフォルトの名無しさん:02/10/25 09:12
C♯の使い方教えて欲しいな…

543 :デフォルトの名無しさん:02/10/25 10:55
>>542
スレ違い。
http://pc3.2ch.net/test/read.cgi/tech/1023766485/l50

544 :516:02/10/25 12:12
>>541
そんな違いがあったんですね。
気がつきませんでした。

よし、私もProfessional買おう!
と思ったらタカッ!Σ(゚Д゚)

Academicが24500円でProfessionalが87800円(ウソマップ価格)。
中身同じなんですよね・・・・。
学生証をゴールドカードって呼ぶ人の気持ちがわかりますた。

Academicを買うかVC++.NETを買うかで悩んでるんですがどう違うのでしょうか?
http://www.microsoft.com/japan/msdn/vstudio/productinfo/featureview.asp
を見てもいまいちピンと来ないんですが。

545 :516:02/10/25 12:19
書き方悪かったかも。
文章不自由ですいません<(_ _)>

違いは表を見たら一目瞭然ですよね・・。
知りたいのはどういう目的で使用する場合違いが出てくるか?とか、
何か決まり事(例えばアクティベーションとかGPLみたいな)があるのか?
を知りたいです。

546 :デフォルトの名無しさん:02/10/26 03:37
VC++で、C言語のファイルを編集する場合、秀丸の関数一覧のような機能を
ご存知の方おられませんか?


547 :アフォ:02/10/26 04:20
秀丸の関数一覧のような機能をJAVAでも使えますか?
>>546
関数一覧て左側のペインに出てるじゃん。


548 :悶絶:02/10/26 08:44
今、C++でDirectXフルスクリーンのプログラムを作っています。(開発はVisualC++6.0)
フルスクリーンの状態で、ダイアログを開き、テキスト入力を受けつけ、
値を取得したいのですがどうすればいいのかわかりません。

┌───────────────────┐
├───────────────────┤
│| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| [ O K . ] │←フルスクリーンで こんなのん
│. ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  [CANCEL]_ .|
└───────────────────┘

APIでもVC++でもいいのですが、
なるべくシンプルな実現方法はないでしょうか。

#一晩中ネットのVC++サンプル等を見て回ってたのですが、
#あんなにズラズラ書かないと 上の機能は実現できないのでしょうか
#〜.rcとかclwとかapsとか・・・ 一瞬、VBのInputBoxが懐かしくなりました(w

549 :デフォルトの名無しさん:02/10/26 09:32
この業界入って、何の資格も取らずに40歳までいっちゃうとリストラ対象になるってホントですか?

550 :デフォルトの名無しさん:02/10/26 09:43
VC++
まずは何から勉強すれば良いでしょうか?
参考書?チュートリアルHP?
色々教えてください。

551 :デフォルトの名無しさん:02/10/26 09:45
>>549
本人の能力によりけり

552 :デフォルトの名無しさん:02/10/26 10:03
>>549
資格なんか関係ないっしょ・・


553 :デフォルトの名無しさん:02/10/26 11:53
VC++でCORBA使うにはどうすればいいんですか?

554 :315:02/10/26 18:03
>>552
会社によるやろ。
とりあえず、板違い & コピペはウザイ。> >>549

555 :デフォルトの名無しさん:02/10/26 21:14
VC++6.0 で、次のようなプログラムを作りたいのですが…
  ボタン1を押したら、ある時間のかかる計算を開始。
  計算中にボタン2を押したら、(適当なところで)中止。
しかし、OnButton1() の部分にその計算ルーチンを
入れてしまうと、ボタン2を押そうとしても押せませんよね。
この場合、どのように組むのが一般的なんでしょうか?
超初心者ですみませんが、よろしくお願いします。

556 :VC++房:02/10/26 21:16
pBuffer = (BYTE*)VirtualAlloc(NULL, Param.Image.BufferLength, MEM_COMMIT, PAGE READWRITE);

1、(BYTE*)は何を意味するのでしょうか?
2、Param.Image.BufferLength は予約またはコミットするページ領域のサイズを、バイト単位で指定
 することになるのでしょうか?
お願いします、教えてください。      

557 :デフォルトの名無しさん:02/10/26 21:18
>>555
マルチスレッド

558 :555:02/10/26 21:28
マルチスレッドって何

559 :デフォルトの名無しさん:02/10/26 21:30
スッドレ!


560 :デフォルトの名無しさん:02/10/26 21:38
>>558
MSDN で、マルチスレッドを検索汁。
そこに書いてあることが、理解できないなら、>>555 みたいなことは、君にはまだ無理と言うことだ。
頑張って色々調べる/やってみるか、そう言うプログラムはあきらめるかのどちらかを選択しな。

561 :555:02/10/26 22:25
>>557 >>560

>>558 は私ではないのですが・・・
>>558 さん、代わりに聞いてくださってありがとうございます(w
マルチスレッドですね。何とか頑張って調べてみます。
お答えいただき、どうもありがとうございました!

562 :デフォルトの名無しさん:02/10/26 23:00
VC++6で、ブレークポイントで実行を停止したあとって、ステップ実行しかできないのでしょうか?
次のブレークポイントに出会うまで実行を再開することは不可能?


563 :デフォルトの名無しさん:02/10/26 23:02
単にF5か・・・・


564 :デフォルトの名無しさん:02/10/26 23:15
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

565 :デフォルトの名無しさん:02/10/26 23:25
UNICODEを使いたいのですが、上手く動作してくれません。
間違ってますか…?お願いします。

char szData[20];
char szMulti[80];
memset(szData, 0, 20);
memset(szMulti, 0, 80);

strcpy(szData, "あ");

WideCharToMultiByte(
CP_UTF8,
WC_DEFAULTCHAR,
(LPCWSTR)szData,
-1,
(LPSTR)szMulti,
100,
NULL,
NULL);

MessageBox(szMulti);

566 :デフォルトの名無しさん:02/10/26 23:32
・WCHAR/wchar_t szMulti[80]
・MessageBoxW

567 :デフォルトの名無しさん:02/10/26 23:35
>>561
マルチスレッドについては「猫でも分かるプログラミング」と言うHPで見れば分かると思う。
ただしMFCではないので注意。

568 :デフォルトの名無しさん:02/10/26 23:54
>>550
「まずは」か…。
とりあえず今はどれくらいのことができるのよ?
一般的には
C言語 -> C++言語 -> Win32 SDK -> MFC
って順序かな。VisualC++の開発環境の使い方もそれと並行して。

569 :568:02/10/27 00:00
おっと「何から」って書いてあるから
「どの段階から」って意味かと思ったが違うのか?
「どの情報源から」って意味ならとりあえず全部だ。
自分で良さそうと思うのを選択して学ぶくらいできなきゃ駄目だぞ?
そうそう、書籍に金を惜しんだり英語を敬遠するのもあまり良くないな。

570 :デフォルトの名無しさん:02/10/27 00:21
初心者に Visual C++ なんか教えちゃだめです。
まず Delphi を教えてから、ANSI C++ を教えて、C++ Builder を教えましょう。
そしたら、VCL のソースの読み方と Win32 SDK を教えましょう。
いまどき MFC なんて読ませたら、まともなライブラリ作られへんようになって
まいます。
それから、Java 2 SDK のライブラリのソースも参考に読ませるといいでしょう。
VCL よりもオブジェクト指向的に洗練されているし、いろいろなデザイン・
パターンが使われていて勉強になります。


571 :デフォルトの名無しさん:02/10/27 00:22
ANSI C++って何ですか?


572 :デフォルトの名無しさん:02/10/27 00:28
>>569
そうそう。
なんであれ本気で技術を身に付けようと思ったら、お金と時間をケチってはいけません。
それがいやだというなら、技術習得はあきらめることです。


573 :561:02/10/27 00:42
>>567
おっしゃる通り、MFCでやろうとしていました…。
教えていただいたHPですがとても分かりやすいので、
ここを参考にして、SDKから学ぼうと思います。
本当にありがとうございました。

574 :デフォルトの名無しさん:02/10/27 01:17
>>568
おいおい、普通は

  C言語 → Win32 SDK
           ↓
       ( C++言語 → MFC ) opt.

じゃないのか?
それだと、Win32 SDK に C++ が必須のように見える。

575 :厨房:02/10/27 01:29
すごいすみません。
VC++のパッケージってエンタープライズとかプロフェッショナルとかアカデミックとか
色々ありますが、これらの違いはなんでしょうか?
もしこれで作ったソフトを売ろうと思ったら、アカデミックなら売ってはいけないとかあるんでしょうか?

576 :デフォルトの名無しさん:02/10/27 02:06
>>575
自分を厨房と呼ぶな。教えて君と名乗れ。
自分で調べる手間を惜しむならそうすべきだ。

エディションの違いは全部パッケージに書いてあるから確認しろ。
商利用はアカデミックでも問題ないはずだ。

577 :デフォルトの名無しさん:02/10/27 02:55
>>576
>商利用はアカデミックでも問題ないはずだ。
「そのエディションで商利用が大丈夫なら」だね。

578 :576:02/10/27 03:16
>577 ああそうだ、すまそ。

579 :デフォルトの名無しさん:02/10/27 05:43
gccのtypeof演算子のようなものはVC++にはありませんか?
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/gccextend.html


580 :デフォルトの名無しさん:02/10/27 05:52
>>579
template 使いなさい。

581 :デフォルトの名無しさん:02/10/27 05:54
はい。


582 :デフォルトの名無しさん:02/10/27 06:01
>>579
typeof 演算子を使って、一体何をやりたいの?

583 :デフォルトの名無しさん:02/10/27 06:04
>>582
http://pc3.2ch.net/test/read.cgi/tech/1026793823/756n-
のVC6用を作るのに使おうかと思ったんですが漏れの妄想でした。


584 :デフォルトの名無しさん:02/10/27 06:24
>>583
ああ了解。
でも、

| #define ARRAY_SIZE(name,type) (sizeof(name)/sizeof(type))
| にしておいたのですが、template使ってnameがポインタだった場合に
| コンパイルエラーにすることはできないでしょうか?

で、name がポインタかどうかわからない局面ってあるのかな?
コーダーがよっぽどのチョンボをしてない限りチェックの必要は無いと思うけど。

585 :デフォルトの名無しさん:02/10/27 06:28
>>584
そうですね。作ってみたい衝動にかられただけで、必要かといえばそうでもないように思います。


586 :デフォルトの名無しさん:02/10/27 08:04
>>548はレスもらってないが、解決したの?

587 :デフォルトの名無しさん:02/10/27 08:06
>>586
548タンでつか?


588 :デフォルトの名無しさん:02/10/27 08:12
>>58違う。
もしまだ解決してないなら何か書いとこうかと思って。
一口で言える話ではないんでガイドライン的なものになるけど。
難しい質問じゃないんで、もう解決してるか。

589 :デフォルトの名無しさん:02/10/27 08:58
VC++.NETで、C言語を使ってDOSアプリを作りたいのですが、
カーソル移動とか、文字の色を変えるとかの関数ってありますか?


590 :デフォルトの名無しさん:02/10/27 09:05
VC.NETでは16bitDOSアプリは作れないだろ。

32bitコンソールアプリの話なら、
SetConsoleCursorPosition
SetConsoleTextAttribute
あたりを使え。

591 :デフォルトの名無しさん:02/10/27 09:11
>>590
お答えいただきありがとうございます
えっと、他にもどんな関数があるのか見たいのですが・・・
ヘルプのどこを見ればいいのかわからないです・・・。
関数のリファレンスは、どこにあるのでしょうか?


592 :デフォルトの名無しさん:02/10/27 09:43
>>588
外野だけど興味はある。
「FSWindow見ろや!」というのだったらどうでもいい。

593 :デフォルトの名無しさん:02/10/27 12:45
>>591
逆引きしる。たとえばSetConsoleCursorPositionをヘルプで検索表示した後、
ツリーを同期させればいい。.NETは知らないが、多分同じだろう。

594 :デフォルトの名無しさん:02/10/27 18:39
>>556
Cスレでも聞いてただろ!

1 BYTE* = unsigned char*

2 「バイト単位」と MSDNに出てるだろ! ただし予約(コミット)された領域は
 ページ境界(64kB境界)に切り上げられる。すなわち、実際に予約(コミット)
 される領域は 64kB単位になる。

595 :ボルフェス:02/10/27 18:41
>>594
ありがとうございます。

596 :デフォルトの名無しさん:02/10/27 19:30
>>595=ボルフェスは単発質問スレたて野郎なので放置。

597 :568:02/10/28 00:48
>>574
う。そりゃそうかも。
先にソースコードの拡張子をCPPにしておいた方がAPIの勉強する
ときもなにかと便利かと思ったんだが。
でもextern "C"とかやな問題もあるか…。

598 :デフォルトの名無しさん:02/10/28 01:33
カーソルの座標をスクリーン座標からビュークラスの座標に
変換しようとしたんですが
POINT CursorPt;
GetCursorPos(&CursorPt);
MapWindowPoints(this,&CursorPt,1);
どこがダメですか?

599 :574:02/10/28 01:48
漏れも少々示威的な書き方したかな。
Win32 API を経由しないで C++ → MFC と逝く事もできなくは無い。
ただ、いきなり C++ からというのは勘弁な。
http://pc3.2ch.net/test/read.cgi/tech/1026793823/743 のような DQN が
発生する確率が上がる。

600 :デフォルトの名無しさん:02/10/28 01:53
>>598
( `Д) <自分のWindowを変換元の基準にしてどうするんだ?
/(ヘ つ )ヘ  MapWindowPointsの第一引数をHWND_DESKTOPにしる!
       つーか、この場合、ScreenToClientの方がいいと思うが。

601 :デフォルトの名無しさん:02/10/28 01:53
俺はC→MFCだ。その後Win32APIに。
Win32APIや標準C++知らなくても入門書見ればある程度動くものはできちゃうのがMFCなんだよな。
あ、もちろんWin32APIとC++わかってるに越したことは無いんだけど。

結局こういう話題で最終的にたどりつくのは
「本人にやる気があればなんとでも」ってことに。

602 :デフォルトの名無しさん:02/10/28 02:14
( `Д) <あ、CWnd::MpaWindowPointsはこの場合使えない。
/(ヘ つ )ヘ  

603 :デフォルトの名無しさん:02/10/28 02:20
>>602
ScreenToClientでできますた。どうもです。

・・・確かにmap・・・はこの場合使えませんね・・・
あほでした。

604 :初心者:02/10/28 06:46
extern "C" void _stdcall SystemFunc( SYSTEM_FUNC *Param )
{
・・・
}

システムコールバックの最初の行なのですがどのような操作をしているのでしょうか?
さっぱりです。ユーザー関数定義のように見えるんですが

605 :初心者:02/10/28 06:58
すみません解決しました。ほかの言語の関数を宣言する際にextern "C" が必要な
んですね。

606 :デフォルトの名無しさん:02/10/29 08:29
タブコントロールの特定タブにフォーカスを移すにはどのようにすれば良いのでしょうか?
タブをクリックするとそのタブが選択された状態になりますが、それをプログラム側でやりたいのですが・・

607 :デフォルトの名無しさん:02/10/29 09:06
TCM_SETCURSEL

608 :606:02/10/29 09:32
>>607
出来ました、ありがとうございました。m(._.)m

609 :デフォルトの名無しさん:02/10/29 14:47
CListCtrlで、SubItemを編集可能にするにはどうしたらいいのでしょうか?



610 :デフォルトの名無しさん:02/10/29 14:53
http://www.codeguru.com/listview/edit_subitems2.shtml のようですね。



611 :デフォルトの名無しさん:02/10/29 17:12
ダイアログベースのアプリではドーヤンノサ

612 :デフォルトの名無しさん:02/10/29 17:48
フォーカスを現在のウィンドウからデスクトップに移動させる事は
可能なのでしょうか?

GetDesktopWindow()->SetFocus();

と書いたらコンパイラに怒られますた。

613 :デフォルトの名無しさん:02/10/29 18:02
::SetFocus( ::GetDesktopWindow() );

614 :612:02/10/29 19:29
>>613
ありがとうございました。

615 :デフォルトの名無しさん:02/10/29 22:43
CHtmlViewでイベントハンドラOnMouseMove()
が使いたいんですが、何故か反応してくれません。
どうすればいいのでしょうか?

616 :これ解りますか?:02/10/29 22:46
/*1秒ごとに0〜99までの数値を画面に表示するプログラムを作成する。
数値は9ごとに改行し各数字の間隔は48ドット空けること*/

このプログラムに手を加えて(手直し)作ってください。お願いします
case WM_CREATE:
{
SetTimer(hWnd,1000,1000,NULL );
}
break;

case WM_TIMER:
{
HDC hdc;
char string[8];
wsprintf(string,"%d",suti);
TextOut(hdc,0,48,string,strlen(string) );
}
break;


617 :デフォルトの名無しさん:02/10/29 23:26
WM_PAINTが無いことといい、
wsprintfのreturn valueを使ってないことといい、
GetDCしていないことといい、
変数名がsutiといい、

 ト コ ト ン 糞  い コ ー ド だ な 

618 :デフォルトの名無しさん:02/10/30 05:54
しかも多分自分で書いたコードではないと思われ。
超越的マルチだから放置。

619 :デフォルトの名無しさん:02/10/30 14:32
SetWindowLongでサブクラス化した先の関数(プロシージャ)に
構造体のポインタを渡したいのですが可能でしょうか?


620 :デフォルトの名無しさん:02/10/30 15:09
>>619
同一プロセス内なら、何か適当なメッセージに LPARAM か何かで送ってやる。
違うプロセスだったらメモリ領域が全然別なので無理。

621 :デフォルトの名無しさん:02/10/30 15:42
あるデバイスコンテキストの絵を実際に画面に出力している
デバイスコンテキストへのコピーのやり方を教えてください。

622 :619:02/10/30 17:51
>>620
LPARAMでやってみます。
ありがとうございました。

623 :*学生:02/10/30 18:02
ScrInfo->BitMapInfo.bmiHeader.biSize     = sizeof( ScrInfo->BitMapInfo.bmiHeader );
ScrInfo->BitMapInfo.bmiHeader.biWidth= ScrInfo->Width;
ScrInfo->BitMapInfo.bmiHeader.biHeight= ScrInfo->Height;
ScrInfo->BitMapInfo.bmiHeader.biPlanes= 1;
ScrInfo->BitMapInfo.bmiHeader.biBitCount     = 24;

このプログラムでは、ビットマップのサイズを求めて ScrInfo->BitMapInfo.bmiHeader.biSize
に格納していると解釈して良いでしょうか?

624 :デフォルトの名無しさん:02/10/30 18:20
>623 ちがう。ヘッダだけのサイズです。

625 :デフォルトの名無しさん:02/10/30 18:28
>>624
ありがとうございます

626 :*学生:02/10/30 18:52
あとビットマップの計算方法なんですけど
//BITMAP情報の取得
BITMAP bi;
ZeroMemory(&bi,sizeof(bi));
if(GetObject(bmp,sizeof(bi),&bi) == 0)return FALSE;

//ファイルサイズ計算
LONG filesize = bi.bmWidthBytes * bi.bmHeight + sizeof(BITMAPFILEHEADER)
+ sizeof(BITMAPINFOHEADER);
LONG bpp = 0;
:
:
としたんですが、bi.bmWidthBytesは取得したBITMAP情報のWidthByte数で良いで
しょうか?

627 :デフォルトの名無しさん:02/10/30 20:00
あるデバイスコンテキストの絵を実際に画面に出力している
デバイスコンテキストへのコピーのやり方を教えてください。




628 :デフォルトの名無しさん:02/10/31 00:38
CHtmlViewをいじってるんですが、HTML内の画像を取得するにはどうしたらいいですか?
GetHtmlDocumentの後、get_imagesをやってみましたがよくわかりません。

画像を取り出して別ウインドウに表示させるというようなことをしたいのですが…。

629 :デフォルトの名無しさん:02/10/31 11:33
>>457
そうです。
でも、なんか使う必要なくなったっぽい

630 :デフォルトの名無しさん :02/10/31 23:42
Visual Studio.NETインストールしてC++.Net使ってるんですが
例えば「HelloWorld」を表示させるソースを書いたとして、どうやって実行するんですか?
アホみたいな質問ですけど教えてください。

631 :デフォルトの名無しさん:02/10/31 23:53
>>630
ビルドしろ

つーか素直にVisualC++初心者用の本を買え


632 :630:02/11/01 00:03
いや、なんやらかんやらエラー出るのよ。
Cygwinもエラーでるし。もう目の奥がいてーや。

633 :デフォルトの名無しさん:02/11/01 00:27
HelloWorldで解決困難なエラーが出るとはどうしても思えないんだ

634 :デフォルトの名無しさん:02/11/01 00:34
デバッグしろ

635 :デフォルトの名無しさん:02/11/01 01:12
>「HelloWorld」を表示させるソース
を見せてみろ

636 :デフォルトの名無しさん:02/11/01 01:32
こういう人ってたいていソースよりプロジェクトの設定とかに問題がある

637 :デフォルトの名無しさん:02/11/01 01:59
それは、全角で空白や{}を入力しているからだ!
と、過去の経験から予想してみる。

638 :デフォルトの名無しさん:02/11/01 03:15
: error C2601:'SaveBitmapFile' : ローカル関数の定義が正しくありません。
って言われちゃったんですが、バグ取るのにどのへん見たら良いんですか?
この手のバグは大体カッコの位置が悪いと思ってたんですが今回はそんなこ
と無いようなんで、わかんないす…。

639 :デフォルトの名無しさん:02/11/01 09:36
>>638
それ 「HelloWorld」 じゃないだろ絶対・・・。
つーか、エラーメッセージの内容と指し示している行番号が全てを物語ってる
んだからそれで解決せい。

640 :デフォルトの名無しさん:02/11/01 09:39
WINDOWS+VC6+SDKでツリーコントロールを作りました。
で、複数選択させるにはどうすればいいんでしょう?
誰か教えてくださいまし。

641 :デフォルトの名無しさん:02/11/01 10:08
できねーよ。
MFCでやりな

642 :デフォルトの名無しさん:02/11/01 13:11
char型配列に文字列が格納されていて、そのポインタを作成し、
ポインタを使って文字列の中の特定文字(改行コード\r\n)をある文字に置き換えたいのですが
可能でしょうか?
Perlの s/\r\n/置換文字/ のようなことをやりたいのですが・・。
#無いようなら自作する予定です。。

643 :デフォルトの名無しさん:02/11/01 13:39
char型配列は文字の配列であって文字列じゃねーよ。
文字の配列に高度な機能を期待するな。

644 :642:02/11/01 13:44
一文字単位の置換処理なので自作しました。
お騒がせしました。m(__)m

645 :デフォルトの名無しさん:02/11/01 14:32
>>638
>>641
>>643

バカですか?

646 :デフォルトの名無しさん:02/11/01 14:59
>>645
貴方ほどでもないです。

647 :デフォルトの名無しさん:02/11/01 15:45
>641さん
640です。
やはり無理ですか・・・しくしく


648 :デフォルトの名無しさん:02/11/01 15:49
SDKの質問に「SDKじゃできなくてMFCじゃできる」って答える奴は今後答えなくてよし

649 :デフォルトの名無しさん:02/11/01 16:17
SDKじゃできなくてMFCじゃできる。

650 :デフォルトの名無しさん:02/11/01 16:21
BREGEXPマンセー。


651 :デフォルトの名無しさん:02/11/01 17:29
さんざガイシュツだと思うけど

vc7の変更で
stl::vector<T>::iterator が T* と型が違うんだけど
どう書けばいいのん?

(void*)vec.begin() とかも変換できねーってエラーでるよん

652 :デフォルトの名無しさん:02/11/01 17:35
>>651
T* を要求する時点で厨。
vector<> にそんな規定は無い。
普通に *itr で実体出てくるだろ。

653 :デフォルトの名無しさん:02/11/01 17:35
iteratorをポインタと思うな。

654 :デフォルトの名無しさん:02/11/01 17:56
ほげ。vectorの先頭から終わりまでファイルに書き出すようなプログラムなんだけどさー
どう書けばいいの?

要素の先頭アドレスがほしいのさー




655 :デフォルトの名無しさん:02/11/01 18:07
>>651
・・・は?

656 :デフォルトの名無しさん:02/11/01 18:20
>>654
普通に for か for_each() で回せばいいだろ。
何で先頭の要素のアドレスなんか必要になるんだ?
まさか、vector<> を配列とみなして扱ってないだろうな?

657 :デフォルトの名無しさん:02/11/01 18:21
>>651
> さんざガイシュツだと思うけど

いいやあんたみたいな DQN は初めてだ。

658 :デフォルトの名無しさん:02/11/01 18:24
>654
&vec[0]でもやっとけ

659 :630:02/11/01 18:39
>635
#include<stdio.h>
int main(void)
{
printf("HelloWorld\n");
return 0;
}

これでいいでしょ?
ビルドってソリューションのビルド?やると
---------------------- 終了 ----------------------

ビルド : 1 正常終了、0 失敗、0 スキップ

これがでる。

それからどうするんだ???

ちなみにデバックの開始かなと思ってやったら
・・・を読み込みました。必要な DBG ファイルが見つからないか、開けません。
とかシンボルが見つかりませんとかメッセージが出てる。
で、真っ白なウィンドウが出てくるだけ。

学校じゃUNIXでやってるからよくわからん。

660 :デフォルトの名無しさん:02/11/01 18:41
ええ?まじっすか?

661 :デフォルトの名無しさん:02/11/01 18:42
>>659
・・・実行してくださいよ。デバッグでもビルドでもなく。

662 :デフォルトの名無しさん :02/11/01 18:42
複素数を配列要素としたい場合、配列の宣言は
complex<double>E[i];でよいんですかねぇ。。

663 :デフォルトの名無しさん:02/11/01 19:51
>>641
MFCでできることはSDKでも出来んか?

664 :デフォルトの名無しさん:02/11/01 20:58
>>630
コンソールアプリじゃないだろさては

665 :デフォルトの名無しさん:02/11/01 21:02
なんで入門書とかMSDN読まないんだろうね

666 :デフォルトの名無しさん:02/11/01 23:33
666!

667 :デフォルトの名無しさん:02/11/01 23:42
>>665
厨房だから。

668 :630:02/11/01 23:51
>665
早急に課題を仕上げたくて昨日インストしたばっかりだから。

やっぱいまいち使い方わかんないから連休中に本屋にでも行ってみる。
Cygwinでのコンパイルは出来たけどな〜。実行が出来ない、、、。

669 :デフォルトの名無しさん:02/11/02 00:08
Debug Error!ってのが出たんですけどどうすれば・・・

670 :初心者 ◆R3BY3NwKAE :02/11/02 00:35
すんません。テキストファイルを1行ずつ読み込む方法を
教えていただけませんか?

671 :初心者 ◆R3BY3NwKAE :02/11/02 00:51
見つけたっぽいです。すいません。

672 :大きなしっぽの古ダヌキ:02/11/02 00:59
663よ。

本当はこーやるのよん(by MS)
だ・け・ど、あたしの意に添わない方や五月蝿い方はには
これをあげるわ → SDK。
あたし言うことを聞く余計なことをしない良い子は
やさしく簡単にしてあげるわね → MFC
賢い子は両方使ってね。
まちがってもオブジェクトぢゃないなんて駄々こねないでね。

と言うことだ。
640の厨房はもっと気張らんといかん。

それでは私の歌を聞いて頂戴・・・

673 :デフォルトの名無しさん:02/11/02 14:26
関数にクラスポインタを渡して、受け取ったクラスポインタを構造体のvoidポインタに格納して
その構造体のポインタを別の関数に渡して、構造体ポインタのvoidポインタから
クラスポインタを取得してそのクラスポインタを使って処理。

ファイルを分けたり、関数を細かくまとめるとこんな面倒な処理をしないと駄目になり鬱・・・


674 :673:02/11/02 14:32
ポインタのポインタのポインタと関数を渡り歩いて
終着点でちゃんと受け取れてるんだから凄い・・。
自分でもわけわからない・・。
途中にバグあったらあったら・・死ねる・・。

675 :デフォルトの名無しさん:02/11/02 16:05
>>673-674
一体どういう DQN な設計をしたらそんな事になるんだ?

676 :デフォルトの名無しさん:02/11/02 16:13
クラスポインタとvoid*を相互変換しているだけで、
ポインタのポインタのポインタなんて使っているように見えないが?

677 :デフォルトの名無しさん:02/11/02 16:52

(,, ゚д゚) ┳┳┳┳┳ 

678 :デフォルトの名無しさん:02/11/03 13:39
エディタ等でウイドウの分割機能とかありますが、2つに分割したウインドウの間を
マウスでドラッグした状態で動かすとサイズが変更できますがあれはどのようにしているのでしょうか?
わかる方が居ましたらヒントだけでもいいので教えていただけると嬉しいです。m(__)m

679 :デフォルトの名無しさん:02/11/03 13:54
>678
移動されたら各々のウインドウサイズ調整する。


680 :678:02/11/03 14:08
ちょっと説明不足でした・・
2つのウイドウの間にマウスカーソルが来た時の処理なのですがどのようにすれば良いのでしょうか?
┏━━━┓
┃┏━┓┃
┃┃  ┃┃
┃┗━┛←ここにマウスカーソルが来た時の処理
┃┏━┓┃
┃┃  ┃┃
┃┗━┛┃
┗━━━┛
#現在は上にリッチエディットボックス、下にエディットボックスをダイアログに貼りつけています

681 :デフォルトの名無しさん:02/11/03 14:22
>680
そんなこと言われてもそのまんまだが?
サイズ変更されない方のウインドウサイズを変更してやればよい。



682 :678:02/11/03 14:39
>>681
了解です、ありがとうございました。m(__)m

683 :デフォルトの名無しさん:02/11/03 14:54
スプリッタ?
Splitterとかで検索掛ければ沢山サンプルが出てくると思われ
たしか、猫でも簡易スプリッタやってた気がする

684 :デフォルトの名無しさん:02/11/03 17:38
for(i=0;i<256;i++){
for(j=0;j<256;j++){
pDC->SetPixelV(j,i,RGB(j,j,j));
}
}
完全に表示されるまでえらく遅いんですがなんとかなりませぬか?

685 :デフォルトの名無しさん:02/11/03 17:41
>684
縦の線を256本引いたらあかんの?



686 :デフォルトの名無しさん:02/11/03 17:56
実際にはもっと長い計算式が入ります

687 :デフォルトの名無しさん:02/11/03 18:02
>686
SetPixelがほんとにボトルネックだとしてだが、
メモリ上にbipmap直接描いてからbitblt()でどうか。




688 :デフォルトの名無しさん:02/11/03 18:16
メモリ上にBitmapをつくるやり方が良く分からんのです。
CDC DC;CBitmap bmp;
DC.CreateCompatibleDC(pDC);
bmp.CreateCompatibleBitmap(pDC , 256 , 256);
         .
         .
pDC->Bitblt(0,0,256,256,&MemDC・・・)

↑全然的外れですか?初心者でスマン

689 :デフォルトの名無しさん:02/11/03 18:30
すいませんちょびっとだけ間違えてました。
できました。
ありがとうございました。>>687

690 :デフォルトの名無しさん:02/11/03 22:59
アクティブな構成がデバックだとエラーが出て、
リリースだとエラーが出ないって
何が原因ですか?

691 :デフォルトの名無しさん:02/11/03 23:47
エラーって、どんな?
ASSERTの類ではなかろうな?

692 :デフォルトの名無しさん:02/11/03 23:50
>690
エラーメッセージを書きたまえ。

693 :デフォルトの名無しさん:02/11/04 00:16
visual c++で、C言語学びたいのですが、どうすればいいですか?

#include <stdio.h>
main()
{
printf("This is a test!");
}
って言う簡単なプログラムが、動くので、ウィンドウとか無視したいのですが。
http://www.kumei.ne.jp/c_lang/intro/no_01.htm
で、僕のは、ver6.0なので、出来ないのですが、どうすればよいでしょうか?

694 :693:02/11/04 00:19
適当にやったら出来ました。

695 :デフォルトの名無しさん:02/11/04 00:29
ちょっとスレ違いですが・・・
よく、「バッファオーバーフローが原因でセキュリティー上の問題が有ります。」
みたいな警告がありますが、このバッファオーバーフローとはどんな問題なのですか?
また、これを利用してシステムを乗っ取るとは?
質問ばっかで申し訳ないですが、Cとか詳しい人ならわかるかなと思ったので。

696 :デフォルトの名無しさん:02/11/04 00:32
>>695
適当にやったらできるよ。多分。

697 :デフォルトの名無しさん:02/11/04 01:05
>695
とてもスレ違いだが。

関数呼び出しがリターンアドレスをスタックに積み、
自動変数もスタックに確保される事を知っていれば
あとは想像できるだろ。

詳しく知りたければ、exploitをキーワードに検索してみ。

698 :695:02/11/04 03:37
>>697
わざわざどうも。
検索してみたところ、IBMのサイトに詳しい解説がありました。
スタックに積んであるアドレスを書き換えて、ヤバイ関数に飛ばしちゃうみたいなイメージは
有ったのですが、それとバッファをあふれさせることがどう関係するのかがよくわからないんです。
もう少し読み込んだらわかるかな。

699 :デフォルトの名無しさん:02/11/04 04:27
>>697
そこまで判って何でわからんのか?
バッファ溢れた先にリターンアドレスがあるだろ。
スタックを理解してないのかバッファ溢れの意味を理解してないのかのどちらかだな。

700 :デフォルトの名無しさん:02/11/04 08:58
スタック
[bf][bf][bf][re][__]
長すぎる入力でーた。
[FF][FF][FF][XX][__]
XXにリターン。

(たとえば、XXが入力データの先頭で、入力データがバイトコードだったなら、)
任意のコードが実行されてしまう。

701 :デフォルトの名無しさん:02/11/04 09:48
超初心者です。
C++で、CString型(あるいはchar型配列)の文字列に"(ダブルクウォート)を代入する方法
ってあるんでしょうか?
コンパイラはVC++です。


702 :デフォルトの名無しさん:02/11/04 10:39
str = "\"";

703 :デフォルトの名無しさん:02/11/04 11:15
>>701
超初心者つうよりド素人だな。( ´,_ゝ`)プッ

704 :695:02/11/04 13:46
>>699
こりゃどうも。
スタックもバッファ溢れもわかるんですが・・・。
スタックなんかは、なにかしら安全性が確保されてるはずみたいな思いこみがあったんです。
つまり・・・
スタックに積んである呼び出し元のアドレスを、バッファ溢れを利用して書き換え、
別に用意した処理へ誘導するということかな。

705 :695:02/11/04 13:49
参考にしたIBMのサイトってこれです。↓
ttp://www-6.ibm.com/jp/developerworks/security/

706 :デフォルトの名無しさん:02/11/04 13:56
>>703
そう言うあんたは「自称上級者」だな。( ´,_ゝ`)プッ

707 :デフォルトの名無しさん:02/11/04 14:00
test

708 :デフォルトの名無しさん:02/11/04 14:59
>>704
> スタックに積んである呼び出し元のアドレスを、バッファ溢れを利用して書き換え、
> 別に用意した処理へ誘導するということかな。

その通り。理解してるじゃん。

709 :デフォルトの名無しさん:02/11/04 15:25
>>706
別に俺は上級者とは思ってないぞ!

710 :706:02/11/04 15:58
>>709
いや、あんたが他人の無知を嘲る様な書き込みするからさ・・・・・・。
でも、確かに漏れも口が過ぎた。スマソ。
但、>>701のことを「教えて君」だと思っているのなら、その考えは改めて欲しい。
漏れが初めてVC++なる物と超初心者向の本を買って勉強を始めた時も、
何のことは無い1行が分からんが為に意味不明なMSDNと格闘したり、ネットで
情報を集めたり・・・・・・。気付けばその1行の為に半日が終わってた、何て事も
ざらだった。
あんたも、こんな事あっただろ?それを忘れんでくれ、ってこった。



711 :デフォルトの名無しさん:02/11/04 16:29
>>710
でもココはVC++について教える板だろ?Cも分からん様だと…
まぁもうどーでもいーや。

712 :デフォルトの名無しさん:02/11/04 16:51
>710
それを忘れていないから、安易に2chに聞きに来た701を
「教えて君」と認定し、罵倒しているのではないだろうか。

ところで706は701を「教えて君」以外の何者と思っているのだろうか。

713 :706:02/11/04 16:54
>>711
確かに、そうだと言えばそうだが・・・・・・。
漏れはCとC++、同時に勉強したぞ。そう言う趣旨の本だったからな。
こういう場合、そう言われても如何しようもないと思うが・・・・・・。
スレ違いスマソ。もうこの話題は終わりにしませう。

714 :706:02/11/04 17:06
と思ったら・・・・・・。
>>713
確かに、それも1つの意見。漏れは、>>701は「考えあぐねた末、どうしても分からん
から着た」んだと解釈したが。
しかし、今改めて見ると、>>701が書き込んだ時間「09:48」・・・・・・。
これは、>>713の意見の方が正論かもしれんな・・・・・・。


715 :706:02/11/04 17:08
訂正。
>>713じゃなくて>>712
逝ってくる。

716 :デフォルトの名無しさん:02/11/05 01:02
初心者です。教えてください。

717 :デフォルトの名無しさん:02/11/05 02:13
double型のデータをsprintfを使って文字列にして表示しているのですが
値が小さく(大きく)なってきたとき
0.0000000000000001→1E-16のように
簡単に変える方法無いですか?


718 :デフォルトの名無しさん:02/11/05 02:16
>>717
if

719 :デフォルトの名無しさん:02/11/05 02:42
>>717
%e

720 :デフォルトの名無しさん:02/11/05 03:07
ifと%e使えば簡単に出来そうですね・・・
どうもです

721 :デフォルトの名無しさん:02/11/05 11:59
自作ソフトで挿入・削除などを行うデータ構造を作ろうと思ってますが、
C++のVectorは1種類の型しか収納できませんよね?
いろんなクラスを収納したいのですが、いい方法はありませんか?

722 :デフォルトの名無しさん:02/11/05 12:06
boost::any

723 :デフォルトの名無しさん:02/11/05 12:36
>>721
ありがとうございます。


724 :デフォルトの名無しさん:02/11/05 12:53
C++やろうと思って人様のホームページとかあさっているんだけど、
いちいちウィンドウ切り替えて入力しているとどうも面倒くさいので
お勧めの参考書をひとつおせーてください。

725 :デフォルトの名無しさん:02/11/05 12:56
あ、ごめんなさい。下のほうに参考書スレありましたね。
きづかなかった。本当にごめんなさい…なんかあったら
何れ訊きに来させていただきます。

726 :デフォルトの名無しさん:02/11/07 02:23
ウインドウの閉じるボタン押した時の処理を変えたいんですが
どうすれば出来ますか?
destroyではなくShowWindow(SW_HIDE)にしたいんですけど

727 :デフォルトの名無しさん:02/11/07 02:55
>>726

http://www.kumei.ne.jp/c_lang/sdk/sdk_08.htm

728 :デフォルトの名無しさん:02/11/07 07:54
>>726

case WM_CLOSE:
ShowWindow(hWnd, SW_HIDE);
break;

729 :デフォルトの名無しさん:02/11/07 10:48
>>727-728 ありがとうございました

730 :デフォルトの名無しさん:02/11/07 11:18
2chブラウザを使うにはVC++6.0とかMFCのランタイムライブラリが必要
とあるのですが、これは何の事なのでしょーか?

731 :デフォルトの名無しさん:02/11/07 18:27
実行ファイルを小さくするために共有DLLを必要とするから。
MFC30.DLLとかMFC42.DLLとかがシステムフォルダー
にインストされているなら使える。

732 :初心者。。。:02/11/07 23:05
VC++6.0の質問です。

(CFrameWnd派生の) 追加フレームクラスでツールバーを有効にしたいのですが・・・
メンバ変数に

  CToolBar m_wndToolBar;

を追加して、OnCreateメンバ関数で

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_追加フレームのメニュー))
{
  TRACE0("Failed to create toolbar\n");
  return -1; // 作成に失敗
}

としました。すると表示はされるのですが、有効になりません。
よろしくお願いします。

733 :>>732の初心者。。。:02/11/07 23:09
SAGEてしまいました。すいません。

734 :デフォルトの名無しさん:02/11/07 23:10
有効ってなんだろ。ハンドラを追加してないとか。

735 :732の初心者:02/11/07 23:17
>>734
ハンドラ追加したらできました!
ありがとうございました!

736 :デフォルトの名無しさん:02/11/07 23:40
OLEのDragDropを実装しようと思い、
static IDropTargetVtbl dtv = {
OLE_IDropTarget_QueryInterface,
OLE_IDropTarget_AddRef,
OLE_IDropTarget_Release,
OLE_IDropTarget_DragEnter,
OLE_IDropTarget_DragOver,
OLE_IDropTarget_DragLeave,
OLE_IDropTarget_Drop
};
と初期化しようとすると、「構文エラー : ';' が、識別子 'dtv' の前に必要です。」
とエラーが出てしまいます。'oleidl.h'をインクルードし、この他にシンタックスエラーも
無いと思うのですが、どなたか原因のわかる方いますか?
ちなみにC++でビルドすると、上記のようなエラーが出ます。Cだと出ません。
VC++6.0,Windows2000,SDKで組んでます。よろしくお願いします。

737 :初心者。:02/11/08 00:13
>>736
初期化だけなら
OleInitialize(NULL);
でいいと思ふ。

738 :737:02/11/08 00:27
↑はMFCですた。SDKは知りません。

739 :超初心者:02/11/08 00:41
俺もSDKでは組んだことがないが、(正直SDKでGUI付WINアプリを作るのは
向いてないと思うぞ。MFC使っとけー。)少し前に参考にしたサイトがある。

ttp://hp.vector.co.jp/authors/VA016117/oledragdrop1.html

740 :デフォルトの名無しさん:02/11/08 01:00
736 はもっと C/C++ の文法的な問題だと思ふ
宣言より前を見ないと分からないけど

741 :デフォルトの名無しさん:02/11/08 01:42
>>736
oleidl.h の中身

#if defined(__cplusplus) && !defined(CINTERFACE)
 ...
 ...

#else /* C style interface */

  typedef struct IDropTargetVtbl
  {
   ...

742 :デフォルトの名無しさん:02/11/08 02:07
CでOLEするのはマゾ的行為。

743 :デフォルトの名無しさん:02/11/08 02:43
リッチエディットボックスに改行を含んだ大量の文字列があり
それを別のリッチエディットボックスに移し変える場合、
GetWindowText、SetDlgItemTextを使う意外で
安全かつ、確実に行う方法って何かないでしょうか?

744 :743:02/11/08 04:20
malloc使ってGetWindowText、SetDlgItemTextでやりました。^^;
お騒がせしました。。

745 :736:02/11/08 07:15
みなさんレスありがとうございます!
今作っているアプリはOLEとはあまり関係がないもので、ちょっとDragDropの機能を
つけてみようと簡単に考えていたのが甘かったようです。
>>739さんが紹介してくれたサイトなどを参考に勉強しなおしてきます。
>>741 すっかり見落としてました(汗)... それが原因だったようです。本当に感謝です。

746 :デフォルトの名無しさん:02/11/08 08:10
>>739
俺はMFCで組んだこと無いんだが、MFCはなんかクラスの数が多すぎて、何からやっていいのか分からん。
そのうちやろうかと思っているんだけどな。

747 :デフォルトの名無しさん:02/11/08 11:38
最近になって[ビルド]-[デバッグの開始]-[実行]を選択すると、
かならず
--------------------------
1つ以上のファイルが更新されていないかまたは存在していません。

これらのファイルはビルドする必要があります:
.\Debug\hoge.dll
.\Debug\Choge1.obj
.\Debug\Choge2.obj
.\Debug\Choge3.obj


ビルドを行いますか?

 [はい] [いいえ] [キャンセル]
--------------------------
とメッセージボックスが出るようになりますた。

実行前にビルドはしていて、中間ファイルその他は全て存在しているのに
かならず聞かれます。

ウザいので聞かれなくする方法はありますか?


748 :デフォルトの名無しさん:02/11/08 12:30
>>746
CDialogからはじめるのがお薦め。
それからSDI-->MDIと。
どれもCWndを使いこむ事になると思う。

それでも駄目ならCString,CArrayでもやっとけ。
STLが使えればそれに越した事ないが、

749 :デフォルトの名無しさん:02/11/08 13:17
だれかBOOLとboolの違いを教えてくれませんか?

750 :デフォルトの名無しさん:02/11/08 13:22
bool→0か1
BOOL→0かそれ以外(中身はint)

751 :デフォルトの名無しさん:02/11/08 13:24
VisualC++は、怪奇現象みたいにぐっちゃぐっちゃな仕様だから、
理解してくると、理解できないやつに対してヘンな優越感が。
自分のホームページで偉そうにVC++のテクなどを説明してる
連中は、だいたい優越バカ。


752 :デフォルトの名無しさん:02/11/08 13:26
>>751=理解してないバカ

753 :750:02/11/08 13:28
サンクス

754 :デフォルトの名無しさん:02/11/08 13:35
私は線形リストが理解できないんで
Vector使おうとおもうけど、これじゃプログラマ失格
なんだろうか・・・


755 :デフォルトの名無しさん:02/11/08 13:41
ビビッ・・・

受信しました。

756 :デフォルトの名無しさん:02/11/08 13:54
>>749
boolのサイズは1byte
BOOLのサイズは4bytes

757 :デフォルトの名無しさん:02/11/08 14:25
>>747
リビルドするか、*.ncb *.opt *.aps ファイルを消してみるか、それでだめなら
ソースファイルのタイムスタンプを何かのツールで現在日時に書き換えてやる。

758 :747:02/11/08 15:45
>>757
サンクスです。
.ncb と ソースの1つが 2003年になってたので
現在日時にしたら解決しますた。

759 :デフォルトの名無しさん:02/11/08 17:23
>>751
そういうサンプルのお陰でかなり助かってるんですが・・
世話になってるんで自分のHPでも簡単なサンプル作ってます。
#かなりしょぼいですが・・

760 :デフォルトの名無しさん:02/11/08 18:48
751 は人を馬鹿にする事しかできない無能

761 :デフォルトの名無しさん:02/11/08 20:21
>>751
同意。

>>759
きぼむ

762 :デフォルトの名無しさん:02/11/08 20:27
>>751

s/Visual//;
s/VC/C/;

で同意。Lokiの作者はキチガイ

763 :706:02/11/08 21:13
>>751
おぃおぃ。
そう言うHPのお陰で、一体何人の人が助かっていると(以下略

764 :デフォルトの名無しさん:02/11/08 22:48
>>763
俺はそれに助けられた一人!

765 :デフォルトの名無しさん:02/11/08 22:56
ありがとう!CodeProject!

766 :デフォルトの名無しさん:02/11/08 23:41
なんつーかスレ違いだからそのへんで放置したってくれよ<751

767 :デフォルトの名無しさん:02/11/11 09:24
不毛の論議になるかもしれないですが
MFCは使うべきなのか、使わないべきなのか
いったいどっちなのでしょうか?
MFC使うとGUI作るのにはかなり楽になるけど
細かいところにまでは手が出せないし
MFC使わないとGUI作るのとんでもなくたいへんだけど
なんでもできてしまうし。
どうすればいいのでしょうか?
どっちも扱えるというのがいちばんいいのでしょうか?

MFCという言語を習得するような気がして
ちょっといやなんですけどね。
WinMainを自分で書いて、WndProcでハンドらを自分で書くほうが
全体の見通しがいいので、個人的には好きなんですが
画面作るのがとにかくめんどいですね。


768 :デフォルトの名無しさん:02/11/11 09:58
↑バカ

769 :デフォルトの名無しさん:02/11/11 10:05
としか言えない馬鹿、かわいそう

770 :デフォルトの名無しさん:02/11/11 10:32
SDK でプログラミングしてると、C++ のキャスト (reinterpret_cast とか) を
使ってるのがバカらしくなってくるのですが、遠慮無く C のキャストを使って
いいですか?

771 :デフォルトの名無しさん:02/11/11 10:35
>>767
道具ってのは用途に合わせて使うもんだぜ。
それで、その道具を知らなければ使い分けの
判断もできない。


772 :デフォルトの名無しさん:02/11/11 11:38
パラメータヒントがでなくなる事があるんですが
なぜですか?

773 :デフォルトの名無しさん:02/11/11 11:52
>>772
VC++ の仕様 (バグ?) だそーです。
*.ncb とか削除したりリビルドしたりすると直ったりするそーです。

774 :デフォルトの名無しさん:02/11/11 12:39
VCを始めて2ヶ月の者です。

「CStringを使用するとメモリーリークするから、
 char型を使用したほうがいい」
と会社の人にいわれました。本当ですか?

CMemoryStateとかでメモリチェックしても、
メモリリークの痕跡はみあたらないのですが・・


775 :デフォルトの名無しさん:02/11/11 15:42
>>774
その先輩がミスしているに1票。
百歩譲ってもCStringの変わりに
char型を薦めるな!
std::stringを薦めろと言いたい。
しかしローカルでの一時的なバッファ
としてならcharやらTCHARはよく使うYo。

776 :デフォルトの名無しさん:02/11/11 17:12
>>775
同じことを思ったがネタだと思ったので言わなかった。

777 :デフォルトの名無しさん:02/11/11 17:57
MFCのCListViewで、スクロールバーが出るくらいの複数のアイテムがある場合に、
ユーザ操作で下の方にスクロールして、DeleteItemでアイテムを削除すると、
デフォルトで先頭アイテムまでスクロール戻っちゃいますよね。

これが、戻らないようにするためにはどうすればいいでふか?

778 :774:02/11/11 18:00
>>776
ネタではありません。
本当に言われました。

一応自分でもネットで調べてみました。
(本当にCStringでメモリリークするなら、
 それらしき報告があると思ったので・・)

しかし、どのサイトにもメモリリークが発生するなんて
報告はありませんでした。
なので、VCを知っているみなさんに質問したわけです。


779 :bloom:02/11/11 18:03

http://homepage.mac.com/bloombloom/

780 :デフォルトの名無しさん:02/11/11 18:06
>>778
まずその先輩に聞くのが筋だろう

781 :デフォルトの名無しさん:02/11/11 18:09
>>777
戻らないけど・・・
DeleteItemした後その場所のアイテムを選択する

782 :774:02/11/11 19:33
>>775
レスありがとうございました。

>>780
「CStringがメモリリークする」根拠は聞いてみました。

曰く、
 1.以前やっていたプロジェクトで、メモリリークのバグが発生した。
 2.あるルーチン内でリークが発生していることがわかった。
 3.ルーチン内のCStringをchar型にしたらある程度のリークが解消された。
 3.CStringはメモリリークするのでchar型を使用したほうがいい。
だそうです。

一応、他の人にも聞いたのですが、普通にCStringを使っているとのことでした。


783 :デフォルトの名無しさん:02/11/11 20:01
ある程度っておいっ

784 :デフォルトの名無しさん:02/11/11 20:34
CString* pString = new CString("hogehoge")
とかやってて、消し忘れてるだけなんじゃないのかなー?とか思ったり思わなかったり。

785 :デフォルトの名無しさん:02/11/11 20:52
>>773
使用だったんですか・・・


786 :775:02/11/11 23:50
>>783
禿同。
たまたまイイ結果が出ただけで
結論するとは恐ろしい。

787 :デフォルトの名無しさん :02/11/12 02:09
ウインドウプロシージャの関数ポインタを作ろうと、
LRESULT (*foo)(HWND, UINT, WPARAM, LPARAM) = WndProc;
とやったところエラーが出ます。
何が間違っているのでしょうか?
VC6です

788 :デフォルトの名無しさん:02/11/12 02:11
呼び出し規約が足りない。

789 :デフォルトの名無しさん:02/11/12 02:14
>>787
素直に WNDPROC 型使ったら?

ちなみにその定義は <winuser.h> で
typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);

790 :超初心者:02/11/12 03:21
VC++6.0での質問です。
ボタンをクリックしたらスタティックテキストに書かれた文章が
他の文章に切り替わる方法というのを調べていますがなかなか解りません。
どなたか教えていただけませんでしょうか?

791 :デフォルトの名無しさん:02/11/12 03:32
>>790
状況によって方法が変わる。
クラス名 STATIC で FindWindowEx() とかしてウィンドウハンドル取って、
あとは SetWindowText() とか。

792 ::02/11/12 03:41
>>790
GetDlgItem( id )->SetWindowText( string );
みたいな感じ?

793 :超初心者:02/11/12 03:50
ありがとうございました。無事できました!

794 :デフォルトの名無しさん:02/11/12 07:54

はじめまして。
LoadUserProfile関数について質問が有ります。
この関数が

指定したユーザーのプロファイルをロードします。

という役割を持っているのは分かるのですが、
この関数を呼ぶだけでロードは完了しているのでしょうか?
このあとCreateProcessAsUserを呼んだときにはユーザーのプロファイルが
有効になっているのでしょうか?
それともこの関数を呼んだ時に得たハンドルをCreateProcessAsUserに
渡さなくてはいけないのでしょうか?
(CreateProcessAsUserへ渡すハンドルはLogonUserで得た値なのか
LoadUserProfileで得た値なのかということです。)
このあたりがいまいち分かりません。
回答よろしくお願いします。

795 :デフォルトの名無しさん:02/11/12 20:59
フレックスグリッドコントロールを使用してみたんですが、
必ずMSFLXGRD.OCX が別に必要になってしまうんですか?
exe内にいっしょくたにして、OCXとか必要なくしたいんですができませんか?

796 :デフォルトの名無しさん:02/11/12 21:24
>>795
あたりまえ。
それが出来るのはOCXとは言わん。

797 :795:02/11/12 21:39
>>796
では、Flexgridのようなシートを、ocxを使わずにやりたい時はなにが一番いいですか?

798 :デフォルトの名無しさん:02/11/12 22:01
そういうコントロールを書く。
たとえば、ListViewをOwnerDrawするとかだな。
CodeGuruにコードがあったが、、
正直ocx使ってた方が楽な気もする。

799 :デフォルトの名無しさん:02/11/13 05:43
SJIS文字を「あ」だったら「%82%A0」のようにURLエンコーディングしたいのですが、
一発で出来るような関数等はあるのでしょうか?
無ければ自作する予定です。

800 :799:02/11/13 06:52
自作してみたら意外と簡単に出来ました。^^;
お騒がせしました。。

801 :デフォルトの名無しさん:02/11/13 12:17
>>800
どうやったのか他人にもおしえちくり。

802 :!799:02/11/13 13:15
>>801
URL エンコードくらい、そらで書けないか?

char *EncodeURLString(const char *Src)
{
char *Dest, *Buf = (char *)malloc(strlen(Src) * 3 + CGI_MEMORY_MARGIN);
if(DestStr == NULL)
return NULL;
for(Dest = Buf; *Src; Src++)
{
if(*Src == ' ')
*Dest++ = '+';
else if(isalnum(*Src))
*Dest++ = *Src;
else
Dest += sprintf(Dest, "%%%02x", 0x00FF & (int)*Src);
}
*Dest = '\0';
return Buf;
}

803 :802:02/11/13 13:16
あ。
CGI_MEMORY_MARGIN は 1 ぐらいにしといてくれ。

804 :799:02/11/14 09:23
>>802
スマートなコーディングですね。(関心)

漏れのやった方法は配列に%80とかを全てセットしておいて(かなり処理の無駄…)
一文字ずつアスキーコードを調べていく方法です。
最初の一文字を調べて二バイト文字だったら更に処理ってな感じです。
パターンが読めた所から一気に出来ました。
# 公開したら馬鹿にされそうだな。^^;

805 :802:02/11/14 13:02
>>804
無条件で最大のバッファを取るのと、漢字第 2 バイトがアルファベットや数字に
なることがあるので、そうスマートでもない。
(通常はそれでも問題無いが)
0x00FF & (int)*Src は (unsigned char)*Src で良かったような。

806 :デフォルトの名無しさん:02/11/14 20:38
VC++からmdbファイルにアクセスを試みようと思うんだが、一から教えてくれ!
次のようにやりたい。
C:\test.mdb の中にある、table1 テーブルは
key long,
value varchar(50)
といった構造である。

やりたいのは
1.C:\test.mdb にアクセス。
2.select * from table1 というSQLを送りレコードセットをもらう。
3.レコードセットを1レコードづつ進め、各レコードでは、 key と value の値を
得る。(→ 適当なコントロールに書き出し。)
4.insert into table1 values(10, 'あいうえお') といったinsert文や、
5.delete from table1 where value=1 といったdelete文を実行してみる。
6.使用したレコードセットの解放や、mdbへのコネクトの切断。

807 :デフォルトの名無しさん:02/11/14 21:18
InternetCanonicalizeUrl

808 :デフォルトの名無しさん:02/11/14 22:02
>>806
えーと、SQLの実行なんかはODBCで接続してやるんだっけかな。
でもそれは初心者がやることと違う。
データベーススレ行け。

809 :デフォルトの名無しさん:02/11/15 00:52
PegNdx = ( PEG_NDX )selDlg.PegNdx;

見たいな、()がある書式の意味がわからない。
これが書かれている場所では、 PEG_NDX は enum で、
selDlg では、PegNdx は int であるので、
int である selDlg.PegNdx を、PEG_NDX に沿わして(?) Peg.Ndx に入れる。っていうこと?
たんに、

PegNdx = selDlg.PegNdx;

ではいけないのですか?

810 :デフォルトの名無しさん:02/11/15 01:11
>>809
型キャストだな。

そのまま放り込んでしまうとPEG_NDXをenumで定義して値の範囲を制限している意味がないだろ?
最初からintでいいことになってしまう。
ありがたいことに、enumで宣言したPEG_NDXは型として扱われるので、intとは違うことになり、そのまま代入しようとするとコンパイラが警告してくださる。
バグが発生しにくいようにチェックしてくださるわけだから、無視してはいけない。
コンパイラさまに感謝しつつ、どうしても必要な場合に、これは「判ってやっているんですよ」と教えて差し上げるわけ。

しかし、勝手に正当なPEG_NDXの値になるわけではないぞ。
代入して問題がないことはプログラマが責任を持たなくてはいけない。

811 :809:02/11/15 01:43
>>810
ありがとうございます。
わざと()をはずしてやったら、
1 番目の引数を 'int' から 'enum PEG_NDX' に変換できません。
といわれました。
VC++の本みて勉強してるけど説明がないのは、C++の基本事項だったからなのかな?

812 :デフォルトの名無しさん:02/11/15 01:49
>>811
チョー基本。
その本はC++の基本が解ってることを前提にしてるんじゃないか?

813 :809:02/11/15 02:01
>>812
なるほど。
C++自体、これまでまったく扱ったことがなかったので。
Cは机上の理論で扱ってました。
だんだんとVC++が分かってきたので面白くなってきたところです。

814 :デフォルトの名無しさん:02/11/15 02:25
関数定義のスコープ分けの
protected ってなんですか?
On・・・から始まる関数しかないようなんですが、いったいなんなんでしょうか?

815 :デフォルトの名無しさん:02/11/15 02:58
>>814
派生クラスにはアクセスを許すスコープ。

public privateについては判ってるか?
C++の基礎勉強したほうがいいぞ。

816 :デフォルトの名無しさん:02/11/15 03:50
DBのクライアント用に使うコントロールって何ですか?
MS-AccessとかでCRecordViewじゃないほうの一覧が出てくるやつです。
リストビューだとセルの編集とか出来ませんよね。

817 :デフォルトの名無しさん:02/11/15 13:43
DDX変数を設定しました。
本のサンプルソースを見ると,m_str2=m_str1;
と書いてありました。
これはメンバ変数ですから,.m_str1というふうにしなくてはいけないんじゃないでしょうか?
メンバ変数名をそのまま書くだけでなぜつかえるのでしょうか?

818 :814:02/11/15 13:49
>>815
ありがとうございます。理解できました。
public と private はだいたいわかってましたが、
派生クラスというのは思慮の他でした。

819 :デフォルトの名無しさん:02/11/15 13:53
>>817
質問の前に自分の日本語を確認してくれ。

820 :デフォルトの名無しさん:02/11/15 13:58
DDX変数を設定しました。
本のサンプルソースを見ると,m_str2=m_str1;
と書いてありました。
これはメンバ変数ですから,「○○.m_str1」というふうにしなくてはいけないんじゃないでしょうか?
メンバ変数名をそのまま書くだけでなぜつかえるのでしょうか?

821 :デフォルトの名無しさん:02/11/15 14:02
>>820
m_str2=m_str1;
の一文は、「どこに」 あるいは 「どんな文脈で」 書かれてましたか?

822 :デフォルトの名無しさん:02/11/15 14:04
UpdateData(TRUE); //取得
m_str2=m_str1; //エディットボックスのメンバ
UpdateData(FALSE); //送る

823 :デフォルトの名無しさん:02/11/15 14:18
ヽ(´ー`)ノ

>>822
言い方が悪かった。
そのルーチンのプロトタイプを書いてくれないか?

824 :デフォルトの名無しさん:02/11/15 14:18
>>816
DBControlGrid。似たようなのにMSFlexGridが有る。
ヘルプ引け。

>>817
スコープについて勉強汁!
そのクラス内からはクラス内のスコープが見えてるから、単にm_str1とするとそのクラスのメンバ変数ということになる。


825 :816:02/11/15 14:59
>>824
どうもです。DBControlGridってのはBCBですかね。
MSFlexGridで調べたらActiveXでVCに標準装備とのことで、
こちらを使用してみます。サンクスです

826 :デフォルトの名無しさん:02/11/15 15:08
>>825
スマン。DBGrid コントロールだ。

827 :817:02/11/15 15:09
>>824
そうやった!
ありがとん
VC++をずーとやってたから,C++の用法忘れ取った
お詫びにAAをどぞ

           ∧_∧ ヒソヒソ
           ( ´_ ゝ`) ∧_∧
         / \/ )( ´,_ゝ`) >>617 プッ
        /  \___//       \
  __   .|     | / /\_ _ \ \_____
  \   ̄ ̄ ̄ ̄ ̄ ̄(__ノ   \    \__)      \
  ||\             \  .||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||    ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||

828 ::02/11/15 15:10
617ごめん・・・

817やった

829 :デフォルトの名無しさん:02/11/15 15:45
自分がVCの初心者なのかC++の初心者なのかを冷静に判断してから
適切なスレで質問してほしい。

830 :デフォルトの名無しさん:02/11/15 15:54
           ∧_∧ ヒソヒソ
           ( ´_ ゝ`) ∧_∧
         / \/ )( ´,_ゝ`) >>829 プッ
        /  \___//       \
  __   .|     | / /\_ _ \ \_____
  \   ̄ ̄ ̄ ̄ ̄ ̄(__ノ   \    \__)      \
  ||\             \  .||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||    ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||

831 :デフォルトの名無しさん:02/11/15 15:57
>VC++をずーとやってたから,C++の用法忘れ取った
激しく意味不明

832 :デフォルトの名無しさん:02/11/15 16:20
こんにちは、先ほどVC++.NETを購入してまいりました、初心者であります。
ついでに初心者本も探したのですが、.NET対応の書籍には良いのが無かったので、
「作ってわかるVisualC++6.0」清水康晶
これって.NETで勉強するとして、不自由は無いでしょうか?
つまり、.NETは6.0の上位互換ですよね?ですよね?という質問であります。

833 :デフォルトの名無しさん:02/11/15 16:39
(^ー^;) <………

834 :デフォルトの名無しさん:02/11/15 16:54
>>832

キミにはムリ。IDE の操作性とかクラスライブラリ、フレームワークが
結構変わってるから。

835 :デフォルトの名無しさん:02/11/15 18:21
VCの初心者なのかC++の初心者なのかそれ以前に書籍についての質問なのか、
冷静に考えて適切なスレで質問してほしい。

836 :まゆまゆ:02/11/15 21:12
extern っていったいなんですか?
教えてくださいっ。

837 :870:02/11/15 21:17
extern int やまだ; // <- 山田の家はここじゃないけど、どこかにそおういうヤツが居るぞ。型は int だ。
int やまだ; // <- 山田の家はここ。型は int だ。

extern "C" あれこれ; // あれこれで宣言された識別子には C 言語互換の名前変換ルールが適用される
extern "C" {
ほげほげ // ほげほげで宣言された識別子には C 言語互換の名前変換ルールが適用される

};

後ろの方は C のコードとリンクしたり、DLLで外に見せる名前をわかりやすくしたりするのに
使われることが多いです。

838 :デフォルトの名無しさん:02/11/15 22:43
>>832

不自由ありますよ、かなり。
VC++5.0→VC++6.0にするのとはわけが違います。根本的に。

839 :初心者:02/11/15 23:00
VC++6.0 + MFCです。

CEditViewかCRichEditViewでURLが入力されると
自動でリンクになるようにしたいのですが、参考になるホームページ等ありましたら
教えていただけませんでしょうか?

840 :832:02/11/15 23:06
ああ、参りましたね、
3000円もしたのに(泣)

C++はわかるので、
とりあえずチャレンジしてみたいと思います。
3000円を捨てるわけにはいかないので。

841 :デフォルトの名無しさん:02/11/15 23:50
VC++7.0Professionalまだ〜

std出てるけどいらね(クズ


842 :デフォルトの名無しさん:02/11/16 01:22
visualC++6.0って128MBで,軽快に動きますかね?

843 :デフォルトの名無しさん:02/11/16 01:24
それが発売された頃(98年)の一般的な環境を考えろ。

844 : :02/11/16 01:26
64MBですかね?
32MBかな
いま64MBで使っていますが,多少不満があります

845 :デフォルトの名無しさん:02/11/16 01:49
>>841
VS替刃

846 :デフォルトの名無しさん:02/11/16 05:41
Visual C++6の使い方がまったくわかりません   お勧めの参考になる本ありましたらおしえてもらえませんでしょうか

847 :デフォルトの名無しさん:02/11/16 06:26
>>846
cl /?

848 :引き篭もり:02/11/16 14:17
>>846
VC++6.0付属の変な本は?

それがだめなら
Visual C++ (1) はじめてのWindowsプログラミングシリーズ
http://www.yfcbookshelf.com/programming's%20books13.htm

849 :デフォルトの名無しさん:02/11/16 15:06
>>848
ちょっと本屋で見てきます  とりあえずこのソフトの使い方が分かればいいので・・

850 :デフォルトの名無しさん:02/11/16 15:07
> VC++6.0付属の変な本
ワラタ
読んだ事無いけど

851 :デフォルトの名無しさん:02/11/16 15:39
>>850
どんな本なんだろね?
俺は人からコピったからしらねーや。

852 :850:02/11/16 18:10
今確認したら見当たらない。
捨てちゃったらしい (・∀・)

853 :デフォルトの名無しさん:02/11/17 00:01
GetPrivateProfileStringについてですが、
MSDNで5番目の引数はバッファのサイズ(DWORD)となっていますが、
ここに65535以上の数を指定すると取得できないのですが、
これはこういう仕様なのでしょうか?
DWORDは32ビット符号なし整数( unsigned long 型 )なので
4294967295までいけるとおもうのですが・・
# 配列の方は65535を超えて確保しています

854 :デフォルトの名無しさん:02/11/17 00:17
>>853
そういう仕様なんだろう。
引数の型によって値のAPIの範囲が決まるわけじゃないからな。

このAPIに関して言えばその制限はWin16時代の名残だと思うが、
そうでなくても4GB確保されても困るから適当なサイズで制限するだろうな。

855 :853:02/11/17 00:28
>>854
なるほど、サンクスです。
新しい定数が出来きました。^^;

856 :デフォルトの名無しさん:02/11/17 08:01
というか、Win9Xでは、GetPrivate*で扱えるINIファイルの
サイズは64KBだが、そう云う問題では無いのか?

857 :デフォルトの名無しさん:02/11/18 00:54
VC++でコード書くときにemacs見たいに、
自動的にインデントしてくれる機能ってないですか?

858 :デフォルトの名無しさん:02/11/18 07:41
>>857
VC++のエディタが自動インデントしてくれたと思ったが?

859 :VC6の場合だけど:02/11/18 16:35
ツール → カスタマイズ → キーボード → 編集 とか
ツール → オプション → タブ とか?
.NETは知らない。

860 :デフォルトの名無しさん:02/11/19 01:23
例えば、ツール→オプション→タブで、
自動インデントをデフォルト、タブを2にした状態で普通に書くと、

main(){
std::cout << "Hello, world." << std::endl;
return 0;
}

みたいに、だらだらになります。

main(){
 std::cout << "Hello, world." << std::endl;
 return 0;
}
みたいにならないもんですかね。
あと、if文とかも
if (hogehoge){
int hage;
}
みたいに。


861 :デフォルトの名無しさん:02/11/19 01:26
VC.netのMFCで、ダイアログベースで、タブコントロールを用いて、タブが9つ
(上段に5タブ、下段に4タブ)というようなダイアログを作りたいのですが、
SetItemSizeを用いてすべてのタブの幅・高さを同じに設定する方法はわかったのですが、それでは
上段5段の合計幅と下段4段の合計幅が、違ってしまい、ブサイクになってしまうので、
上段の合計幅と下段の合計幅を同じにしたいので、タブ1つずつについて幅を
設定する方法を調べてみたのですがわかりませんでした。
タブごとに、幅を変える方法がわからないので知っている方がいましたら、
ご教授お願いします。
誠に初心者質問で申し訳ないです。


862 :860:02/11/19 01:29
間違い。

あと、if文とかも
if (hogehoge){
 int hage;
}
みたいに。

863 :デフォルトの名無しさん:02/11/19 01:35
pretty-print

864 :デフォルトの名無しさん:02/11/19 02:00
DirectShowについて,ここで質問できますか?

865 :デフォルトの名無しさん:02/11/19 14:35
質問してもいいけど、俺は引き篭もりなので答えられません。

866 :デフォルトの名無しさん:02/11/19 16:20
>>862
デフォルトインデントより、スマートインデントの方がいい感じになると思う。
あとは ツール → カスタマイズ → キーボード → 編集 で下のコマンドの
キーバインドを設定しとくと(・∀・)イイ!!
 ・SelectionFormat(スマートインデントが有効のとき)
 ・IndentSelectionToPrev
 ・IndentToPrev

867 :デフォルトの名無しさん:02/11/20 07:36
直前までアクティブだったウインドウのハンドルを取得するため
GetNextWindowやWA_ACTIVATEのWPARAMなどを試したのですが、
なかなか取得できません。

何かいい方法があったら教えてください。
よろしくお願いします。

868 :デフォルトの名無しさん:02/11/20 07:40
>直前まで
ってのがよく分からんが、GetForegroundWindow()は?

869 :867:02/11/20 09:01
>>868
直前までというのは、ウインドウを自アプリに切り替えた時、
その直前にアクティブだったウインドウという意味です。
GetForegroundWindow()だと自ウインドウのウインドウハンドルが
帰ってきてしまうようです

870 :デフォルトの名無しさん:02/11/20 09:23
>>869
WM_ACTIVATEメッセージを取得して、lParamの値を参照するんじゃ駄目か?

871 :867:02/11/20 09:45
>>870
すいません、書き間違いでした。WPARAMでなくLPARAMでした...
それを試してみたんですが、どうも確実に取得できるわけではないみたい
で困っています。
MSDNにも「This handle can be NULL」という風に書いてあって、実際何回か
テストしてみた結果NULLが帰ってきました。

872 :デフォルトの名無しさん:02/11/20 13:42
試してないんだが、GetWindow(MyWnd, GW_HWNDNEXT) なんかどうだ?

873 :デフォルトの名無しさん:02/11/20 14:10
WM_ACTIVATEAPPの lParam(スレッドID)から、メインウィンドウを逆引きするとか?


874 :デフォルトの名無しさん:02/11/20 18:14
>>867
IMEとか常駐ソフトのウィンドウとか破棄したウィンドウとか
タスクバーとかが直前までアクティブだった場合も想定
しているの?
何をしたいのかもっと詳しく説明した方がいいかも。

875 :デフォルトの名無しさん:02/11/20 20:52
2Dの衝突判定関数創ってるんだけど、引数有りの関数にした方がよいのか
メンバ変数を使って引数なしにしたほうが良いのか
教えてください。

876 :デフォルトの名無しさん:02/11/20 21:43
>>875
激しく意味不明なんだが
引数で渡さずに衝突する対象はどうやって区別するんだ?

877 :こんな感じで:02/11/20 21:58
class CGame{
public:
char Map[20]20];
};
class CHARA{
int xPos,yPos;
enum{height=20,width=20};
int hitCheck();
};

878 :こんな感じで:02/11/20 22:00
あ、マップだけしか考えてなかったっす。


879 :こんな感じで:02/11/20 22:02
class CChara:
public CGame{

こうでした(´Д`)

880 :デフォルトの名無しさん:02/11/20 22:09
>>879
それもおかしいぞ

881 :こんな感じで:02/11/20 22:15
・・・助けて

882 :デフォルトの名無しさん:02/11/20 22:51
class CChara: public CGame って・・・とんでもねー設計になってないか?

883 :こんな幹事で:02/11/20 23:27
>>882
なにがわるいってんだ?
CGameは、CObjectのような全てのクラスが共通で持つスーパークラスなんだ。
もちろん多重継承禁止だ。

884 :デフォルトの名無しさん:02/11/20 23:41
> なにがわるいってんだ?

なまえ。

885 :デフォルトの名無しさん:02/11/20 23:45
質問なのですが、VC++.netでタブ一つ一つを違う幅に設定することは不可能
なのでしょうか?
すべてのタブを同幅に設定するのは、SetItemSizeを使うことによってできましたが・・・

886 :デフォルトの名無しさん:02/11/20 23:59
>>885
VC++ の前に、日本語と質問の仕方を学んでくれ。

887 :デフォルトの名無しさん:02/11/21 00:29
ここでちんたらVC++の使い方聞いてないで
UNIXでgcc使え。

888 :デフォルトの名無しさん:02/11/21 00:56
>886
VC.netのMFCで、ダイアログベースで、タブコントロールを用いて、タブが9つ
(上段に5タブ、下段に4タブ)というようなダイアログを作りたいのですが、
SetItemSizeを用いてすべてのタブの幅・高さを同じに設定する方法はわかったのですが、それでは
上段5段の合計幅と下段4段の合計幅が、違ってしまい、ブサイクになってしまうので、
上段の合計幅と下段の合計幅を同じにしたいので、タブ1つずつについて幅を
設定する方法を調べてみたのですがわかりませんでした。
タブごとに、幅を変える方法がわからないので知っている方がいましたら、
ご教授お願いします。


889 :デフォルトの名無しさん:02/11/21 01:00
>>888
Donutのソース見てみれば?

890 :デフォルトの名無しさん:02/11/21 01:10



  ま  た  U  N  I  X  厨  か 。



 

891 :デフォルトの名無しさん:02/11/21 03:42
VC++6.0とDirectX8のソースをC++Builderで使えるようにしたいんだけど
できるの?


892 :デフォルトの名無しさん:02/11/21 04:01
>>891

射 た 違 い だ よ そ れ は !


893 :デフォルトの名無しさん:02/11/21 04:11
> VC++6.0とDirectX8のソース
(゚Д゚)ハァ?

894 :こんな感じで:02/11/21 04:40
ぐは。せっかく偽者君が煽ってくれてるのに流されてるし
・・・他のとこで聞いて見ます。マルチだとか言わないでね。

895 :デフォルトの名無しさん:02/11/21 09:08
>>894
引数で渡せ。

896 :デフォルトの名無しさん:02/11/21 09:46
VC++まったくの初心者で、次のようなプログラムを作ろうとしてます。

●エディットボックス2つ
問題入力部と解表示部
●ボタン4つ、
button1: 入力した問題を解き始める、ひとつ求まったら表示して止まる
button2: 一つの解が求まったとき次の解を求める
button3: 次の解を求めるのを止めて最初に戻る
button4: 終了

わからないのは一つの解を表示して止まり、button2、button3、button4 の
いずれかが押されるのを待って次に進めるところです。

よろしくお願いします。

897 :デフォルトの名無しさん:02/11/21 11:17
>>896
問題入力って人工知脳かなんかで解を導いているの?
そのくらいのことができるのにインターフェイスで詰まっている
とは激しく疑問なのだが。

898 :デフォルトの名無しさん:02/11/21 11:54
虐めイクナイ

899 :デフォルトの名無しさん:02/11/21 12:58
>>897
お前はしょうもない奴だな。

900 :デフォルトの名無しさん:02/11/21 13:00
>>896
イベント駆動の仕組みが判ってないのか。
button1を押してから問題を解き始めるのができるなら悩むところなどないと思うが。


901 :デフォルトの名無しさん:02/11/21 13:22
ここはボケるとこでつ。

902 :デフォルトの名無しさん:02/11/21 19:16
人工知脳って・・・ネタかよ。

903 :初心者:02/11/21 19:46
unhandled exceptionっていうエラーが出てしまうのですが、
Win2000では一切でず、win98だと出ます。
OSによってなにか違うのでしょうか?
ヒントを下さい。

904 :UNIX厨:02/11/21 19:48
いいからもうVC++なんて使うのやめろ。

これからはUNIXの時代だ。
gccの時代だ。

GNU C Compiler

GNU is Not Unix

ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす
ぐにゅーいずのっとゆにっくす



905 :デフォルトの名無しさん:02/11/21 20:04
>>903
情報が全然足りないが、知りたくもない。
2000にあって98にないAPIとか呼んでないだろね?
とにかく98上でデバッグ汁。

906 :デフォルトの名無しさん:02/11/21 20:16
gcc → gnu compiler collection

907 :デフォルトの名無しさん:02/11/21 20:17
>>904
UNIXはもう終わりました!
よって、
━━━━━━━━━━━━━━━━━━━━終了━━━━━━━━━━━━━━━━━━━━


908 :デフォルトの名無しさん:02/11/21 20:34
猫でもわかるプログラミングのこの作業を
http://www.kumei.ne.jp/c_lang/sdk/sdk_06.htm
リソースエディタでやりたいのですがやりかたがわかりません。
私がやった作業は
「プロジェクト」→「新しい項目の追加」→「リソースファイル」→右クリックして「リソースの追加」→「Menu」→各IDを設定
その後にresource.hをincludeしたのですがメニューが現れてくれません。
どこがいけないのか教えてください。

909 :デフォルトの名無しさん:02/11/21 20:50
>>908
resouce.hをインクルードしただけなのか?
WNDCLASSにメニュー登録しないとダメだぞ。

910 :デフォルトの名無しさん:02/11/21 21:00
今,初めてメモ帳をwidestudioで作ってるんですけど
ブルダウンメニューの中のプラグラムになんて書けばいいのか
全然、分かりません。(上書き保存とか)
よかったら教えてください。よろしくお願いします。
使ってる人なんていないかな・・。(´・ω・`)ショボーン


911 :デフォルトの名無しさん:02/11/21 21:04
>>910
スレ違いもほどほどにしろこの野郎。

912 :デフォルトの名無しさん:02/11/21 21:15
  Λ
ヽ(`∀´)ノ ぬるぽ

913 :デフォルトの名無しさん:02/11/21 21:24
UNIX(・∀・)カエレ!!
時代終了!!

914 :デフォルトの名無しさん:02/11/21 21:24
いちいち釣られるなよ

915 :デフォルトの名無しさん:02/11/21 21:33
>>908
IDを""で囲んでみる。

916 :908:02/11/21 21:34
>>909
あう。
myProg.lpszMenuName ="SAMPLE02";
というふうに変更してました。
が、まだだめです(´・ω・`)ショボーン

917 :デフォルトの名無しさん:02/11/21 22:01
http://at-misty.com/idol/sample/ono_mayumi/sample_photo/03.jpg
コの子と仲良くなるソース教えてください

918 :908:02/11/21 22:42
>>915
いろいろ見て回って
myProg.lpszMenuName =MAKEINTRESOURCE(SAMPLE02);
とすることで解決しました_(._.)_

919 :デフォルトの名無しさん:02/11/21 23:37
以下のソースで実行すると、
ar[0].m_cost == -1
ar[0].m_sweet == -1 になります。どうすれば、
ar[0].m_cost == 100
ar[0].m_sweet == 200 になるのでしょうか…お願いします。

class apple
{
int m_cost;
int m_sweet;
apple()
{
m_cost=-1;
m_sweet=-1;
};
apple(int cost, int sweet)
{
m_cost= cost;
m_sweet= sweet;
};
apple operator=(apple &data)
{
m_cost= data.m_cost;
m_sweet= data.m_sweet;
};};
void main()
{
apple a(100, 200);
ar.add(a);
//ar[0].m_cost != 100
//ar[0].m_sweet != 200
}

920 :デフォルトの名無しさん:02/11/22 00:00
ar.add(a); って何だよ

921 :デフォルトの名無しさん:02/11/22 00:03
第一 public: が無い

922 :デフォルトの名無しさん:02/11/22 00:27
なんでメンバ関数の終了にセミコロン入れるの

923 :デフォルトの名無しさん:02/11/22 01:15
しかも void main() ・・・

924 :デフォルトの名無しさん:02/11/22 07:17
public は書き忘れです。

void main()
{
CArray ar;
apple a(100, 200);
ar.add(a);
//ar[0].m_cost != 100
//ar[0].m_sweet != 200
}
おねがいします。



925 :デフォルトの名無しさん:02/11/22 07:25
>>922 >>923
だってエラー出てませんよ?

926 :デフォルトの名無しさん:02/11/22 09:07
CArray ってテンプレートパラメータ省略できるのか?


927 :デフォルトの名無しさん:02/11/22 17:02
>>925
ネタはもういいよ

928 :デフォルトの名無しさん:02/11/23 10:49
>>919
926 がふれた以外にも apple::operator= の定義が変だとか、
CArray::add なんぞ存在しねえとか、
おまいはどうやってこれをビルドしたのかと、小一時(ry


929 :880:02/11/23 18:37
GetMenuItemInfo関数がうまく動きません。

MENUITEMINFO mi;
GetMenuItemInfo(hMenu, id, FALSE, &mi);
でやると、miに情報が入っていなく、エラー文字列は
「パラメータが間違っています。」となります。ちなみに
GetMenuString(m_hMenuSkin, id, buff, sizeof(buff), MF_BYCOMMAND);
とやると正しい文字列がとれます。Win2000です。

930 :デフォルトの名無しさん:02/11/24 03:50
デスクトップアクセサリー系のアプリ挑戦中なのですが。

リージョン設定したウィンドウをマウスメッセージに応答してリアルタイムで
移動させたいのですが、どうも残像が激しくなります。
クライアント外の更新速度はどのようにして上げられるでしょうか?
ちなみにウィンドウの描画はWM_PAINTでのBitBlt、
それにMoveWindowと、かなり単純になってます。

ココミロ、と言うのでも良いのでアドバイスお願いします。

931 :デフォルトの名無しさん:02/11/24 06:08
WM_NCHITTEST に応答して HTCAPTION を返せばいい話じゃなくて?

932 :896:02/11/24 09:32
>900
解が求まるのは再帰の途中なので、入力待ちに戻したり、継続する場合またここに
帰る方法がわからないのです。メッセージボックスで判断するか、フラグを持ち回る
しか思いつきません。VC++一週間で周囲に聞ける人間もいないのでよろしくお願いします。

933 :930:02/11/24 10:28
>>931
まずはレスどうもです。

キャプションをドラッグしての移動だとドラッグの間は枠線のみの表示に
なりますよね?(確かWindows側で設定があったような…)
そこを何とかぐぃっとウィンドウをひっぱりたいわけです。

クライアント外なのでそもそも関係なさそうですが、DirectXを使わずに
GDIでなるべくいきたいのですが‥‥。

934 :デフォルトの名無しさん:02/11/24 10:55
>>930
リージョン設定したウインドウの描画は遅くなる
MediaPlayerで複雑な形のスキンに変えて移動させてみればいい
きっと元の矩形のウインドウ移動よりもたつく
小さ目のウインドウにするか、比較的単純な(計算量の少ない)リージョンに
すれば多少は回避できるかもしれないが

935 :デフォルトの名無しさん:02/11/24 12:36
> ドラッグの間は枠線のみの表示

ユーザーが画面のプロパティでそう設定してるなら、そのように動作すべきだが。
常にウィンドウごとなんて迷惑な設計はよせ。

936 :デフォルトの名無しさん:02/11/24 13:57
>>932
・解を求める部分は別スレッドに任せる。
・インターフェイスは文字列の授受。ボタンの入出力
 に専念させる。

937 :デフォルトの名無しさん:02/11/24 15:51
http://24honlinecasino.fc2web.com/



938 :デフォルトの名無しさん:02/11/24 22:00
クラスビューについて質問なんですが…
他のプロジェクトから持ってきたクラスをClassViewで右クリックしても
「仮想関数の追加」「Windowsメッセージハンドラの追加」が出てこないのは何故でしょう?
(注:元のプロジェクトでは表示されます。)
クラスウィザードにも現われてきません。

他のプロジェクトのhogeクラスをベースにして改造するために、
hoge.hとhoge.cppファイルをコピーしてFileViewの「ファイルをプロジェクトへ追加」で
追加しただけなのですが…ダメなのですか?

939 :デフォルトの名無しさん:02/11/24 22:00
sageてもーた

940 :デフォルトの名無しさん:02/11/24 22:05
>>938
プロジェクト閉じる→clwファイルを消す→プロジェクト開く→クラスウィザード起動
で情報を再構築

941 :デフォルトの名無しさん:02/11/24 22:24
>>940
ありがとう

942 :デフォルトの名無しさん:02/11/24 22:49
すみません、ご教授願います。
メニューの中のアイテムをある条件で有効・無効に切り替えたいと思い、
class wizardで対象のメニュー項目のオブジェクトIDを指定し、
UPDATE_COMMAND_UI イベントハンドラを追加しましたが、
このイベントが、メニューのプルダウン時ではなく、クリックされた後に起動してしまいます。
(つまりON_COMMANDと同じタイミング)
これは何故なのでしょうか?

943 :JPS ◆M0LaMzf5rY :02/11/24 22:57
VC++.NETってさ、ANSI C++準拠でないんでつか!?

944 :デフォルトの名無しさん:02/11/24 23:02
>>943
設定で変えられるみたい

945 :JPS ◆M0LaMzf5rY :02/11/24 23:05
>>944
よくわからんけど、買っても不自由はしない?
ってか設定しない場合はどうなってんの?

946 :デフォルトの名無しさん:02/11/24 23:10
>>944
Microsoft 拡張を Off にすると、いろんな標準ヘッダがコンパイル通らなくなる罠。


もともと VC 系統は ANSI に準拠していない。
Microsoft は 90% 準拠していると言い張っているが、つまり準拠していないと
いう事だ。

もうすぐ準拠度 98% (当社比) の VC++8 が出るらしいから待ってみたらどうだ。
98% という事は、やっぱり相変わらず対応していないわけだが。

947 :デフォルトの名無しさん:02/11/24 23:14
>>946
100%準拠しているコンパイラがあったらあげてください。


948 :JPS ◆M0LaMzf5rY :02/11/24 23:20
>>944
よくわからんけど、買っても不自由はしない?
ってか設定しない場合はどうなってんの?

949 :デフォルトの名無しさん:02/11/24 23:20
gcc 3.2

950 :JPS ◆M0LaMzf5rY :02/11/24 23:22
>>946
.NET出したのに・・・Ver8って.NETに対応?
みんなはVC使って困ることありまつか?

951 :デフォルトの名無しさん:02/11/24 23:25
>>948
まったく不自由しないから買っても大丈夫だよ。
不安を煽っているのはアンチマイクロソフトだから。


952 :デフォルトの名無しさん:02/11/24 23:26
VC++8っていつでんの?

953 :デフォルトの名無しさん:02/11/24 23:26
>>950

void func(LONG lParam);
...
RECT rc;
...
func((LONG)&rc);

が出来なくなった。
(イレギュラだけど、どうしてもキャストして値を持ってく事ってあるじゃん)

954 :デフォルトの名無しさん:02/11/24 23:26
>>948
Microsoft 拡張が On の状態。
具体的にどういう状態だかは把握してない。

>>950
あなたが .NET と呼んでいるのは VC++7 だからよろしくな。
困った事?
ちょっと複雑な template を使うとすぐ音を上げてコンパイル通らなくなる
事かな。
それ以外に ANSI 非準拠という事で困った事は無い。

955 :デフォルトの名無しさん:02/11/24 23:26
>>948
Microsoft 拡張が On の状態。
具体的にどういう状態だかは把握してない。

>>950
あなたが .NET と呼んでいるのは VC++7 だからよろしくな。
困った事?
ちょっと複雑な template を使うとすぐ音を上げてコンパイル通らなくなる
事かな。
ANSI 非準拠という事で困った事は無い。

956 :デフォルトの名無しさん:02/11/24 23:28
>>952
来年の末?

957 :JPS ◆M0LaMzf5rY :02/11/24 23:28
>>953
関数呼び出し前にキャストすればいいのでわ?

958 :JPS ◆M0LaMzf5rY :02/11/24 23:30
>>955
それは分かってるけどさ。
結局.NETってなんなのよ!何が違うのYO!

959 :デフォルトの名無しさん:02/11/24 23:30
つーか、ぬるぽ・・・もとい、次スレ誰か立ててくれ。

960 :デフォルトの名無しさん:02/11/24 23:31
VCスレあるから使ったれよ。
VisualC++ 相談室【9】
http://pc3.2ch.net/test/read.cgi/tech/1036897197/


961 :デフォルトの名無しさん:02/11/24 23:34
(゚Д゚)ハァ?

962 :デフォルトの名無しさん:02/11/24 23:36
>>960
独断でスレを統合に誘導するなよ。

963 :デフォルトの名無しさん:02/11/25 01:08
ディレクトリの内容の取得の仕方教えてギボン

964 :デフォルトの名無しさん:02/11/25 01:14
FindFirstFile & FindNextFile

965 :デフォルトの名無しさん:02/11/25 01:47
>>963
CFileFind

966 :デフォルトの名無しさん:02/11/25 02:58
正直、ディレクトリのファイル列挙以外で再帰呼び出しをまじめに使ったことない(・ε・)

967 :デフォルトの名無しさん:02/11/25 03:01
次スレへ移動をおながいします

★初心者にVisual C++を教えるスレ★ Part3
http://pc3.2ch.net/test/read.cgi/tech/1038160750/l50

なぜ次がPart3なのかを知っているかというと、
このスレ(本当はPart2)を立てたのが自分で、
その際にスレ名コピペしただけだったのを
あとで気が付いたからです。

正直、申し訳なかったっす。


968 :デフォルトの名無しさん:02/11/25 04:37
>>967
いえいえ。糞スレ立てたりわざと重複スレ立てたりする私よりよっぽどマシですよ。
悪意がないし、謝っているし、気を落とすこと無いです。
気にしないで元気を出してください。

969 :デフォルトの名無しさん:02/11/25 07:26
>>966
ソートは?

970 :デフォルトの名無しさん:02/11/25 10:02
ソートに(この場合クイックソートか?)再帰を使う奴は知障 

971 :デフォルトの名無しさん:02/11/25 13:52
再帰を使わないでスタックに変えてなんか利点があるのか?

972 :デフォルトの名無しさん:02/11/25 14:41
C爺激萎えsage

973 :デフォルトの名無しさん:02/11/25 19:58
>>970
再起使ったほうが楽じゃん。

974 :デフォルトの名無しさん:02/11/25 23:59
現代人はソートにはstd::sort()を使うのだ。

975 :デフォルトの名無しさん:02/11/26 01:30
std::sort() って使った分だけコードサイズ膨れないか?

976 :デフォルトの名無しさん:02/11/26 20:41
し、質問させてください!
仕事でVC++使っている方は、どんなの作っておられるのですか?
MFCとかも普通に使っておられるのでしょうか?

977 :デフォルトの名無しさん:02/11/26 22:05
>>975
現代人のPCにはHDDやメモリの容量がたくさんあるので、
大抵の場合コードサイズよりも開発効率を優先させて
std::sort()を使います。

978 :デフォルトの名無しさん:02/11/26 22:08
>>976
MFCやATLを普通に使ったりアブノーマルに使ったりしていますが、何か?

979 :デフォルトの名無しさん:02/11/28 13:41
CreateWindowExでリッチエディットを10個作成して
状況に応じてウインドウをSetWindowPos(もしくはMoveWindow)で切り替え表示しているのですが、
(アクティブなウインドウは最大サイズにして、それ以外のウインドウはサイズを幅、高さを0,0にしています)
リッチエディット内に大量の文字列がある時にウインドウを切り替えると
マウスカーソルが砂時計になり表示に時間がかかるのですがこれを回避できる方法ってないでしょうか?


980 : :02/11/28 16:02
>>979

サイズ変えないで単に非表示にするんじゃダメなの?

981 :デフォルトの名無しさん:02/11/28 16:06
表示の切り替えなら普通ShowWindow()でやるのでは?

982 :979:02/11/28 16:48
>>980-981
おっしゃる通りShowWindowで上手くいきました。
ありがとうございました。m(_ _)m

983 :デフォルトの名無しさん:02/11/29 00:15
リッチエディット10個・・・。
他に方法は無かったのか?と小一時間(略

984 :デフォルトの名無しさん:02/11/29 01:26
>>983
それよりもリッチエディット10個も使うソフトって一体…

985 :979:02/11/29 02:21
979の件なのですがウインドウサイズ変更でやっぱり同じような状態になりました。
一度Textをすべて取得してリッチエディットを空にしてサイズが変更された後Textを送るようにしてみましたが
若干改善されましたが少し砂時計が出ます。。
何か良い方法はないでしょうか・・

>>984
IRCクライアントを作っています。^^;
接続できるチャンネル数の最大が10個みたいなのでそれぞれのリッチエディットに
チャンネルログを送るようにしています。
mallocとかでメモリを確保してチャンネルを切り替える度に
リッチエディットの中身を入れ替えとかも考えましたが、
メモリが勿体無いかなと思いリッチエディットを10個作りました。
他に良い方法があるかもしれませんが。。

986 :デフォルトの名無しさん:02/11/29 03:11
どうしてもと言うなら、表示していないリッチエディットはリサイズしない。

> mallocとかでメモリを確保してチャンネルを切り替える度に
> リッチエディットの中身を入れ替えとかも考えましたが、
> メモリが勿体無いかなと思いリッチエディットを10個作りました。

リッチエディット 10 個の方が、メモリもリソースも食うと思うが。

987 :デフォルトの名無しさん:02/11/30 00:11
基本的にはメモリ内でデータ管理

アクティブなデータのみ表示

だろ。
リッチエディット10個使うような祖父と握らされたらたまんねぇっすよ。

988 :デフォルトの名無しさん:02/11/30 02:37
>>975
そりゃ、そーとーなもんだ。


989 :デフォルトの名無しさん:02/11/30 16:25
CListCtrl(レポート形式)でコードからアイテムを選択する方法を
教えてください。SetHotItemかなと思い試してみたのですが
テキストが青くなるだけでうまく行きませんでした。

990 :小人:02/11/30 17:43
ダレモイナイ…

991 :小人:02/11/30 17:44
1000ゲットスルナラ

992 :小人:02/11/30 17:44
イマノウチ!(・∀・)

993 :小人:02/11/30 17:45
ランタンタン♪

994 :小人:02/11/30 17:45
ランタンタンタン♪

995 :小人:02/11/30 17:46
今だ!995番ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
                  ∧∧       (´⌒(´
            ⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
        ⊆⊂´ ̄ ⊂ソ  (´⌒(´⌒;;
           ̄ ̄ ̄   ズザーーーーーッ


996 :小人:02/11/30 17:46
ランタンタンタン♪ ランタンタンタン♪

997 :小人:02/11/30 17:47
|д゚)…

998 :小人:02/11/30 17:48
998

999 :小人:02/11/30 17:49
( ´∀`)

1000 :小人:02/11/30 17:49
               ┌┐                                ●●●
    人          ││                              ●\  ●\
   ノ二\  ナ ゝゝ   V                 ●●●        ●\     ●\
     /   / 乙 つ  O               ●\   ●\      ●\       ●\
                  ●●●        ●\     ●\    ●\       ●\
                 ●\   ●\      ●\      ●\    ●\        ●\
       ●●\     ●\     ●\    ●\       ●\   ●\        ●\
        ●\    ●\      ●\    ●\       ●\    ●\       ●\
        ●\    ●\      ●\    ●\      ●\    ●\     ●\
       ●\    ●\       ●\    ●\      ●\      ●\    ●\
       ●\    ●\      ●\    ●\     ●\        ●●● \
      ●\     ●\      ●\      ●\   ●\           \\
      ●\     ●\     ●\        ●●● \
     ●\      ●\   ●\           \\\
     ●\        ●●● \                              ┌┐ ┌┐
    ●\          \\\      ┣━┳┃┃      ┃          ││ ││
   ●●●\                      ┃   ┃┃┃ ┣┓ ━╋ ━╋  V   V
   \\\\                     ┛     ━┛ ┃   ┏┫ ┏┫  O  O
                     (´´
     /■\    )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

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

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)