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


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

★初心者に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 さんの勘違いとか?


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