★初心者にVisual C++を教えるスレ★ Part26
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/04/12(木) 23:25:17Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。
■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。
質問の仕方については次のページが大変参考になります。
http://www.hyuki.com/writing/techask.html
http://myu.daa.jp/osiete/
■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
(MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。
過去スレ、関連スレなどは>>2-5。
0153152(追記)
2007/05/20(日) 18:53:27http://www.cryptopp.com/
cryptopp/sha.h
cryptopp/sha.cpp
展開するとみたいになっていました。これを利用したいです。
0154デフォルトの名無しさん
2007/05/20(日) 18:54:15使うならちゃんとpath通しとけよ
0155デフォルトの名無しさん
2007/05/20(日) 18:59:35相対パスの元は、stdafx.h の場所ではなく
コンパイルしている cpp の置かれた場所なんじゃね?
0156デフォルトの名無しさん
2007/05/20(日) 19:13:50ライブラリができたらヘッダとlibを適当な場所へ置いて使うだけ
0157デフォルトの名無しさん
2007/05/21(月) 21:29:580158デフォルトの名無しさん
2007/05/21(月) 21:38:42速度に関しては、個別に実測する以外は全てただの憶測。
0159デフォルトの名無しさん
2007/05/21(月) 22:33:480160デフォルトの名無しさん
2007/05/21(月) 22:40:45まぁそんなこと考えるのは時間の無駄だから、コードの見易さ・美しさを考える方がいいよ
0161デフォルトの名無しさん
2007/05/22(火) 00:00:15なんですか? その「オーバーヘット」って。
0162デフォルトの名無しさん
2007/05/22(火) 00:06:050163デフォルトの名無しさん
2007/05/22(火) 00:54:160164デフォルトの名無しさん
2007/05/22(火) 01:07:28「warning C4996: 'scanf' が古い形式として宣言されました。」
scanf()を使うと2005から上記の警告が出ることはググって分かったのですが
当方の警告文は全て英語のままで上記の一文が出てきません
↓これだけ
'This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
日本語の警告文の説明を表示させたいのですがどこを設定すればいいのでしょうか?
よろしくお願いします
0165デフォルトの名無しさん
2007/05/22(火) 07:41:21というより、MSDNライブラリインストールしろ
0166デフォルトの名無しさん
2007/05/22(火) 07:58:06C4996だけの問題じゃねぇんだよ。判ってねぇなら書くなよ。
0167デフォルトの名無しさん
2007/05/22(火) 08:11:290168デフォルトの名無しさん
2007/05/22(火) 08:13:17C4996以外もその番号でググればいい。
0169デフォルトの名無しさん
2007/05/22(火) 09:58:06元に戻す方法は人に聞くのってどういう了見なんだ?
0170デフォルトの名無しさん
2007/05/22(火) 11:00:13俺の環境じゃ英語しか出ねえよ
て解釈した
英語にアレルギーがあるかしらんがこの機会に慣れたら?
0171デフォルトの名無しさん
2007/05/22(火) 11:32:050172デフォルトの名無しさん
2007/05/22(火) 11:33:590173デフォルトの名無しさん
2007/05/22(火) 11:37:290174デフォルトの名無しさん
2007/05/22(火) 13:00:300175デフォルトの名無しさん
2007/05/22(火) 17:58:170176デフォルトの名無しさん
2007/05/22(火) 18:24:090177デフォルトの名無しさん
2007/05/22(火) 21:31:25でもたいして問題じゃねえしMSDNライブラリあれば心配ねえよ
0178デフォルトの名無しさん
2007/05/22(火) 23:27:340179デフォルトの名無しさん
2007/05/23(水) 09:56:280180デフォルトの名無しさん
2007/05/23(水) 11:14:520181デフォルトの名無しさん
2007/05/23(水) 11:24:41本人は「特に何もしてない」と言ってるんだからSP1だってあててるわけが無い
0182デフォルトの名無しさん
2007/05/23(水) 11:31:010183デフォルトの名無しさん
2007/05/23(水) 11:31:36その程度の日本語の説明なら要らんけど
あと、うちはProfessionalだな
0184デフォルトの名無しさん
2007/05/23(水) 11:38:23MicrosoftUpdateで時々入れようとしてるんだけど毎回失敗する。
0185デフォルトの名無しさん
2007/05/23(水) 14:17:33何が原因だったんだろ
0186デフォルトの名無しさん
2007/05/23(水) 14:43:170187デフォルトの名無しさん
2007/05/23(水) 17:18:310188デフォルトの名無しさん
2007/05/24(木) 10:37:27どこになんと言う名前でその処理が書かれているか教えてください
終了するときに処理を付け加えたいのでお願いします
0189デフォルトの名無しさん
2007/05/24(木) 10:54:400190デフォルトの名無しさん
2007/05/24(木) 10:58:08の順じゃないかな。それぞれのデフォルトハンドラで
MFCだと、OnSysCommand() からクローズ投げて
OnClose() が呼ばれ、そこでDestroyWindow()して OnDestroy()が呼ばれる。
もしかしたら違うかも。spy++やデバッガで確認してみて
0191デフォルトの名無しさん
2007/05/24(木) 11:00:220192デフォルトの名無しさん
2007/05/24(木) 11:16:42パスワード入力とOKボタンを押し終了させるものです
パスワードが違っているかキャンセルボタンを押した場合終了しません
という処理をしようと思っています
0193デフォルトの名無しさん
2007/05/24(木) 11:47:000194デフォルトの名無しさん
2007/05/24(木) 11:47:19ハンドラの追加でON_WM_CLOSE()を追加したんですが
対応する関数に反応ありませんでした
0195デフォルトの名無しさん
2007/05/24(木) 11:54:15何がどうなってるのかよくわからん、反応が無いとは何で判断?
0196デフォルトの名無しさん
2007/05/24(木) 11:57:31フォームビューによるダイアログです
プロパティのメッセージから追加しました
ブレークポイントをつけて通っているか判断しました
0197デフォルトの名無しさん
2007/05/24(木) 11:58:45↑簡単に言うとこういうことをMFCでやりたいのです
0198デフォルトの名無しさん
2007/05/24(木) 11:59:40こないのはおかしいね。spy++で観察してみては。
0199デフォルトの名無しさん
2007/05/24(木) 12:14:470200デフォルトの名無しさん
2007/05/24(木) 12:17:58ダイアログベースじゃない場合は、どのクラスがメッセージを処理してるかだな
0201デフォルトの名無しさん
2007/05/24(木) 12:25:40保存しますか?
みたいな確認でたような気がするけどどうだったかな?
0202デフォルトの名無しさん
2007/05/24(木) 12:27:28WM_DESTROY→WM_NCDESTROY→WM_CLOSE→WM_SYSCOMMAND
でした
0203デフォルトの名無しさん
2007/05/24(木) 12:45:28そのあと閉じていいか確認が出る
0204デフォルトの名無しさん
2007/05/24(木) 13:13:44CMainFrame::OnCloseをオーバーライドして使えばいいということですか?
そこも通らないような・・・
0205デフォルトの名無しさん
2007/05/24(木) 13:15:330206デフォルトの名無しさん
2007/05/24(木) 13:24:39最初からそういう風に動作するようになってる
0207デフォルトの名無しさん
2007/05/24(木) 13:37:57まあいろいろ試してあちこちにハンドラ置きまくってみればいろいろわかることもある。
0208デフォルトの名無しさん
2007/05/24(木) 13:40:25ありがとうございます!
0209デフォルトの名無しさん
2007/05/24(木) 16:34:45自分でつけたコントロールのほかに
TODO: コントロールをここに置く のテキストボックスと
OKとキャンセルボタンがついてごっちゃになってました
Jisakudlg dlg(this);
dlg.DoModal();
なぜなのか教えてください
0210デフォルトの名無しさん
2007/05/24(木) 16:47:48ダイアログの選択したパーツを整列するボタン押したんじゃないの?
0211デフォルトの名無しさん
2007/05/24(木) 16:52:44作り直したらいけました
0212デフォルトの名無しさん
2007/05/24(木) 22:34:23やりたいことは、下記のようにprintf系の関数に引数をそのまま渡したいのです。
void printfWithHeader(char *str, ...) {
char buf[1000] = "Header:";
strcat(buf,str);
printf(char *str, ...);
}
環境は、Visual Studio 2003です。
皆様、お願いいたします。
0213デフォルトの名無しさん
2007/05/24(木) 22:53:23そんなことをわざわざVCスレで質問する意味がわからん
0214デフォルトの名無しさん
2007/05/24(木) 22:57:12規約も護れないやつぁ帰れ
0215デフォルトの名無しさん
2007/05/24(木) 23:00:070216デフォルトの名無しさん
2007/05/25(金) 00:06:50UTF-8のソースを扱うにはどうすればいいのでしょうか。
コンパイルはできるのですが、日本語の表示ができません。
0217デフォルトの名無しさん
2007/05/25(金) 00:24:02thx.
vprintf系でできそうです。
>>213
> VCというか普通のCの質問だろ
> そんなことをわざわざVCスレで質問する意味がわからん
レスありがとうございます。
VCの拡張機能も含めて、回答を頂きたかったからです。
老婆心ながら、>>213さんは行間をうまく読めないようですので、コミュニケーション能力を鍛えた方がよろしいかと思いました。
0218デフォルトの名無しさん
2007/05/25(金) 00:27:25一般社会ではコミュニケーション能力不足と判定されます。
0219217
2007/05/25(金) 00:29:210220デフォルトの名無しさん
2007/05/25(金) 00:34:52先にShift_Jisに変換してからコンパイル、が一番楽。
.NETベースのコンパイラは、文字列=Unicodeで保持、と決め打ちできるんだけどねえ。
0221デフォルトの名無しさん
2007/05/25(金) 00:51:21.NET を通す場合だとどうなんだろう。
よく知らん。
0222デフォルトの名無しさん
2007/05/25(金) 01:03:25人が多いスレで質問した方が適切な回答が得られやすい
ここはVC限定でしかも初心者限定だから人が少ない
0223デフォルトの名無しさん
2007/05/25(金) 04:26:270224デフォルトの名無しさん
2007/05/25(金) 07:09:43VS2003にもVBとか色々あるが、ここで質問するからにはVC++2003でいいんだな?
0225デフォルトの名無しさん
2007/05/25(金) 09:14:210226デフォルトの名無しさん
2007/05/25(金) 11:24:20技術者が設計図の行間とか読んだら、ものは出来上がらない
行間読むくらいなら、設計を詳細まで確認するのが正しい
0227デフォルトの名無しさん
2007/05/25(金) 12:26:21DLL側のヘッダをincludeし、定義しているクラスをメインのexeで使いたいのですが
宣言はできるのですがビルドすると 未解決の外部シンボル と怒られます。
どうしたらよいのでしょうか。
0228デフォルトの名無しさん
2007/05/25(金) 12:54:27DLLを先にビルドしてしまえば、DLLで配布されてるライブラリなんかと同様に扱える
0229デフォルトの名無しさん
2007/05/25(金) 13:29:18実はcppUnitを使用したいと思いまして、現在のプロジェクトをそのままに
新規でテスト用のプロジェクトから該当のクラスにアクセスしたいと考えておりました。
おっしゃられるように入出力だけのテストなら、dll呼び出せばできそうです。
ありがとうございます。
0230デフォルトの名無しさん
2007/05/27(日) 07:54:300231230
2007/05/27(日) 08:29:21http://www.devexpress.com/Products/NET/IDETools/RefactorCPP/
0232デフォルトの名無しさん
2007/05/28(月) 12:20:461つのプロジェクトに複数のダイアログ画面でがあり、
各画面で同じ処理を行うメンバ変数・関数が存在します。
これをまとめるため、CDialogから派生したCCustomDialogを作成し、
各画面の基底クラスに使用することを考えました。
通常のC++クラスであれば、上記のことが可能であるとわかりますが、
CDialogクラスでも可能でしょうか?
(Windowsのイベントとかメッセージとかが、正常に処理されるのか心配しています。)
0233デフォルトの名無しさん
2007/05/28(月) 12:32:20CDialogを派生して各ダイアログクラスを作るように、CCustomDialogを派生すればいい。
CCustomDialogの作成には幾つかMFC特有のおまじないが必要だから、どっかでサンプルを探すのがいいね。
0234232
2007/05/28(月) 19:36:24レスありがとうございます。
参考にさせていただきます。
0235デフォルトの名無しさん
2007/05/29(火) 20:40:37キーボードの入力を待たないでキーボードの入力を取得するにはどうすればよいのでしょう?
(押されてなかったらNULLかなんかで抜けてくれる関数等)
0236デフォルトの名無しさん
2007/05/29(火) 20:54:060237デフォルトの名無しさん
2007/05/29(火) 22:26:24これで出来ました。どうもありがとう。
0238デフォルトの名無しさん
2007/05/30(水) 13:17:56ダイアログボックスに画像とその説明のテキストのリストを載せたいのですが、
どのコントロールを使えば最適でしょうか?
0239デフォルトの名無しさん
2007/05/30(水) 13:19:490240デフォルトの名無しさん
2007/05/30(水) 13:43:28ケースバイケース
0241デフォルトの名無しさん
2007/05/30(水) 14:26:19適当にやります。
0242デフォルトの名無しさん
2007/05/30(水) 15:29:040243デフォルトの名無しさん
2007/05/30(水) 16:01:43そのようなイベントが見つかりません。
そのようなデリゲートはないのでしょうか?
0244デフォルトの名無しさん
2007/05/30(水) 16:33:180245デフォルトの名無しさん
2007/05/30(水) 16:58:28で、キャレットを非表示にすることまでは分かったのですが、常に非表示にするにはすべてのテキストのイベントで実行させなければなりません。
もっと効率よくキャレットを非表示にする方法はないものでしょうか?
0246デフォルトの名無しさん
2007/05/30(水) 16:59:470247デフォルトの名無しさん
2007/05/30(水) 17:11:250248デフォルトの名無しさん
2007/05/30(水) 17:27:57どうせ普通はそんなこと誰もやらないし
0249デフォルトの名無しさん
2007/05/30(水) 17:29:320250デフォルトの名無しさん
2007/05/30(水) 17:31:360251デフォルトの名無しさん
2007/05/30(水) 17:34:250252デフォルトの名無しさん
2007/05/30(水) 17:51:14■ このスレッドは過去ログ倉庫に格納されています