- 1 名前:デフォルトの名無しさん [2006/11/29(水) 17:00:54 ]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 Visual C++使いが優しくコメントを返しますが、 お礼はVisual C++の布教と初心者の救済をお願いします。 ■過去スレ 前スレ pc8.2ch.net/test/read.cgi/tech/1150105712/ 前々スレ pc8.2ch.net/test/read.cgi/tech/1141087248/ ■遠い親戚スレ くだすれC++/CLI(初心者用) pc8.2ch.net/test/read.cgi/tech/1142144110/l50 ■関連ページ Visual C++ Home Page www.microsoft.com/japan/msdn/visualc/
- 403 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:21:43 ]
- 製品でも繋がるかどうか知らない。
MicrosoftからしてみればフリーのFirebird用の ライブラリを用意する義理なんてないでしょうし(推測)。 Firebird用のADOがあれば繋がるんじゃい(推測)? ADO.NETじゃないよ。 あるいはODBC。 実際はDBMS固有の色々あるからすんなり行くか判らんけどね。
- 404 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:23:51 ]
- Visual C++ 2005 ExpressだとATLとかないんだっけ?
ADOはActiveX(COM)だからちょっと大変かもな。
- 405 名前:400 mailto:sage [2007/03/19(月) 02:24:40 ]
- >>403,404様
本当に、レスありがとうございます。 そうですか、難しいですか・・・。 やはり、SQLServerExpressを使用しないといけない見たいですね。 こちらも、フリーなのですが4G制限等があるからイヤだったんですよねぇ。 実は、図書館レベルとは言わないが、資料がたくさんあるので4Gで収まるか 自信ないんですよねぇ。何件分くらい入るもんでしょうか? はぁ・・・。 でも、SQLServerExpresとVisualC++2005Expressとの組み合わせなら、 初心者でも簡単にDBアプリ(資料メディア管理アプリ)出来ますでしょうか? 又、DBアプリに関してわかり易いサイトって、MS以外にありますか? よろしくお願いします。 ちなみに、ググッても分かりませんでした。(検索が悪いとは思いますが)
- 406 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:27:13 ]
- 最初は誰でも初心者だけど
それを免罪符にして疑問を○投げって姿勢は良くないお
- 407 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:35:11 ]
- もうSQLiteでいいんじゃね?
- 408 名前:400 mailto:sage [2007/03/19(月) 21:58:57 ]
- >>406
その通りですね。 >>ALL 取り合えず、初心者なんだからDBは置いといて C++の勉強から先に始めたいと思います。 ある程度、出来てからまた質問させて頂きたいと思います。 みなさまレスありがとうございまいした。
- 409 名前:日付の罠 mailto:sage [2007/03/20(火) 02:35:56 ]
- ↑にハマっています。
すみません。 単純な日付計算が出来なくて困っています。 dateTimePicker1の日付から、dateTimePicker2の日付の差である。 日付をラベルに出力する方法をお願いいたします。 自分の想像では、 日付変数の宣言 日付変数=dateTimePicker2−dateTimePicker1 ラベル.Text=型変換(日付変数) だと想像するのですが、HELPにも乗っていません。 ご教授お願いします。
- 410 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:07:14 ]
- 日付に罠が仕掛けられていたり、使用法がHELPにのっていないような開発ツールは
使わないほうが良いと思いますよ。
- 411 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:13:26 ]
- dateTimePicker って VB?
- 412 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:15:14 ]
- dotnet
- 413 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:25:38 ]
- >>409
それはC++/CLIかな?それともMscomct2.ocx?
- 414 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 03:38:16 ]
- C++とC++/CLIの区別がつかず、知らずににC++/CLIを使ってる初心者が増えている。
これはMSの罠だな。
- 415 名前:409 mailto:sage [2007/03/20(火) 10:52:25 ]
- >>413
レスありがとうございます。 Microsoft Visual C++ 2005 Express Editionを使用しています。 只単に、カレンダー1とカレンダー2との差を表示したいだけです。 例:”期間は、Y年M月D日です。”または、”日数のみ計算でXXX日です。” C++/CLIが何かさえ分らない自分ですが、よろしくお願いします。 >>414 そうなんですよ。 HELPが分りにくくて・・・理解しにくいし検索もHITしないんです。 なんか、単純計算使用例みたいなのも載ってないっぽいです。 もちろん、頭が悪い自分が一番悪いだろうけどね。
- 416 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 11:21:12 ]
- >>415
DateTimePickerで検索したら、値を取り出すサンプルが出てきたぞ。 値を取り出すとDateTime型のようだから、DateTime型のメソッドがそのまま利用できる筈なんだが。
- 417 名前:416 mailto:sage [2007/03/20(火) 11:23:26 ]
- あ、検索したのはMSDNね。
- 418 名前:409 mailto:sage [2007/03/20(火) 18:49:03 ]
- >>417
レスありがとうです。 でも、理解出来ませんでした。(T_T) 何がどうなっているのやら・・・。 まず、>>409の1行目の予定の 日付変数の宣言方法さえ分りません。 Int型は、市販の書籍に載ってたんですけどねぇ。 お手数ですが、簡単なソースにコメントを書いて頂ければ幸いです。 教えて頂いたサイトから、 「プログラミング チャレンジ スクエア」って言うのも 見つけたんですが、C++は無いのです。 あんな感じのサイトのVisualC++2005ExpressのHPは無いんでしょうか。 宜しくお願いします。
- 419 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 18:57:47 ]
- そういうやつのためにC#があるんだから素直にそっち使っとけ
- 420 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 18:58:45 ]
- 最早C++/CLIはC++じゃない(と言い切ってもいい位の)存在だから、
C++をやりたいならGUIは一旦横に置くべきだし、GUIをやりたいならC#に乗り換えるべき。
- 421 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:09:00 ]
- 2つの日時の値を引き算すると、時間間隔を表すTimeSpan型が返る。
TimeSpan span = dateTimePicker1->Value - dateTimePicker2->Value; でそのTimeSpanから日の部分だけを取り出し文字列に変換してラベルにセット label1->Text = span.Days.ToString(); 最初はMSDNが理解しにくいのはわかるけど、あれを読めるようにならないと進歩はないよ。
- 422 名前:409 mailto:sage [2007/03/21(水) 10:44:52 ]
- >>421
ありがとうございます!私にも分りやすいです。 そういう答えが欲しかったんです。m(_ _)m 本当に感謝しています。私にとっては貴方は神です。 >>419,>>420さんの忠告もありがとうございます。 自分が求めているのがC++ではなくC#だと気付かされました。 何より、またこのスレで>>421神に頼るのは心苦しく思います。 C++は、置いといてC#をダウンロードして試してみます。
- 423 名前:デフォルトの名無しさん [2007/03/22(木) 21:29:05 ]
- 質問があります。
あるデータベース的な2次元vector vecがあって、 性質の違う2つのクラスA,Bからそのvecを参照したり、書き換えたり したいのですが、そのvecはどんなクラスにしてA,Bからどんな風に 使えばよろしいのでしょうか? 考えた範囲ではvecを静的データメンバにして参照するという方法ですが、 何か「vecはA,Bに含まれるよー」という雰囲気が出せないので他に方法が あるかのかなぁと思っています。
- 424 名前:423 mailto:sage [2007/03/22(木) 21:42:50 ]
- 追加で質問です。教えてクンですみません・・。
2次元vector(大きさは確定)をデータメンバに持つクラスにおいて、 どうすれば綺麗に初期化すればよいのか教えてください。 考えたのは、以下のとおりです。 Class hogeData{ std::vector< std::vector<char*> > data; hogeData(){ data.resize(I); for(int i=0; i<I ; i++){ data[i].resize(J); } // ...dataに代入など } } 気分的には std::vector< std::vector<char*> > data(I,J); というように一発で初期化したいのですが、クラスのメンバだと そうもいかず・・。
- 425 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:47:26 ]
- boost::numeric::ublas::matrixとか使った方が良くね?
- 426 名前:423 mailto:sage [2007/03/22(木) 22:14:19 ]
- >>425 返信ありがとうございます!そんなのもあるんですね。
ぜひ勉強してみます。今ちょっと調べてみたのですが、 vecに対してよく使うことになると思われるsortに関しては、 どうもSTLのvectorの方が速そうです.... ttp://archives.free.net.ph/message/20070223.210148.7ae631a4.en.html
- 427 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:31:53 ]
- Linux環境でgetopt()を使うためにunistd.hをincludeしているソースを、
VisualC++でコンパイルしたところ、unistd.hが見つからないと言われました。 代替になるインクルードファイルはありますでしょうか? よろしくお願いします。
- 428 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 22:40:00 ]
- ない
- 429 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 00:38:21 ]
- 無いんですか・・ありがとうございます
- 430 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 04:52:12 ]
- ほんとかよ、と思ってしまう回答だがはて…
- 431 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 06:59:30 ]
- getopt()があればどれだけ楽か……
- 432 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:42:42 ]
- CUI環境の話だったらC++スレとかでやってほしい。
激しくどうでもいい
- 433 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:51:10 ]
- GUI環境しか使えない香具師は只単に読み飛ばすということさえ出来ないらしい。困ったもんだ。
- 434 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:54:59 ]
- 腐るぐらいスレがあるのにわざわざここで質問するやつの気が知れない。
- 435 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 08:57:28 ]
- VCだからだろ。
- 436 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:02:18 ]
- Linux依存→依存なしの移植だろ
VC関係ない
- 437 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:33:42 ]
- getopt()だからLinux依存じゃないぞ。VCがPOSIX準拠してないのが問題なんだ。
- 438 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:35:20 ]
- >unistd.hをincludeしているソースを
uniって何の略?
- 439 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:40:06 ]
- >>438
少なくともLinuxの略ではないな。
- 440 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:42:19 ]
- 初心者だったら基本やってりゃいいんだよ
実力もないのにややこしいことやろうとすんな 1 初心者には無理だから素直にあきらめる 2 初心者卒業してからやる 3 教えてくれるまで暴れる
- 441 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:51:59 ]
- と、実力もないのに初心者を脱出したと思い込んでいる>432=434=436=438=440が申しております。
- 442 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 09:57:07 ]
- >>439
unix standardって感じか? システムコール系の関数が詰まってるね。
- 443 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 13:49:52 ]
- 自分が答えられそうにもないCUI系の質問が来るだけで
火病起こす奴ってなんなの?
- 444 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 21:47:01 ]
- openFileDialogのOKボタンが押されると、c_printfuncにファイル名を渡して
呼び出し、その関数の内部でファイル名を標準出力したいです。 以下のようにしているのですか何も出力されません。 どこが間違ってるのでしょうか・・? -------------------- [openFileDialogのOKボタン押された時] private: System::Void openFileDialog1_FileOk(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) { String^ fname; if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK) { fname = openFileDialog1->FileName; c_printfunc(fname); } } ---------------------- [c_printfunc.cpp] #include "stdafx.h" #include <stdio.h> int c_printfunc(char* fname) { printf("%s\n", fname); return 0; }
- 445 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:03:30 ]
- すみません今リブルドしたところ、エラーが出ていました
1>f:\documents and settings\(省略)\Form1.h(485) : error C3861: 'c_printfunc': 識別子が見つかりませんでした
- 446 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 22:17:51 ]
- なんどもすみません
openFileDialogの中からどうやってc_printfuncを認識させるのでしょうか? 今日始めたばかりでわけわかめ状態です;;
- 447 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 23:11:19 ]
- 質問とは関係ないけど
そういえばアウトプットウインドウにデバッグストリング出力する機能があったな デバッガばっかり使ってて存在自体を忘れてた
- 448 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:48:25 ]
- だからCUIというかソースレベルの質問はスレ違いだって
過去スレ見ればわかるだろ ここはVisualCの機能や使い方を答える程度のレベルのスレなの
- 449 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 00:56:51 ]
- >>1も読めない初心者未満が何か言ってる
- 450 名前:446 mailto:sage [2007/03/25(日) 10:16:58 ]
- 関数プロトタイプを記述することで自己解決しました
お騒がせしました
- 451 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 14:09:16 ]
- ダウンロードするのに住所や電話番号を登録するようですが、
何か連絡が来ることってあるんでしょうか?
- 452 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:22:46 ]
- 無いよ
- 453 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 01:52:44 ]
- #include <stdio.h>
main() { printf("文字表示のテスト"); } これを実行した時に、F5(デバッグあり)で実行すると すぐにウィンドウが閉じてしまいますが ctrl+F5(デバッグなし)で実行すると、ウィンドウが表示されたままに なるのは何故なんでしょうか。 また、DOS窓でなく、通常のウィンドウへの描画は どのような手順で行うのが簡潔でしょうか。
- 454 名前:453 mailto:sage [2007/03/30(金) 01:56:21 ]
- 環境はVC++8.0ですが、学習のためにCの記述をしています。
また、8.0以前のサンプルを開こうとした時に、変換を行った後 そのソリューションを実行するにはどうすればいいでしょうか。
- 455 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 04:26:58 ]
- #include <conio.h>
を追加して }の前にgetch();追加で キー一回押すまで進行停止が出来るよ
- 456 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 06:19:55 ]
- >453
裏で別のプログラムが面倒みてくれてる
- 457 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 07:36:32 ]
- >>455
cinのがよくね?
- 458 名前:453 mailto:sage [2007/03/30(金) 07:55:11 ]
- すみません、自分で読み直してみて、一度に質問を書き込みすぎました。
でも、皆さん親切に教えていただけるので、とても嬉しいです(;;)
- 459 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 09:04:24 ]
- 微妙に回答のポイントがずれてる希ガス
- 460 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:36:22 ]
- じゃ、簡潔に。
>ctrl+F5(デバッグなし)で実行すると、ウィンドウが表示されたままに >なるのは何故なんでしょうか。 仕様です。 >また、DOS窓でなく、通常のウィンドウへの描画は >どのような手順で行うのが簡潔でしょうか。 WinAPIを使えばできますが、その為には先ず一通りCの知識が必要になります。
- 461 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:40:20 ]
- EEなら該当スレみつけてSDKインストール
- 462 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 10:50:54 ]
- >また、DOS窓でなく、通常のウィンドウへの描画は
>どのような手順で行うのが簡潔でしょうか。 まとめると (1)MicrosoftのサイトからPlatformSDKをダウンロードしてインストール (これでWin32APIを使うことができる) (2)ウィンドウ作成 (Win32APIはmainの代わりにWinMainを使う) (3)ウィンドウに文字を出力
- 463 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:07:35 ]
- >通常のウィンドウへの描画は...
通常のウィンドウをどうやって作るかにもよるんだけど 1. Win32(C or C++) 基本だけど全てを自分でやる必要がある。 2. MFCアプリ(C++) MFCが多くのことをやってくれるけど、構造の理解に時間がかかる。 3. CLRのWindowsフォームアプリ(C++/CLI) 上の二つとは異質だけど初心者には楽。いわゆるドットネット。 他にも選択肢はあるけど、普通はこの3択。誘導される前のスレッドを見る限り VC8EEなんだろうな。その場合2は選択できない。1を選ぶなら>>462で。 プロジェクトの変換については情報不足杉。
- 464 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:27:54 ]
- >>463
MFCアプリ(C++)、CLR(C++/CLI)になってるけど、 この二つは、C言語形式で書けないの? 勉強中でよくわからない・・・
- 465 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:40:54 ]
- MFCの場合、自分のロジックはCと互換性のある書き方もできるけど、
WindowsとのI/FはC++でないとコンパイルできない。 CLRの場合、最早Cと互換性を持たせることが無意味。 何故なら、文字列から日付け処理からメモリ管理から何もかも流儀が全て違う。
- 466 名前:453 mailto:sage [2007/03/30(金) 16:51:55 ]
- ありがとうございます、通常のウィンドウへの描画は
WindowsのAPIを使ってみることにします。 まだ、ポインタもわかってないので(というか勉強がまだなので) 地道にCの言語仕様を学んだ後で、SDK取りに行きます。 バージョンの古いサンプルが開けない、というのは 恐らくツールの使い方がわかっていないだけだと思うので もう少し自分で頑張ります。
- 467 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:25:52 ]
- そのレベルなら1年は覚悟した方がいいよ
- 468 名前:453 mailto:sage [2007/03/31(土) 00:20:45 ]
- かかるかもしれないですね。でも、正直そこまで時間はかけたくありません。
地道にひとつずつ習得する以外方法はないと思いますが、 例えば、「ブロック崩し」を作りたい、という目的がある、とした場合に どの道筋が適切かご指導いただけるとありがたいです。 ちなみにお察しの通り環境はVC8のEEです。
- 469 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 00:25:11 ]
- C#でもやれば?
Javaだと某有名プログラムがあることだし、フラッシュも最近増えてきたけど。
- 470 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 16:50:42 ]
- 別の環境で作ったソースをVCで編集しなきゃいけないんですが、
フォルダ構成を元のままVCで作業するにはどうしたらいいでしょうか? 新規プロジェクトを作ってみたら ソースもヘッダも全部同じフォルダにできてしまうみたいで・・・ フォルダの設定とかありませんか?
- 471 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:25:30 ]
- 好きなようにできるだろ
- 472 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:59:47 ]
- できてしまう、って何でソースやヘッダを作る必要があるんだ?
もうソースはあるんだろ?
- 473 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 12:46:41 ]
- VC6.0でWIN32API(SDK?)で開発しています
エディットコントロールで文字列を追加したときに、自動でスクロール させたいのですがうまくいきません(文字列の追加はできてます)。 CreateWindowExで指定しているウィンドウスタイルは次の通りです。 WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_AUTOVSCROLL | ES_LEFT | ES_MULTILINE | ES_READONLY, 文字列周りは、このようにしています。 SetWindowText(hEdit, "起動\r\n(^-^)\r\n"); SendMessage(hEdit, EM_SETSEL, 0, -1); SendMessage(hEdit, EM_SETSEL, -1, -1); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)"(@-@)\r\n"); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)"(T-T)\r\n"); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)"orz\r\n"); SendMessage(hEdit, EM_SCROLLCARET, 0, 0); ネットで調べたところ、ES_AUTOVSCROLLやEM_SCROLLCARETがあれば勝手 にやってくれそうなんですが… どうすれば自動でスクロールし追加した文字列部分が表示されるように なるのか、教えて下さい。
- 474 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 14:03:10 ]
- EM_SCROLLCARET
これでわざわざスクロールしてるような気がする
- 475 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 17:29:35 ]
- >>473の文字列追加した後で、別のルーチンから文字列追加を大量に
行ったら、ちゃんとスクロールしてくれました。 >>473の処理はEM_SCROLLCARETの一行をコメントにしても変わらず… なにか条件があるんでしょうか…
- 476 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 12:02:01 ]
- >>468
ブロック崩しを作りたいなら @まず持ってるVCの基本操作を覚える(プロジェクト作成の仕方、コンパイルの仕方、実行の仕方、 できればブレークポイントを使った基本的なデバッグ手法やコンパイルオプションの違い等も。) ACを覚える(基本文法・関数・ポインタ等。これはどんなCプログラムが作りたかろうが全ての人が通る道。) BWin32APIに触ってみる(ウィンドウを使ったプログラムの作成。) Cグラフィカルなプログラムを作ってみる(GDIを使うorDirectXを使う。どっちでもお好きに。) Dブロック崩しを作ってみる(ゲーム特有のアルゴリズム・当たり判定や入力制御等を学ぶ) 酷く大まかだけどこんな感じでいいんじゃないでしょうか。 ちなみにかかる時間はAが一番長くなると思います。
- 477 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 01:18:00 ]
- 嘘だ、絶対4だ。
- 478 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 08:14:48 ]
- でも挫折するのはたいてい3じゃないか?
- 479 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 10:05:53 ]
- M$と相性が合わないなら(1)で挫折するはず
- 480 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 12:02:09 ]
- ゲームは昔から出来合いのゲームのソースをいじりながら覚えたもんだが
BASIC限定だったのかもしれないな
- 481 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 12:34:05 ]
- basicでゲームやったことありますとか言い出すやつは使いものにならない。
たとえそういう経験あったとしても黙っておくもの
- 482 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 12:57:19 ]
-
< ワタシ ヲ ヨンダ?? ●/ <■ / >
- 483 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 13:59:52 ]
- >>481
そういう話じゃないでしょ。 既存のソースの改造から始めるのはどうかという話では。
- 484 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:17:17 ]
- いきなり改造から始めるなんて聞いたことがない。
VCの場合コードの量が半端じゃないし、 他人の書いたコード読んで仕様まで理解できたら相当なレベルだと思う。 初心者レベルだとビルドできなくて投げ出すのがせいぜい。
- 485 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:25:47 ]
- いやだからBASICの話でしょ改造なのはw
- 486 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:48:20 ]
- 昔はね。
今でも新しいことやるのはサンプルソースからやるけど。
- 487 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 14:51:03 ]
- ┏┳┳┓ ハイ. ┏┳┳┓
┏┫┃┃┃ 雑談は ┃┃┃┣┓ ┃┃┃┃┣┓ ここまで.┏┫┃┃┃┃ ┃ ┃┃┏━━━┓┃┃ ┃ ┃ 雑談 ┣┫ . ・∀・ ┣┫. STOP!┃ ┗━━━━┛┗┳━┳┛┗━━━━┛ ┏┻┓┃ ┏━┛ ┣┻┓ ┗━━━┫ ┗━┓ ┗━━━┛
- 488 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 21:53:49 ]
- ┌┬┬┐ ハイ. ┌┬┬┐
┌┤│││ 雑談は │││├┐ ││││├┐ ここから.┌┤││││ │ ││┌───┐││ │ │ 雑談 ├┤ . ・∀・ ├┤ START.!!│ └────┘└┬─┬┘└────┘ ┌┴┐│ ┌─┘ ├┴┐ └───┤ └─┐ └───┘
- 489 名前:デフォルトの名無しさん [2007/04/03(火) 23:58:42 ]
- 初心者なんですが、どうしても分からない事があります。お教え頂けないでしょうか?
フックプロシージャで、VK_DOWNをVK_TABに変換しているのですが、PostMessageだとうまく行くのに SendMessageに変えると動作しません。 ソースは次のようなものです。 static LRESULT CALLBACK OnKeyHook( int nCode, WPARAM wparam, LPARAM lparam ) { if( nCode < 0 ) return CallNextHookEx( HHook, nCode, wparam, lparam ); UINT msg; if( lparam & 0x80000000 ){ msg = WM_KEYUP; }else{ msg = WM_KEYDOWN; } switch( wparam ){ case VK_DOWN: PostMessage( GetFocus(), msg, VK_TAB, lparam ); ←ココです。 return TRUE; default: ... break; } return CallNextHookEx( HHook, nCode, wparam, lparam ); } VK_UP を SHIFT + VK_TAB に変換するのに SetKeyboardState を使いたいので、SendMessage で 行いたいので困っています。 私の知らない何かがあるのでしょうか? どうかご教授下さい。よろしくお願い致します。
- 490 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 01:25:54 ]
- あまり詳しくないけどSendMessageはメッセージキューを経由しない
(TranslateMessageを通らない)のでWM_KEYDOWNのSendでは WM_CHARが発生しないとか何とか。 ↑↓でフォーカス移動をするだけなら、キーボードイベントを捏造するより WM_NEXTDLGCTLをポストしたほうが楽だと思う。
- 491 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:02:54 ]
- MessageBoxみたく、手軽に小さいウィンドウを出して
ユーザに文字列を入力させたいんですが、そういう関数ってありますか?
- 492 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:28:47 ]
- >>491
DialogBox
- 493 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:36:55 ]
- >>492
素早い返答thx!!!
- 494 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:40:06 ]
- どういやDialogBoxと自分でウィンドウ作るのとどう違うんだろう・・・
- 495 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 12:44:21 ]
- >>494
ダイアログテンプレート以外の違い? モーダルとモードレスで違うべ。 モードレスは自分で作る場合に近いな。 自分でメッセージループ持たせてモーダルにすることもできるけど。
- 496 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 15:14:21 ]
- >>490さん
ありがとうございます。SendMessageはあきらめました。 ところで WM_NEXTDLGCTL ってダイアログでしか使えないんでしょうか? 今ダイアログを使ってなくて、普通のフォームのEDITとかCreateWindowで貼り付けてる状態で、 WM_NEXTDLGCTLは効かないみたいなんです orz >>494さんの疑問は私も悩んでいる点です 初心者でいっぺんにいろいろ覚えられないので、とりあえずダイアログを使わずにフォームをゴリゴリ 書いて、きつくなってきた所でダイアログの恩恵にあやかろうという方針を立てていました。 でも、そもそもの使用目的が違うような気がしてきて、にもかかわらず、その辺りの指針がはっきり せず、すっきりしません。 皆さんはどういう基準で使い分けられてるんでしょうか。
- 497 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 18:09:55 ]
- 今思ったんですが、普通のウィンドウとDialogの違いってメニューを付けられるかどうかじゃないでしょうか?
普通のウィンドウ、Dialog ともにモーダル、モードレスにできるし、どれで始めて、どう遷移していけばいいか 迷うんですけど... ひょっとしてDialogにもメニュー付けられたりして OTL
- 498 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 18:27:22 ]
- たしか付けられるはず。
- 499 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 18:37:25 ]
- 基本的にダイアログテンプレートを使うか使わないかでわければいいじゃん
- 500 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:37:30 ]
- ウィンドウには色々なスタイルがあって、
その中の一部分をダイアログと呼ぶ、というだけ。 てか、ダイアログをメインウィンドウにした方が 色々と楽だと思うのは俺だけ?
- 501 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:41:57 ]
- >>496
ダイアログ以外では使えないと思う。 MFCのCFormViewなどでは通常のウィンドウの上にモードレスダイアログを貼り付けて ダイアログリソースを利用しているので WM_NEXTDLGCTLも動く。 VistaのUIのガイドラインではウィンドウ全体を表示するためにスクロールバーを必要とする ダイアログは使うな。ダイアログはメニューバーやステータスバーを持つな。となってるけど ユーティリティのようなトップレベルウィンドウがダイアログの場合は除くとなっている。 トップレベルウィンドウをダイアログにするか、通常ウィンドウにするかの基準は、ざっと見た限りは 見つからなかった。 ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/UxGuide/UXGuide/Windows/DialogBoxes/DialogBoxes.asp
- 502 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:45:04 ]
- >>496
IsDialogMessageでを使えるようにならない?
- 503 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 20:45:13 ]
- あと、ウィンドウクラスが #37770 じゃ困ることもあるべ
|

|