1 名前:デフォルトの名無しさん [2007/09/10(月) 12:20:27 ] 1 : ◆Manna2uCLg :2005/04/15(金) 13:33:14 Visual C++入門者・初心者からの質問を、 お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html myu.daa.jp/osiete/ ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5 。
170 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 01:11:12 ] ついでに特定のサイトを見ているときだけ保存したいんですけど、どうしたらできますかね?
171 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 02:41:42 ] >>170 釣りは死んでください。
172 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 02:45:01 ] はい
173 名前:デフォルトの名無しさん [2007/09/26(水) 07:28:10 ] vs2005ですが、デバッグの際、 stlのvectorとかでエラーが出たときに なんかウィンドウが出るだけでデバッガの方に出力されないので どこでエラーが出てるのか分かりにくいです。 どうにか場所を特定する方法ってありますか?
174 名前:デフォルトの名無しさん [2007/09/26(水) 08:12:35 ] キーボードからの入力を受け取りたいんですけど、やっぱりAPIとかの知識がないとだめなんですかね?
175 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 08:18:52 ] キーボードからの入力以前に、やっぱりAPIとかの知識がないとだめ人間です。
176 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 08:25:37 ] >>173 つブレークポイント まず適当にブレークポイントを設定して自分のコードのどの場所でエラーが出るか特定する 次にその部分で使ってる関数の各ステップにブレークポイントを設定してどの場所でエラーが出るか特定する それを再帰的に繰り返していくとランタイムアサートのマクロ構文に辿り着く筈
177 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 08:39:44 ] >>175 学習してきます。
178 名前:デフォルトの名無しさん [2007/09/26(水) 20:53:45 ] 質問です。 struct Base { void *p; virtual ~Base(){} }; struct Hoge : public Base { Hoge(){p = new HogeData;} }; と、このように IData *pを派生先で共有したいと思っています。 派生先ごとにpに何を生成するかは決まっており、 Hoge なら new HogeData Main なら new MainData John なら new JohnData といった具合です。(xxxData たちは全て、IDataを継承しています) この状態で Hoge *pHoge = new Hoge; と、VisualSturio6.0のデバッガ「変数ウインドウ」で見た場合、pはあくまでvoid*型なのでそれ以上データを見ることはできません。 しかし、プログラマである私が決めたルールとして Hogeの時のpは*HogeDataとして扱うというルールがあります。 これをデバッガに認識させる方法はありませんでしょうか? ・Base *pHoge = new Hoge; とした場合、pHoge->pをHogeDataだと認識する必要は無い(高望みすぎるので) ・void *p; のかわりに IData *p; にしてみたが、IDataとしてしか認識してくれなかった(HogeDataの持つ変数は見られなかった) ・デバッガに認識させるために、何か特別な記述を加える労力は惜しまない ・クイックウォッチを使ってきちんと手動で型認識させてやれば見られたが、毎回手動はきつい(自動にできる方法があるならそれでもいいかも) よろしくお願いします。
179 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:55:30 ] 1行間違いです >と、このように IData *pを派生先で共有したいと思っています。 ↓ と、このように void *pを派生先で共有したいと思っています。 曖昧な表現でした >pはあくまでvoid*型なのでそれ以上データを見ることはできません。 ↓ つまり、変数ウインドウ上のpの頭のところに[+]記号が出てこないということです
180 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:08:24 ] >>178 仮にBaseはpを持っている必要がないとすれば、 BaseにIData* GetData() = 0;のようなメンバ関数を用意して、 個々の派生クラスで、メンバ変数pとpを返すGetDataを定義するという方法が思い付く。 派生クラス毎にpを持てば、HogeDataなど特化した型にできるだろう。
181 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:17:04 ] void pointer…(ゴクリ
182 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:22:40 ] >>180 お返事ありがとうございます。 派生クラス毎に持つという案は確かに考えたのですが、 Base <- Hoge <- HogeEx とやったときに複数ポインタが存在することになってしまいます。 (Baseには無しとしても、Hoge分とHogeEx分) IData* GetData() =0; の手法ですが、そのGetDataを呼び出す記述がソースに無い限り いきなりブレイクして変数ウインドウを見ても表示されないのではないでしょうか。 一応今も非virtual なGetDataをそれぞれ持つようにさせ、クイックウォッチの時の記述が統一的になるようにはしています。 (ただ、それでもクイックウォッチ呼び出すのかなり面倒なのですよね…)
183 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:46:50 ] template <typename T> struct Holder : public IHolder { Holder() : p(new T) { IHolder::p = p; } T* p; }; を作って typedef Holder<HogeData> Hoge; typedef Holder<MainData> Main; みたいに使えばどうか? 見るだけならrelease時はT* p を持たないバージョン作っといてそれを使うようにすればいいし
184 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:49:48 ] 変数ウインドウで値みなきゃデバッグできないわけじゃないし それだけのためにごちゃごちゃソースいじるのも頭わるすぎる
185 名前:デフォルトの名無しさん [2007/09/26(水) 21:54:44 ] なるほど、テンプレートですか 実験してみようと思います。 しかし逆に考えると、テンプレート使うくらいしか方法が無いってことなんでしょうかね 私の妄想上の記述ですが struct Base { void *p; virtual ~Base(){} }; struct Hoge : public Base { union { void *Base::p; HogeData* pHogeData; } Hoge(){p = new HogeData;} }; こんなことできないもんでしょうかね?
186 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 21:55:58 ] >>184 確かに正論だと思います。 なので「簡単に変数ウインドウで確認するための方法」があるなら知りたいわけです。 とてつもなくソースが難読になってしまうのなら、やらないだろうと思います。
187 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 22:15:32 ] もちろんできますお でもこうすればIHolderがいらない子になってしまう template <typename T> struct Holder { Holder() : derived(new T) {} union { IData* base; T* derived; }; }; HogeやMainもポインタや参照経由で多態性を持たせるなら もっと面倒臭くなるし下手すりゃVC6ではコンパイルできなくなるかも
188 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 22:27:21 ] MFCのランタイムクラス情報を使っていれば、 自動で派生クラスの内容も表示できたりするけど、 今回はそれは無しだろうしなあ。
189 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 23:38:07 ] 自分でautoexp.datを書くってのはどうだろう。
190 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 23:51:54 ] >>187 定義済みの変数を、unionで「こいつとも共用体ってことで」って後付けできないもんでしょうか >>188 MFCはなしですね…。携帯電話用なもので >>189 ぐぐってみましたがこれは面白そうですね。ちょっと調べてみます
191 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 00:38:43 ] autoexp.dat を使えばもしかしたらいけそう…。 と思うのですが、ポインタの型変換の書き方がわかりませんね… Hoge=b=<((HogeData*)p)->b> では認識してくれないようです。 どなたかautoexp.datについて分かるかたいらっしゃいませんでしょうか もしくは詳しいページor書籍などを紹介していただけると嬉しいです
192 名前:デフォルトの名無しさん [2007/09/28(金) 15:45:55 ] Visual Studio 2005 Standard Edition を購入しようとしています。 今2003版を持っているので、アップグレード版を買えばいいとは思うのですが、 2003のユーザー登録がしていなといけないとか、 同じパソコンにインストールしないといけないとか、 アップグレード版にはそういった制約があるのでしょうか? 教えて下さいませ
193 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 16:59:04 ] ない
194 名前:192 mailto:sage [2007/09/28(金) 17:14:14 ] >>193 ありがとうございます。 もし2003を持っていなくても、普通に動くという事?
195 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 22:34:58 ] インストール時に2003のディスクチェックくらいあるだろう
196 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 23:36:41 ] ディスクチェックもなければアクチもねえぞ
197 名前:デフォルトの名無しさん [2007/09/29(土) 00:46:19 ] #include "gameframe.h" void GameFrame::doMainLoop(){ ChangeWindowMode(TRUE); if(DxLib_Init()==-1) return; SetDrawScreen(DX_SCREEN_BACK); while(ProcessMessage()==0&& CheckHitKey(KEY_INPUT_ESCAPE)==0){ ClsDrawScreen(); ScreenFlip(); } DxLib_End(); とソースコードをコンパイルしようとしたら・・・ こんなエラーが出てきましたどうしたらいいでしょう?? ↓↓ エラー E2090 型限定子 'GameFrame' がクラス名または名前空間名ではない エラー E2040 宣言が正しく終了していない
198 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 01:32:11 ] エラーコードについて msdn で調べてみるか google 先生に聞いてみると良いよ。
199 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 05:28:42 ] 教えるだけ無駄そうだな C++勉強したことある?
200 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 07:24:53 ] 今までVBばっかり使ってたのですが、 最近Visual C++に興味があります 何から始めたらいいでしょうか?
201 名前:200 mailto:sage [2007/09/29(土) 07:27:18 ] 書き忘れました VS2005です
202 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 08:58:17 ] C++やったことがないとVisual C++は無理
203 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 09:00:16 ] ?
204 名前:200 mailto:sage [2007/09/29(土) 09:06:42 ] そうですか(><; どうも
205 名前:デフォルトの名無しさん [2007/09/29(土) 17:57:30 ] coutってなんて読むのでしょうか?
206 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 18:02:27 ] シーアウトかな
207 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 18:43:27 ] コウティー
208 名前:デフォルトの名無しさん [2007/09/29(土) 19:37:55 ] >>207 無知乙wwwwwwww
209 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 20:33:05 ] コンソールアウト
210 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 22:47:53 ] コウト
211 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 23:07:02 ] の中では
212 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 23:07:44 ] 兵器
213 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 06:32:20 ] な
214 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 08:06:32 ] const int const_cout_count = 0;
215 名前:デフォルトの名無しさん [2007/09/30(日) 08:31:56 ] 昔のVCのプロジェクトをビルドしようとしているんですが、 そのプロジェクトではnasmというコマンドを使ってアセンブラファイルをアセンブルしようとしていました。 そしてVC6ではnasmは見つからないらしく、コマンドが見つかりません、ってエラーになります。 nasmはVC6ではなくなってしまったのでしょうか?代替のアセンブラはありますか?
216 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 08:38:30 ] 昔のVCにnasmついてたっけ? 自分で作ったプログラムかそれ?
217 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 08:45:18 ] プログラムはネットで拾ったものです。
218 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 08:51:23 ] ググれ。nasmならsourceforge.netで公開されている。
219 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 09:00:04 ] ありがとうございます。ググッて来ます
220 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 09:04:16 ] おかげさまで今アセンブルできました!! ありがとうございましたm(_ _)m
221 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 13:12:49 ] nasmはintel表記に従っているから好き。 gasは独自表記に拘っているから嫌い。
222 名前:デフォルトの名無しさん [2007/09/30(日) 22:17:09 ] リソースファイルで設定した製品バージョン VALUE "ProductVersion", "0, 0, 0, 1" をプログラム中から取得するにはどうすればよいのでしょうか?
223 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 22:58:03 ] >>222 GetFileVersionInfo + VerQueryValue
224 名前:デフォルトの名無しさん [2007/10/01(月) 06:18:06 ] なるほど、一旦できた実行ファイルから取得するしかないんですね。 もっと静的にコンパイル時に取得できる物だと思っていました。
225 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 08:11:55 ] exeはコンパイルし直さない限り変らないから静的な情報だろ
226 名前:デフォルトの名無しさん [2007/10/01(月) 08:16:41 ] >>225 それはそうなんだけど、コンパイル時に決定できるなら よかったなぁ、と思って。マクロの中で使いたいから。
227 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 09:13:26 ] Resource.hあたりに、"0, 0, 0, 1"を適当にdefineして、 .rcと使いたいマクロ中でそれ使うようにすればいいだろ!!! とか、言ってみる。
228 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 12:27:52 ] >>226 リソースはコンパイル時に確定していない情報なんだから当然、無理。 # リソースが確定するのはリンク時。
229 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 12:31:17 ] >>226 マクロの中で使う場合でも定数である必要はないんじゃないの? 取得用関数を1つ別に作って、マクロの中でその関数使えばすむ話だと思うけど
230 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 16:08:06 ] >>222 tgws.fromc.jp/prog/versioninfo/
231 名前:デフォルトの名無しさん [2007/10/01(月) 21:48:11 ] Win2k3 x64上で64ビットEXEから 32ビットのみ対応DLLを使いたいと思っております。 しかし、MSDNを見ると、上記は不可能であると知りました。 32ビットのみ対応DLLを64ビット対応にする、という方法以外で、 64ビットEXEから32ビットdllを使用できる方法、プロセス構成として 何が考えられますでしょうか? なるべくパフォーマンスが落ちないような実装として何がありますでしょうか? 加えて、最も簡単な方法もありましたら教えていただきたいです。
232 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 21:54:53 ] 32ビットDLLを呼ぶEXEを作って、それと64ビットEXEとでプロセス通信したらどうか。 COMで32ビットアウトプロセスサーバ作ってもいいだろうし。 いずれにせよ32ビットEXEを介すことに変わりはないが。
233 名前:231 [2007/10/01(月) 21:58:02 ] >232 ありがとうございます。 プロセス通信というと、Socket通信とかでしょうか? メモリを共有することはできないんですよね。 もしできたとしてもコーディングが難しいのでしょうかね・・・?
234 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 22:09:33 ] ソケットもそうだし、ウィンドウメッセージ、メモリマップドファイル、パイプ、メールスロット、その他色々ある。 用途に合わせて好きなの選べ。
235 名前:231 mailto:sage [2007/10/01(月) 22:17:54 ] >>234 ありがとうございます。やはりプロセス間通信しかないですか・・・ dllには大きなデータを一度に渡すのですが、その場合に最も効率いいものはあるのでしょうか?ここからは自分で調べないといけないのかもですね。
236 名前:デフォルトの名無しさん mailto:sage [2007/10/01(月) 22:36:27 ] Win32 and COM Development - Development Guides - 64-bit Windows Programming - Running 32-bit Applications - Interprocess Communications 速度的には共有メモリだろうけど、一時ファイルを介するのも一つの手かもな。
237 名前:デフォルトの名無しさん [2007/10/02(火) 12:24:13 ] 始めまして、質問させていただきます。 Microsoft Visual C++ 6.0で人が作ったアプリケーション拡張開こうとしてるのですが 開き方が分かりません。誰か教えてください。宜しくお願いします。
238 名前:それが誰かは知りませんが mailto:sage [2007/10/02(火) 12:26:09 ] 「人」に聞きなさい。
239 名前:デフォルトの名無しさん [2007/10/02(火) 12:33:56 ] 落ちてたものなので、人に聞くことも出来ないので、ここに聞くことに したのですが、誰か教えてもらえませんか?宜しくお願いします。
240 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 13:50:34 ] アプリケーション拡張ってDLLのこと? 開くって何したいの?
241 名前:デフォルトの名無しさん [2007/10/02(火) 14:03:24 ] >>240 開き方わかります?知ってたら教えてください
242 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 14:37:17 ] VC++ 2005 Express Editionで質問です。 VC++のヘルプをMSDN Express Libraryからmsdn2007年6月版に変更したいのですが msdnから落として完全インストールでデフォルトのC:\Program Files\MSDNに入れました。 VC++でヘルプを開くとき新しく入れた2007年6月版が開くように設定するにはどうしたらいいですか?
243 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 15:45:10 ] >>241 釣り? DLLは「開く」ものじゃないぞ?
244 名前:デフォルトの名無しさん [2007/10/02(火) 16:04:13 ] そのまま VC++ に取り込んで改造できると思ってんのか 笑っちゃう
245 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 16:40:05 ] >240に対して>241の応答は酷すぎる。「言葉が通じない」の実例だ。
246 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 16:54:43 ] >>241 DLLを開きたいならCreateFileを使え
247 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 16:59:14 ] 話をかき混ぜるようなこと書くなw
248 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 17:09:18 ] 落ちてたものなのに「人」が作ったとなんで判ったんだろう。
249 名前:デフォルトの名無しさん [2007/10/02(火) 17:24:52 ] 人に聞けないってここの住人は…(以下略)
250 名前:デフォルトの名無しさん [2007/10/02(火) 17:29:51 ] >>244 なんだ改造できないのか、残念
251 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 18:03:06 ] >>248 人が作ったのでなければ何だね。 自動コーディングスクリプトかね。 まさか神が造ったなどと言うつもりではあるまい。
252 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 18:27:12 ] 落としたつもりは無いんだけど
253 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 00:14:18 ] 何このカオス
254 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 21:02:00 ] ttp://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ で、プログラムフォルダ以下のファイルを編集するときに、変更を保存できないんですが どうすればいいのでしょうか?
255 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 21:31:17 ] そこらへんのディレクトリ・ファイルは、管理者権限持ったユーザにしか 書き込み系のアクセス権限がないはず。 管理者権限持って出直してこい。
256 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:19:29 ] 管理者権限持っているんだが、どうもおかしいな
257 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:23:16 ] でもね、昨日の「-1」は、まじでわかっていた 信じて
258 名前:デフォルトの名無しさん mailto:sage [2007/10/03(水) 22:56:29 ] Vista+UAC
259 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 15:54:21 ] すみません VC6.0 初心者です。 ATLでNTサービスプログラムを作っています。 デバッグ用にメッセージボックスが出せると便利なのになぁと 思うんですけど、MessageBoxを使うと「ボン」と音がするだけで、 見えるところに出てきません。 (処理はそこで止まるので、出てはいるようです) やむなく LogEvent 関数でログを吐き、 イベントビューアで見てますが、NTサービスでは メッセージボックスを出せないものなんでしょうか?
260 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 16:29:02 ] >>259 デスクトップとの対話をサービスに許可 というオプションは試した?
261 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 18:18:07 ] >>260 対話を許可にしたらできました。 どうもありがとうございました(´・ω・`)
262 名前:グリッドとか、グリッドの間隔とか mailto:sage [2007/10/05(金) 14:33:03 ] Visualstudio 2003 C++で、ダイアログプログラムを作っているのですが ダイアログを編集しているときにグリッドを表示させているのですが、 標準ではグリッドの表示がされていないので、 書式-ガイドの設定-グリッドをチェック グリッドの間隔はデフォルトで6になっているのを3にしてOKボタンを押すのですが VC2003が覚えてくれません。これはやっぱり仕様なのでしょうか? どこかにデフォルトの設定を変えて通常グリッドON、間隔3にできないものでしょうか? ご教示ください、よろしくお願いします。
263 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:30:41 ] fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか? と、表示されるのですが…どうしたらよいのでしょうか… 文は「試しにこれをコンパイルしてみよう」みたいなのを何度も見直したんで大丈夫なはずなのですが…
264 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:45:28 ] '#include "stdafx.h"' をソースに追加しましたか?
265 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 22:53:07 ] それがイマイチわからなかったので追加しない方法もあったようで そっちでやったらコンパイルできました…
266 名前:デフォルトの名無しさん [2007/10/10(水) 01:50:25 ] タイトルバーを持つけどドラッグできないウインドって作成できますか? ウインドを移動させたくないんです。
267 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 01:54:30 ] WM_MOVING をのっとって見るとか?
268 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 01:59:19 ] >>267 こんばんは。早速試してみましがダメでした。:-)
269 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 02:22:19 ] WM_WINDOWPOSCHANGING
270 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 02:32:24 ] >>269 ありがとうございます。しかしそのメッセージを処理させないようにしたら ウインドの初期化処理でシステムから利用されているらしく、ウインドが表示されなくなってしまいました。 ウインドをドラッグしようとすると枠だけが移動するヤツありますよね? ドラッグを終えたときだけウインドが一瞬で移動するやつです。 あんな風にドラッグ操作だけは受け付けるけど、放したときに結局元の位置に戻っちゃう、 みたいなのでもいいです。 クレクレですみませんがよろしくお願いしま〜す
271 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 02:45:28 ] >そのメッセージを処理させないようにしたら どっちも現在の位置を入れるんだよ
272 名前:266 mailto:sage [2007/10/10(水) 02:56:36 ] こんばんは。皆さん、遅くまでありがとうございます。 いろいろ試してみたのですが、上手くいかないみたいです。 海外のサイトをあさっていて上手く行く方法を見つけました。 HMENU hMenu = GetSystemMenu(mhWnd, FALSE); ::DeleteMenu(hMenu, SC_MOVE,MF_BYCOMMAND); でメニューから「移動」を取ってしまう方法のようです。 お騒がせしました。(^0^)/
273 名前:デフォルトの名無しさん [2007/10/10(水) 11:22:33 ] 【政治】政府、"お金をつくる"造幣局や印刷局など独立法人20以上を民営化へ−機密性の保持も絡み様々な意見も★ 4 news22.2ch.net/test/read.cgi/newsplus/1191932873/ 【民営化】造幣局・印刷局など、独立行政法人20以上を民営化へ:政府方針 [07/10/07] news21.2ch.net/test/read.cgi/bizplus/1191727281/ 政府は6日、現在進めている独立行政法人(独法)の整理合理化に関連し、 101ある独法のうち、予算に占める国からの財政支出の割合(財政依存度)が低い 20法人以上の民営化を目指す方針を固めた。 2007年末に整理合理化計画を策定し、閣議決定する予定だ。 民営化の対象には、造幣局や国立印刷局、日本万国博覧会記念機構などがあがっている。 今後、独法の民営化推進を目指す渡辺行政改革相らの方針に対し、 事業の公共性の高さなどを主張する関係省庁の巻き返しが本格化しそうだ。 貨幣や紙幣を造る造幣局や国立印刷局については、機密性の保持なども絡み、 是非をめぐって様々な意見が出そうだ。 headlines.yahoo.co.jp/hl?a=20071007-00000002-yom-pol
274 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 11:30:28 ] >>272 試してみたら本当に動かないな。なんて怪しい仕様なんだ……
275 名前:デフォルトの名無しさん [2007/10/10(水) 16:22:12 ] 日付の取得方法を教えて下さい
276 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 16:59:13 ] カレンダーを見る
277 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 18:45:09 ] 本に書いてない? MSDNにもサンプルコードのってたような気がする
278 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 20:21:56 ] VC2005を使っています。 Bitmapクラスを使って、ビットマップデータを、ファイルではなく、指定したメモリに格納したいと思っています。 ファイル保存しかできないでしょうか? できるのなら、例を教えていただけるとありがたいです。
279 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 21:03:09 ] ファイルとして保存する所までできてたらメモリでもいっしょだろ
280 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 21:07:48 ] つ System.IO.UnmanagedMemoryStream
281 名前:デフォルトの名無しさん [2007/10/10(水) 22:35:15 ] サンプルコードではなく、実用的なアプリケーションのソースを公開してるとこありませんか? MFCでもSDKでOK wwwを検索すると、Viewに”hello world”とTextOutしていかにも、C++/VC++/MFC使えますみたいな のばっか、そんなの誰でもできるっちゅうねんw
282 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:37:44 ] OSS
283 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:38:30 ] 探せばいくらでも見つかるはずだけど 馬鹿には見つからないんだな
284 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:41:17 ] >>281 実用的なアプリケーションのソースくらいお前以外誰でも書けるっちゅうねんw
285 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:43:43 ] MFC、SDK ぐらいしか検索ワード知らないんだから そういうサイトしかヒットしないのは当たり前
286 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:44:38 ] ネットで言語の勉強してたら自然とそういう情報に当たるか見つけ方自ずと分かるっちゅうねんw
287 名前:デフォルトの名無しさん [2007/10/10(水) 22:46:21 ] あらあらあおりと取られちゃったのかしらんw 次元ひくっ
288 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:49:15 ] 質問の次元が高すぎるっちゅうねんw
289 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:49:39 ] あらあらあおりと取っちゃったのかしらんw 次元ひくっ
290 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:50:46 ] 質問の次元が高すぎるっちゅうねんw
291 名前:デフォルトの名無しさん [2007/10/10(水) 22:51:07 ] >>281 実用的なアプリケーションのソースが理解できないから お前のレベルに見合ったhello worldしか目に付かないのだっちゅうねんw
292 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:55:08 ] 逆にどういうキーワードで検索してるのか気になるっちゅうねんw
293 名前:デフォルトの名無しさん [2007/10/10(水) 22:56:34 ] しかし、>>281 が言ってることも的を射てるよ webでプログラミング情報を公開してる奴って結構多いが どれも、同じようなことしか書いていない 彼は恐らく日本語のページしかみてないんじゃないかな?
294 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 22:59:43 ] ぜんぜんプログラミングの知識のないやつとかが、 どっかで拾って来たソースのビルドの仕方聞くことが結構あるから まったく見つけられないやつはかなり特殊
295 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:01:48 ] どれも、hello worldしか書いていないページを是非紹介して貰いたい
296 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:10:47 ] Visual Studio 2002 C++で開発しております。 現在、ディスプレイの主電源が入っているか確認するプログラムを 作成しているのですが、主電源の状態を取得する事ができておりません。 SC_MONITORPOWERで情報がとれないかなとも試してみたのですが 主電源情報となると取れないようでした。 お手数ではございますが、ご教授のほど、よろしくお願い致します。
297 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:22:05 ] >296 そのプログラム考えたやつに聞けば? できる前提じゃないとそういう細かい要求でないと思う
298 名前:296 [2007/10/10(水) 23:37:51 ] >>297 考えたのは自分なので、聞くことはできないです。 その為、主電源情報を取得する方法ご存知の方が いらっしゃるのではないかと思い、質問させて頂きました。
299 名前:278 mailto:sage [2007/10/10(水) 23:38:55 ] >>279 280 ありがとうございます。bitmapクラスのSaveでファイル保存をしていました。 このメソッドはファイル保存しかできないように見えます。保存先をメモリにしたいです。 UnmanagedMemoryStreamをMSDNで見ましたが、どのようにこの問題の解決のために使うのかわかりません。 サンプルを教えていただけないでしょうか?もしくはBitMapクラスでメモリ保存できるAPIはあるのでしょうか?
300 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:51:03 ] うちのモニタは主電源は入りっぱなしだけど パソコン立ち上げた時にモニタのスイッチ押さないとモニタ写らない。 パソコン立ち上げた時にモニタが自動で写るようにしてほしいな
301 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:54:38 ] 自分ですればいいじゃん
302 名前:デフォルトの名無しさん mailto:sage [2007/10/10(水) 23:59:10 ] >>299 Stream に保存できるだろ
303 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 00:14:19 ] >>299 ぐぐった先頭にあるMSDNのページにサンプルあるんだけどそれではダメなの? もしかして、サンプルに書いてあるコメントが読めないとか?
304 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 09:19:32 ] 仕様勉強するにはやっぱり なんか1冊本を買ってきて最初から読むのがいいですかね
305 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 09:28:22 ] 人それぞれ
306 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 17:58:45 ] >>299 そもそも、そのBitmapはネイティブ、マネージのどっちだ? ネイティブのgdiplus::Bitmapなら、IStream*を引数に取るSaveを使え。 IStreamは自分で実装してもいいし、CreateStreamOnHGlobalを使ってもいい。 マネージのSystem::Drawing::Bitmapなら、Stream^を引数に取るSaveを使え。 渡すStreamは、System::IOのMemoryStreamでいいだろうが、 場合によってはUnmanagedMemoryStreamが適する場合もあるかもしれない。
307 名前:デフォルトの名無しさん [2007/10/11(木) 19:05:33 ] マルチスレッドを実現するためにスレッド作成をしたいと思ってます。 以下はスレッドを作成するクラスのソースです。 このように、staticをつけないとコンパイルエラーになります。 スレッド関数は、必ずStaticにしなければならないのでしょうか? Staticを使わずにスレッド生成を実現したいと思っております。 というのも、Static内の関数を全てStaticにしないといけなくなるので ・・・ スレッド生成でStaticを使わない実現方法があったら教えていただきたいです。 実際、みなさんはどのような方法でスレッド生成を実現しているのでしょうか? class TestThread{ // コンストラクタ、デストラクタは省略 public:void Function() { // スレッド作成 Thread^ main= gcnew Thread(gcnew ThreadStart(ThreadProc)); } private:static void ThreadProc() // staticをつけないとエラー {// 処理 } };
308 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:33:23 ] gcnew ThreadStart(this, &TestThread::ThreadProc)かな。
309 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 19:41:06 ] >>308 レス感謝です。しかしコンパイルエラーになりました。 deligate引数が無効と出ました。
310 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 21:18:49 ] >>309 ああごめん。>>308 の方法は、値クラスか参照クラスにしか使えない。 もし、ネイティブクラスの非静的メンバ関数を別スレッドで実行したければ、 マネージクラスでラップするか、CRTの_beginthreadexを使う必要がある。
311 名前:307 [2007/10/11(木) 21:54:57 ] >>310 マネージクラスでラップ(クラスにrefをつけた)ら、 コンパイルが通り、正常に動作しました。 beginthreadexについては調べてみます。 ありがとうございました。
312 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 23:19:26 ] マネージドとか、最近妙なモンが出てきやがって。。
313 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 23:21:23 ] もう最近でもないような。
314 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 23:21:37 ] :::::::::::::::::...... ....:::::::゜::::::::::.. (___ )(___ ) ::::。::::::::::::::::: ゜.:::::::::: :. .:::::。:::........ . .::::::::::::::::: _ i/ = =ヽi :::::::::::::。::::::::::: . . . .. :::: :::::::::.....:☆彡:::: //[|| 」 ||] :: :::::::::::::: :::::::::::::::::: . . . ..: :::: / ヘ | | ____,ヽ | | :::::::::::.... .... .. .:::: ::::::...゜ . .::::::::: /ヽ ノ ヽ__/ ....... . .::::::::::::........ ..: :.... .... .. . く / 三三三∠⌒>:.... .... .. .:.... :.... .... ..:.... .... ..... .... .. .:.... .... .. .... . .... . ..... .... .. ..... ............. .. :.... . ∧∧ ∧∧ ∧∧ ∧∧ .... .... .. .:.... .... ..... .... . ... ..:( )ゝ ( )ゝ( )ゝ( )ゝ デテキヤガッテ・・・. .... i⌒ / i⌒ / i⌒ / i⌒ / .. ..... ................... .. 三 | 三 | 三 | 三 | ... ∪ ∪ ∪ ∪ ∪ ∪ ∪ ∪
315 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 23:40:59 ] おまえらあんなC++もどき使うのやめちまいな!
316 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 23:53:51 ] 誰も使ってないような。
317 名前:デフォルトの名無しさん [2007/10/12(金) 00:16:45 ] C#やVBなんかよりは全然いいがなw
318 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 09:42:10 ] リストビューで選択されているすべての項目のインデックスをしらべるにはどうしたらいいんですかね? なんか GetFirstなんたらの後に、GetNextなんたらをやってもうまくいかなかったのですが…
319 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 09:46:09 ] LVIS_SELECTED
320 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 09:48:08 ] >>318 じゃあお前にはムリだ。
321 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 16:24:12 ] >>318 CListCtrl::GetFirstSelectedItemPositionのサンプルコードをよく見直せ。 それでも判らないならコードupしる。
322 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 18:53:49 ] コンストラクタはオブジェクトの初期化処理を行い デストラクタはオブジェクトの終了処理を行う というのは、どういった場面で使われるのですか? いまいち理解出来ないです
323 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 19:04:54 ] コンストラクタは最初に呼ばれて、デストラクタは最後に呼ばれるだけ 利用方法がわからなかったら無理に使わなくてもかまわない
324 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 19:34:34 ] >>322 デストラクタは、freeのような使い終わった後に呼ばないといけない解放処理を書く。 例えばstd::auto_ptrが内部に保持しているポインタをdeleteしたり、 ATL::CHandleはCloseHandleしたりなどという具合。 コードがスッキリするし、例外が投げられたときでも確実に資源が解放されるのがいい。
325 名前:デフォルトの名無しさん [2007/10/13(土) 09:06:01 ] >>322 オブジェクトを作るときに メンバ変数の値を動的に初期化するときとかにコンストラクタを使う たとえばある時はメンバ変数をAで初期化したいけど 別の時にはBで初期化したいようなとき。 っていうのがまだまだ初心者な俺の理解です。 たとえば class obj { char test; public: obj(char ch) { test = ch; } }; obj testobj('A'); っていう感じかなぁ あとは動的にメモリを確保する必要があるときとか。 クラスのこともっと勉強していけばわかってくるよ。
326 名前:デフォルトの名無しさん [2007/10/13(土) 09:28:46 ] コンストラクタ=母 デストラクタ=嫁
327 名前:デフォルトの名無しさん [2007/10/14(日) 12:45:49 ] 環境XP professional SP2 Microsoft Visual C++ 2005 Express Edition(MSからダウンロードしてます) SDKインストールすみ(MSからダウンロードしてます) cppファイルとdefファイルをビルトしたいのですが 以下のメッセージがでてビルトできません。 ------ ビルド開始: プロジェクト: aaaaaa32, 構成: Debug Win32 ------ コンパイルしています... aaaaaa.cpp c:\documents and settings\administrator\my documents\visual studio 2005\projects\123ler\aaaaaa.cpp(1) : fatal error C1083: include ファイルを開けません。'windows.h': No such file or directory ビルドログは "file:\\c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\123ler\Debug\BuildLog.htm" に保存されました。 aaaaaa32 - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== というメッセージがでて ビルドできません どうも設定の段階でつまずいているようなのですが また、ここに参考になりそうなコメントをみつけたのですが どこの設定がまちがえているのかが よくわかりませんでした。 ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=472335&SiteID=7 どなたかエラーを解決する方法をおしえていただけないでしょうか? よろしくお願いします。
328 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 12:59:49 ] >>327 想像だが、標準ファイル名をダブルクォーテーションで囲んでいるのではないか? ×#include "windows.h" ○#include <windows.h>
329 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 13:18:33 ] Expressの場合は何かのファイルを自分で編集しなきゃいけなかったような
330 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 13:21:03 ] www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ とりあえず、手順3は済んだの?
331 名前:デフォルトの名無しさん [2007/10/14(日) 22:27:56 ] 327です 328さん、329さん、330さん ご返事ありがとうございます。 手順3というのが よくわからなくて、 (いきなり オプションとかかれても 初心者にはどこにあるかすぐには わかりませんでした)(メニューから オプションとかいてくれるといいかも) いろいろと 試行錯誤して やっと意味がわかりました Executable ファイル Include ファイル Library ファイル のボタンが 右側上に あるのが やっとわかりました。 あと当方のバージョンでは そこも日本語に翻訳されており(カタカナもあり) それで 上からそれぞれのパスを設定したら うまくいきました。 フォルダをクリックしパスの本文をダイレクトに入力するんですね(^ ^;) (アイコンの意味も、私には わかりにくかったです) この理解のために、Visual C# 2005の本(秀O)も買ったのですが 少しバージョンが違うようですね。(2006年8月第1版) ここでのつまずきに かなりの時間をついやしました。 ほんとにありがとうございました。(^ ^) このあと、日付を変更して、別なテスト(実験)をやっていたら Microsoft Visual C++ 2005 Express Editionがうごかなくなってしまいました (今朝インストールしなおしたばかりなのに) (これも承認しないといけないんですね)
332 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 22:38:37 ] あほすぎ C++とC#は別物 オプションなんてたいていツール→オプション(設定)でどのソフトも同じ Windowsは初めて? その程度の知識でプログラムを作る側のアプリを触るのはやめて下さい。
333 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 22:40:33 ] どうい
334 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 23:07:08 ] ずぶの素人に本気になって相手できるお前らがうらやましい。 まるで泣いている赤ん坊に「日本語しゃべれねぇヤツは日本人じゃねぇよ!」 ってマジ切れしてる大人のようであります。
335 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 23:09:33 ] やれやれ どこに本気になっている人がいるんでしょうか? 赤ん坊に自分の見合った事をやりなさいと諭してるだけでしょ。
336 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 23:46:23 ] > どこに本気になっている人がいるんでしょうか? いないなら問題ないです^^
337 名前:デフォルトの名無しさん mailto:sage [2007/10/14(日) 23:49:35 ] VC2005EE+SDKを最初に手に取った赤ん坊には拍手を送りたい。 VC#と間違ってVC落としたのなら別だけど...
338 名前:デフォルトの名無しさん [2007/10/15(月) 03:44:06 ] #と++を見間違えたのだろうか。 それとも本当にばかなんだろうか。
339 名前:デフォルトの名無しさん [2007/10/15(月) 06:14:13 ] 初心者のちょっとしたあやまちだろう。 おまえらが、パソコンに初めて触ったときのことをよく 思いだして見ろよ、ハゲ。
340 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 06:51:30 ] 思い出した!うーんそんな間違いはしなかったなぁ。うん。
341 名前:デフォルトの名無しさん mailto:sage [2007/10/15(月) 08:10:33 ] HOW MANY PAGES の意味が解りませんでした(><)
342 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 17:28:52 ] How many files(0-15)?がどうかしたって?
343 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 17:30:51 ] VC++はcl.exeとデバッガだけ使うようにしてさ エディタはemacsとかvim使おうぜ その辺の初心者の10倍の速度で上達するよ☆(ある意味で)
344 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 17:38:20 ] たまに現れるけど何がしたいの
345 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 18:26:42 ] Vimと言えば、初心者向けに操作方法を説明しているサイトは多いが、 始めにQuickFixコマンドの説明を含めている所は見たことが無いな。 名前付きバッファなんざ覚える暇があったら、:cwだけでも覚えるべきだ。
346 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:10:04 ] もぅ…訳がわからん MFC使うためにオブジェクト指向プログラミングを勉強してるが、 静的メンバ変数とか、メンバイニシャライザだとか、訳がわからなくなってきた、
347 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:13:53 ] 今時MFC使うなんてバカじゃねぇのw
348 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:18:53 ] >>347 今は何を使うんですか?
349 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:19:30 ] ナウなヤングに今のトレンドを教えてください。
350 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 22:24:59 ] .NET? だけど俺はあえてATL/WTLを選ぶぜ!!
351 名前:デフォルトの名無しさん [2007/10/16(火) 23:02:35 ] >>346 MFCには魔物が潜んでいる。 ヤツは必ずキミを破滅に導いてくれる。 もはやマイクロ・ソフトさえ見捨てたMFCを、なぜ今更?
352 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:18:53 ] Googleさんが言うには vc mfc の検索結果 約 1,950,000 件中 1 - 10 件目 (0.06 秒) vc wtl の検索結果 約 225,000 件中 1 - 10 件目 (0.05 秒) vc c++/cli の検索結果 約 1,510,000 件中 1 - 10 件目 (0.13 秒) C++/CLIが意外と多いのに驚いた。
353 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:23:29 ] それ、vcとc++とcliで検索がかかってないの?
354 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:26:01 ] >>353 ぐぐれwww
355 名前:デフォルトの名無しさん [2007/10/16(火) 23:29:52 ] MFCってさ、文字列だはSTLに比べて格段に扱いやすいんだよな。 ただそれだけ。それだけなの。 深みにハマれば人生を棒に振るだけだから、絶対に近づかないほうがいい。 廃人になって捨てられる悲しい人生が待っている。 「MFCやめますか?それとも人間やめますか?」 そもそも 「DLL HELL」 とい言葉はMFCから生まれたもの。 意味はDLL地獄。DLLという単語とHELL=地獄をかけてある。 ようこそMFC地獄へ!
356 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:35:03 ] std::basic_stringてSTLの問題児のひとつじゃないかw
357 名前:デフォルトの名無しさん [2007/10/16(火) 23:37:48 ] そう。だからだよ、MFCの方が使いやすい。文字列だけはな。 でも、コレに騙されてはイカン!
358 名前:デフォルトの名無しさん [2007/10/16(火) 23:50:17 ] すんごい同意☆ MFCはCStringだけが取り柄w あとちょっとしたアプリはDialogベースアプリで書けるのがメリットかな。 だから俺はいつもMFCのDialogベース。 皆はなに使ってるの?Win32?
359 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 23:58:44 ] うん
360 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 00:07:34 ] MFCはAPIのラッパークラスだし何でSTLが比較対象に上がるのか理解に苦しむ。
361 名前:デフォルトの名無しさん [2007/10/17(水) 00:51:28 ] >>360 初心者にはそこが分からない。 間違った方向へ進もうとしている初心者を正しく導くのが、 このスレの住人に課せられた使命。
362 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 01:22:06 ] MFCにはCStringがある。だからSTLと比較される。
363 名前:デフォルトの名無しさん [2007/10/17(水) 01:44:23 ] MFCは CString 以外は使うな。人間性を失いたくなければ。
364 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 14:18:04 ] ダイアログベースのアプリならMFCが楽でいいよ。 そっから先は無理だけど。 作るもの全てがダイアログベースのアプリになってしまう。 俺がいい例。
365 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 14:50:39 ] たまにはドキュメントビューアーキテクチャのことも思い出してあげてください
366 名前:デフォルトの名無しさん [2007/10/17(水) 16:23:14 ] >>342 青春時代を思い出して泣いた。
367 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 17:49:02 ] VC6.0でWindowsサービスを作っています。 作ったサービスはXPでは動作するのですが、 2003 Server ではサービスとしての起動ができません。 (正確にはWindows Server 2003 R2 Standard Edition です) サービスマネージャで「サービスの開始」をクリックすると、 プログレスバーが出てしばらく後 「ローカルコンピュータのxxxx(サービス名)サービスを開始できません。 エラー1053:そのサービスは指定時間内に開始要求または 制御要求に応答しませんでした。」となります。 根本的に、2003 Server 向けのサービスをVC6で作ることはできないのでしょうか。 ご存知の方おしえてください
368 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:04:46 ] >>365 つーかMFCはそれがメインだと思うんだが、使いこなせない人多いんかな。
369 名前:デフォルトの名無しさん [2007/10/17(水) 18:21:47 ] C++作成支援プログラムって存在しますか? たとえばHTMLならPOWERPOINTで画像やボタンの配置などが簡単にできますがC++でも同じようなことができる プログラムってありますでしょうか。
370 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:25:26 ] スレが違うと思われ
371 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:28:24 ] Visual C++は、まさにそういう類いのソフトウェア。 ところで、PowerPointはただの釣針だよね?
372 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:41:59 ] >>371 powerpointじゃなかったpublisherだった。 ありです。
373 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:49:46 ] >>369 GUIツールキットとかGUIビルダーとかかな・・・ スレッドあるからそこで雰囲気見てみるといいよ。
374 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:53:16 ] VC++初めて使おうと思ってるんですけどVBのプログラミング言語のところだけC++になったもの、と考えてあってますか? もしVBのようにGUIが作れるのであれば本格的に勉強しようと思ってるんですが・・・
375 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 19:05:41 ] VBと違って簡単なプログラムでも大量のコードが必要
376 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 19:37:37 ] 待て、Publisherも名前からして違う。 MS OfficeならFrontPageだろ。 まあこれも別製品に後継を譲る立場だが。
377 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 21:29:08 ] >>374 Standard以上のVCにはいくつかのライブラリが付いてくるんだけど .Netを使うならVB.NetのようにGUIを作れる。ただ言語は純粋なC++じゃなく C++/CLIになる。ライブラリ使わないなら375の言うようなことになる。 C++のライブラリもあるんだけど、必ず変なのが来て暴れるので説明省略。
378 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 03:05:31 ] VC++ってもしかしてCopyFile(○○,××,FALSE)に対応してない? どなたか解決方法教えてください
379 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 03:36:31 ] たぶん原因が<windows.h>をインクルードしてないからなんだと思うのですが、#include文を入れると 大量にエラーが増えてしまいます・・・ どうすればいいのでしょうか
380 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 03:58:37 ] >どうすればいいのでしょうか コンパイラが教えてくれるだろ。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう。 ・できるだけ具体的に。
381 名前:デフォルトの名無しさん [2007/10/18(木) 12:38:16 ] VC2005 Proを使ってます。 クラスライブラリのヘッダにて、abstract sealedの クラス内にtypedefとtemplateを使った定義をしました。 しかし、そのヘッダ内では使えるものの、そのほかのクラスでは使用 できません。コンパイルエラーになります(定義されていないとのこと) (staticのメンバ関数などはOK)。 どうしたら、他クラスで使用できるのでしょうか?また、templateや typedefをクラスライブラリで定義する場合はこの方法しかないのでしょうか? // typedefを使用したクラス(例) public ref class TYPES abstract sealed{ public: typedef short test16; typedef unsigned short utest16;}; // templateを使用したクラス(例) public ref class METHODS abstract sealed{ public: template <typename T1> static T1 TEMPTEST (const T1& t1) {return t1;} // このメンバ関数は他クラスでも使用可能 static void TEST(int num){int i = 3;} };
382 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 13:45:36 ] スレ違い? クラスライブラリで template、typedef 使うなよ
383 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 18:56:16 ] >>381 いつものC++みたいに、ヘッダファイルも一緒に配ればOK。
384 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 23:02:47 ] STLとMFCだと、プログラミングの技術に差は出ますかね?
385 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 23:09:18 ] 使い道が全然違う
386 名前:デフォルトの名無しさん [2007/10/18(木) 23:15:55 ] MFCって次期VSから無くなるんじゃなかったっけ? もうどうでもいいよ
387 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 23:28:16 ] >>386 確かMSDNにMFCに関するQ&Aがあって「MFCはなくなりませんか?」みたいなQに対して、「永久になくなりません。」ってAがあった。 ホントかよっ!と思いつつ読んでいたが、無くなるのか。。
388 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 23:28:40 ] 今から勉強するならSTLですかね? 参考書籍等が書店に見当たらないのですが、ほとんどがMFCを説明している本でして、
389 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 23:30:38 ] >>364 ダイアログベースなら他のツール使えば? ダイアログベースのアプリなんて使ったこと無い
390 名前:デフォルトの名無しさん [2007/10/18(木) 23:34:55 ] >>388 MFCとSTLは全く別物 どちらもやってもよい
391 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 23:58:28 ] >>386-387 blogs.msdn.com/vcblog/archive/2007/03/21/mfc-updates-for-vista-common-controls.aspx どうみてもやる気満々なのだが。
392 名前:デフォルトの名無しさん mailto:sage [2007/10/18(木) 23:59:39 ] 簡単なGUIアプリケーションを作りたいと思っています。 一応、C,C++は基本的なことは理解しているつもりです。 検索したらMFCや.NET Framework、Win32APIがあったのですが。 違いもいまいちわからないのですが、どれを使ったらいいのでしょうか? 宜しくお願いします。
393 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:00:01 ] とりあえず2008ではなくならない むしろ拡張されてる
394 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 00:03:26 ] けど、あいかわらずグリッド系は自前で作るしかないのね
395 名前:デフォルトの名無しさん [2007/10/19(金) 01:14:27 ] Visual Basic2005とVisual studio2005って何が違うのか何方か教えてください
396 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 01:23:32 ] わらた
397 名前:デフォルトの名無しさん [2007/10/19(金) 01:27:45 ] >>389 いまのアプリケーション開発(Win)ってトレンドってなんだろう? Win32だとGUIを作るのが大変そうだし。 視覚的にGUIが作れるのってダイアログベースアプリくらいしか思いつかない。 あとはVBかC#。 C#も作ったコントロールやウインドがやたら画面の端に引っ付いたりして気に食うものがなかなか出来ない(と個人的に思う)
398 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 03:24:51 ] VC++のフォームを使ってボタンを押すと特定のファイルを移動するプログラムを作りたいんですが、 copyfile の identifier が見つかりませんでした、とビルドエラーがでます。助けてください
399 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 07:27:53 ] 全ソースupしたら助けてやらないことも無い。
400 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 07:39:39 ] WinAPIのCopyFileなら 必要なヘッダ(windows.h)をincludeしてない CopyFileなのにCopyfileやcopyfileにしてる
401 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 09:43:51 ] どなたか>>392 お願いします。 スレ違いだったら言ってください。
402 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 09:53:57 ] どれでも好きなの使ったらええやん 向き不向きがあるだろ
403 名前:デフォルトの名無しさん [2007/10/19(金) 10:59:48 ] C++/CLIでWindows.Formsがトレンドなんじゃないの? とC#を使いながら言ってみる。
404 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 15:19:15 ] >>389 >ダイアログベースなら他のツール使えば? ツール???何の? ツールの話なんて誰がしてたの?
405 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 00:51:50 ] ソースファイルはあるのだがどうにもコンパイル出来ない・・。 替わりに俺がやってやるぜ!なんて素敵な方、いませんか? g++とsqliteのライブラリ・ヘッダがあれば良いらしいのですが。 欲しいバイナリはwin32用です。
406 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 00:52:43 ] 壱千万で引き受けます。
407 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 00:55:14 ] それ・・は・・むり・・。orz
408 名前:デフォルトの名無しさん [2007/10/20(土) 03:28:28 ] おいおい、NTTデータなら800億円で受注する仕事だぜ?安いもんさ。
409 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 11:01:54 ] VC++2005EEを使っています。 コマンドラインからclでコンパイルのみを行ってからlinkを使った場合、 CRTやkernel32.libは指定しなくても自動的にリンクされるようですが、 デフォルトでリンクされるライブラリファイルはどこで定義されているのでしょうか?
410 名前:デフォルトの名無しさん [2007/10/20(土) 12:54:14 ] Windows2000でVC++2002でアプリケーションを作成したのですが "read" になることはできませんでしたのエラーがでても動いているので そのまま稼動させて大丈夫でしょうか? readってことは参照しかしてないってことですよね?
411 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 12:55:59 ] だめだよ
412 名前:デフォルトの名無しさん [2007/10/20(土) 13:00:38 ] なぜですか?
413 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 13:12:59 ] >409 lib
414 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 13:16:14 ] >>410 コード晒してくだちゃい><
415 名前:デフォルトの名無しさん [2007/10/20(土) 13:19:19 ] 1万7千行ありますが
416 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 13:26:47 ] 何でその程度で触ってんの? 一人で使うなら問題ない それが君の力量だから
417 名前:デフォルトの名無しさん [2007/10/20(土) 13:38:21 ] 一人では使いませんが一人で作っています
418 名前:409 mailto:sage [2007/10/20(土) 13:40:40 ] >>413 それはライブラリファイルがある場所を示してくださっていると解釈してよろしいですか? ライブラリがある場所ではなく、デフォルトでリンクされるライブラリファイルが どこでどのように設定されているのかを知りたいのです。 例えばkernel32.libやCRTはデフォルトでリンクするが、 user32.libは指定しないとリンクされない…とか。 corewin_express.vspropsで設定されているライブラリファイルは コマンドラインでのリンクには影響を与えないことを確認しました。
419 名前:デフォルトの名無しさん [2007/10/20(土) 14:17:07 ] hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_CHAR"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION); if (hBitmap == NULL) { MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK); return 0; } これでリソースからビットマップを読んでるつもりなんですが 何故、メッセージが出るんでしょうか? #include "resource.h" も付けています。 MAKEINTRESOURCE("IDB_CHAR") の部分に ビットマップのパスを入れても同じです。
420 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 14:26:50 ] GetLastError()
421 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 14:43:49 ] >>419 MAKEINTRESOURCE(゚听)イラネ このマクロは、LPCTSTRにWORD型のIDを突っ込むために使う。
422 名前:デフォルトの名無しさん [2007/10/20(土) 20:42:10 ] >>410 ポインタの使い方間違ってるんじゃないの?
423 名前:デフォルトの名無しさん [2007/10/20(土) 23:41:40 ] 「猫でも〜」で、C++でもGDI+が使えることを知りました。 さっそく画像表示プログラムつくってみたんですけど、パスに漢字がはいると 表示できません。これはなぜでしょうか?
424 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 23:57:46 ] VC++6.0でOutlook2007と携帯W54Tのスケジュールとタスクの同期プログラム作りたいんだけど。 まずは、bluetoothの制御方法から教えてくれ。 サンプル世路
425 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 00:08:14 ] そのようなことができる方は初心者とは言いません。
426 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 00:26:14 ] 初心者とは、初心の心を持っている者のことである。
427 名前:デフォルトの名無しさん [2007/10/21(日) 00:34:12 ] うるせぇ!オレ様は初心者だぞ。おまいら初心者を差別するつもりか? 初心者には知る権利がある。質問する権利がある。違うか? オレの言ってる事が間違っているなら、筋道立てて理路整然と反論してみろや!
428 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 01:12:58 ] 俺は小心者ですが何か?
429 名前:398 mailto:sage [2007/10/21(日) 02:09:50 ] #include <windows.h> #pragma once using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; namespace testfile { public ref class form : public System::Windows::Forms::Form { public: form(void) { InitializeComponent(); } protected: ~form() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: private: System::ComponentModel::Container ^components; 続く
430 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 02:11:36 ] #pragma region Windows Form Designer generated code void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->SuspendLayout(); this->button1->Location = System::Drawing::Point(58, 130); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(163, 74); this->button1->TabIndex = 0; this->button1->Text = L"button1"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &form::button1_Click); this->AutoScaleDimensions = System::Drawing::SizeF(6, 12); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(292, 266); this->Controls->Add(this->button1); this->Name = L"form"; this->Text = L"form"; this->ResumeLayout(false); } #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {CopyFile("\\files\\readme.txt","C:\\program files\\testprogram\\readme.txt",FALSE); } }; } 長いですけどフォームつかったら自動的にいろいろ追加されてこんなふうになってしまいました。ボタンを押すとファイルを書き換えるだけなんですけど・・・ とりあえずボタン押して
431 名前:398 mailto:sage [2007/10/21(日) 02:17:02 ] そしてビルドしたときのエラー 1>------ ビルド開始: プロジェクト: testfile, 構成: Debug Win32 ------ 1>コンパイルしています... 1>form.cpp 1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2001: newline in constant 1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(1) : error C2059: syntax error : 'string' 1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C2065: 'FALSE' : undeclared identifier 1>c:\documents and settings\○\my documents\visual studio 2008\projects\project1\testfile\testfile\form.h(88) : error C3861: 'CopyFile': identifier not found 1>ビルドログは "file://c:\Documents and Settings\○\My Documents\Visual Studio 2008\Projects\Project1\testfile\testfile\Debug\BuildLog.htm" に保存されました。 1>testfile - エラー 4、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
432 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 02:39:43 ] CopyFile で右クリックして「定義へ移動」すると勉強になると思う。
433 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 09:06:43 ] CLR-Windowsフォームアプリケーション で新規作成、 ボタン配置してハンドラを同じように書いてみたけど、 文字列がUnicodeでないと文句言われただけで、後は問題無かった。 form.h(1)の謎のエラーが後に影響しているのかもしれんね。 そのエラーだと、ヘッダをインクルードしているソース側に問題がある可能性もあるから、 #include "form.h" より前の部分もチェックした方が良いな。
434 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 10:03:42 ] 現在, Visual C++ 6.0 → .netの2005 Windows2000 → WindowsXP SP2 へようやく以降したのですが,分からぬエラーが. 6.0 + 2000 = 問題ない 6.0 + XP = 問題ない 2005+ 2000 = 問題ない 2005+ XP = 問題あり 何が問題か,ですが テキストファイルを読み込むと終了時にアクセス違反 というエラーがでます. テキストファイルを読み込まなければエラーは起きません. 何かXPと2005の組み合わせで気をつけなければ ならないことあるのでしょうか?
435 名前:409 mailto:sage [2007/10/21(日) 10:21:58 ] >>409 >>418 どなたかご存知の方がおられましたら、教えてください。
436 名前:デフォルトの名無しさん [2007/10/21(日) 12:43:51 ] >>421 hBitmap=LoadImage(hInstance,"C:\\test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); なら、その後Bitbltで描けるようですが、 hBitmap=LoadImage(hInstance,MAKEINTRESOURCE("IDB_NULL"),IMAGE_BITMAP,0,0,LR_DEFAULTCOLOR); これだと駄目です。MAKEINTRESOURCEを取っても駄目です。 パスで指定 → OK リソースから → 駄目 もう、どうしたらいいか・・・
437 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 12:48:21 ] >>436 GetLastError()で見たのかよ低脳 ""取ってみ MAKEINTRESOURCE("IDB_NULL")→MAKEINTRESOURCE(IDB_NULL)
438 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 12:51:43 ] >>434 自分の2005+XP SP2では問題は発生しない。 2000->XP SP2 はもちろんクリーンインストールだよな。 >>435 コンパイラの既定CRTライブラリは/MTなので、 出力されたオブジェクトファイルにlibcmt.libのリンク指示が含められている。 で、リンク時にCRTライブラリによってエントリポイントが解決された結果、 それが依存するライブラリもリンクされている。 CRT内部で何をしているか調べるのは正直骨だし、 とりあえず宣言しとけばいいんじゃね?被っても問題無いし。 ちなみに、エントリポイントを自分のコードで解決してCRTを一切リンクしなかった時は kernel32.libすらリンクされなかったので、あくまで依存関係に従っていると考えて良さそう。 >>436 リソースの識別には、16ビットIDと文字列を対応付ける二つの方法がある。 "IDB_NULL"という文字列を対応付けているなら "IDB_NULL" で良いが、 resource.hのIDB_NULLのID定義を介しているなら、MAKEINTRESOURCE(IDB_NULL)だ。
439 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 12:58:40 ] 画像はウィンドウクラスでカーソルとアイコンの登録しかやったことないけど メニューの指定でもいろいろ悩んだなぁ・・・。 とりあえずわかったことは 引数として文字列(のポインタ)が要求されるのに resource.h でリソース名に定数振られてて そのせいでうまくいかないっぽいってことはわかった。 画像とかの ID とかを "" で囲んで resource.h から #define の定義を消すとうまくいってた。 正当なやり方はよくわかってない。
440 名前:デフォルトの名無しさん [2007/10/21(日) 13:05:00 ] よくわかってない奴は黙ってろや あほが余計悩むだろ
441 名前:デフォルトの名無しさん [2007/10/21(日) 13:10:39 ] >>437 ,438,439 " を外しても同じです。 エラーなどは出ません。 一応、使ってるのがVC5なんですよ。これって関係あるんかな? GetLastErrorも調べてみます。
442 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:17:43 ] たまに、resource.hに使われなくなったIDが残ったりするから、それかもしれないな。 .rcファイルとresource.hを目視で確認してみ。
443 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:21:34 ] 何か理由があってVC5なんて使ってるの? 新しいのに移行する時に余分に時間が掛かるだけだし情報も少ないよ
444 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:27:34 ] リソースビューでその画像が "IDB_NULL" ってなってるんじゃないの? "" とって IDB_NULL にしてみたら?
445 名前:デフォルトの名無しさん [2007/10/21(日) 13:33:21 ] >>444 画像名はリソースビューで見ても IDB_NULL で "" は付いていません。 本当に謎だ・・・
446 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 13:37:03 ] >>445 今手元に環境あるの?
447 名前:409 mailto:sage [2007/10/21(日) 13:57:16 ] >>438 オブジェクトファイルにコンパイラからのリンク指示が含まれているということなので、 dumpbinを使ってオブジェクトファイルの内容を調べてみたところ、libcmt.libのリンクを 指示するリンカオプションが含まれていました。 また同様に、libcmt.libをdumpbinで調べてみたところ、kernel32.libへのリンクが 指示されていました。 おかげで疑問が解決しました。ありがとうございました。
448 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 14:59:09 ] OS:XP Pro sp2で下記URL先のWindows アプリケーションがアクティブにならない状態です。 解決策はあるのでしょうか? ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1361138&SiteID=7
449 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 15:04:10 ] 解決してんじゃん いろいろやってみろよ お前には無理だけど
450 名前:434 mailto:sage [2007/10/21(日) 15:22:29 ] >>438 クリーンインストールです. サブPCが2000のままだったのでVC++6.0を入れて メインPC(XP)の.netの2005とモニタ並べて まったく同じ処理をやってもメインPCの方だけアクセス違反が…. 2005では文字コードをUnicode→マルチバイトへの変更が差分です.
451 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 15:29:12 ] 同じじゃないじゃん
452 名前:デフォルトの名無しさん [2007/10/21(日) 16:36:59 ] >>446 あります。 一応、LoadImage後に if (hBitmap == NULL) { MessageBox(hWnd,"BitMap Load Error", "エラー",MB_OK); return 0; } で調べてみると メッセージが出ます。
453 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 16:41:48 ] あるのに遅すぎんだよ
454 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 17:56:53 ] LoadImageで読み込めないフォーマットのビットマップの可能性もあるから、 まずは、FindResourceでリソースを見つけられているかどうか確認した方が良いな。 生成された実行ファイルをIDEで開けばリソースを覗けるはずだから、 IDが正しく対応しているかの確認も。
455 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:00:58 ] LoadImageで読み込めてるって書いてある
456 名前:434 450 mailto:sage [2007/10/21(日) 18:06:57 ] >>451 @windowsXP (.NETの2005)で文字コードをマルチバイト, Awindows2000(.NETの2005)で文字コードをマルチバイト, 同じ条件で@では終了時エラー,Aでは正常終了です. まったく同じ条件です. XPのSP2で何か気をつけるべきことがあるのかと考えていますが, まだ原因が特定できません.
457 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:12:33 ] 今まで問題のあるコードがたまたま動いていただけなんじゃねぇの。
458 名前:434 450 456 mailto:sage [2007/10/21(日) 18:22:27 ] >>457 うーん,その可能性も否定できないんですが 実際に複数台のPCで1日中ずっと処理を走らせて, 3年間,エラーが起きることはなありませんでした. エラーが起きる部分(ファイル読込)は少なく見積もって 数万回は走っているはずです. 終了時にエラー(アクセス違反)は一度も出ていません. 現在調べている時は余計な部分を削除していき, ファイル読込部分しか書いていないです.
459 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:33:12 ] 自分は絶対間違ってないという前提なら ここで質問されても答えようがないから マイクロソフトに直接聞け
460 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:34:41 ] 短いならコード出すべし。
461 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:36:08 ] Unicodeなら問題ないの?
462 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 18:42:48 ] どうせバッファオーバーフローとかだろ
463 名前:デフォルトの名無しさん mailto:sage [2007/10/21(日) 19:14:49 ] どうしてデバッガで追うとかしないの?
464 名前:自作ブラウザ [2007/10/22(月) 17:48:37 ] VC++ 6.0 で htmlview を基本クラスにして、ブラウザを作成した時には マウスによるクリック処理をプログラマがコードを追加して実装しなくても、 左ボタン処理等が実装されていますが、これをカスタマイズしたい時には どうすればよいのでしょうか?
465 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 17:52:14 ] >>464 つ[JavaScript]
466 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 16:00:19 ] windows フォームアプリケーションを使ってるんですがC++と少し違いを感じました。 messagebox.showをmessagebox::showと書いたり messagebox以外にもいろんな機能を使いたいんですがなんと入力すればいいのかわかりません。 ファイルを特定フォルダに作成したり、特定なファイルを上書きしたり、別ウィンドウを開いたりしたいんですが 誰か教えてください
467 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 17:20:25 ] C++出来るんならMFCなりapiたたいたりapiクラス化するなりで良いじゃん
468 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:30:31 ] >>466 がやっているのは、C++/CLI だ。 というわけで .NET Framework のリファレンスを見れ。 もっとも、.NET 触るんであれば、俺は C# をお勧めする。
469 名前:デフォルトの名無しさん [2007/10/24(水) 05:26:09 ] >>468 だな。VSC++はネーテブコード吐き出すためのツールだと知れ>>466
470 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:31:13 ] VS2003.NET→VS2005に環境を移行しました。 が、VS2003.NETでは警告、エラーともにでなかったソースでもVS2005だと警告が出ます。 調べたところ、文字コードがUNICODEではないため警告が出ているようです。 そこで、文字コードを一括(プロジェクト内のソースすべて)をUNICODEに変更するにはどうすればよいのでしょうか?
471 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:37:28 ] めんどくさいぞ それよりプロジェクトのプロパティで以前の文字コードに設定したらどや
472 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:46:34 ] >>471 ありがとうございます。 プロジェクトのプロパティはVS2005の設定項目のどこを変更すればよいのでしょうか? 質問ばかりですいません・・・・
473 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 05:57:41 ] 左側のソリューションエクスプローラのプロジェクトファイルのアイコンを右クリック→プロパティ 全般のページが開いてると思うから真ん中当たりに文字セットがある 2005からデフォルトでUNICODEになった
474 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 06:15:14 ] VS2003.NETで作成したプロジェクトをVS2005で開き、>>473 の部分を確認したのですが、 すでに「マルチバイト文字セットを利用する」となっていました。 warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。 データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 出てくる警告は上記のものです。これは気にしなくてもよいのでしょうか・・・
475 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 06:17:54 ] 何やそれかw ファイル→保存オプションの詳細設定でUnicodeで保存し直したら消えるんちゃう?
476 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 06:40:16 ] これでいけそうですね。 ただ、ファイルが十数ファイルあるので一括変換できればうれしかったのですが・・・残念です。 早朝からありがとうございました。
477 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 11:49:14 ] >>476 せっかくVC++使ってるんだから 一括変換のプログラム書けばいいだろう
478 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 12:54:31 ] >>467-469 ありです。やってみます
479 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 21:59:36 ] 超初心者で申し訳ないのですが、質問があります。 VC++ 2005で、 ttp://tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_6.htm を参考にペイントツールを作成していたのですが、 ツールバーのボタンが押されたときに呼び出される関数を設定する所で詰まってしまいました。 ClassWizardのない2005では、この部分をどう作ったら良いのでしょうか?
480 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 22:17:38 ] ツールバーのボタンを押す
481 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 22:20:29 ] 最初メニューにコマンド追加して それをツールバーにも設定
482 名前:479 mailto:sage [2007/10/25(木) 22:40:56 ] >>481 クリアしました。 啓蒙ありがとうございました。
483 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 06:53:45 ] オブジェクト指向プログラミングを大きく分けてみたんですが、 カプセル化、抽象化、階層化で合ってますか?
484 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:16:05 ] 質問ですが、フォルダをウィンドウから開きたい場合はどうしたらよいのでしょうか? 例えばですが、 ウィンドウにマイコンピュータの画像を貼り付け、そこをクリックしたらマイコンのフォルダが開く。と と、したいのですが、色々調べていてやり方がさっぱり分かりません。 分かるかた是非教えて下さい。また、参考サイト等ありましたら合わせて教えて下さい。お願いします。
485 名前:デフォルトの名無しさん [2007/10/26(金) 10:34:18 ] system("explorer.exe C:\\");
486 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:41:15 ] >>485 レスありがとうございます。 書いて頂いたのは、プロンプトが一回開いてしまうんですが、そのまま直にフォルダを開く事はできませんか? 私が今まで書いていたものは、 ShellExecute(hWnd, "oepn", "パス", NULL, NULL, SW_SHOWNORMAL); なんですが、この方法ではうまくいきませんでした。無理なのであればsystem()でやろうかと思います。 また、マイコンピュータを開く場合、ファイルパスがうまく指定できないのですが、何故でしょうか・・ C:\Documents and Settings\ユーザ名\Favorites\My Computerではフォルダがないと言われるんですが、違うのでしょうか。 度々ですが、宜しくお願いします。
487 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 10:44:12 ] 質問小出し野郎はスルーするのが吉
488 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 11:01:22 ] "oepn"ではフォルダはオープンしないと思う。せいぜいできるとしてもオエプンくらいかな。
489 名前:デフォルトの名無しさん [2007/10/26(金) 11:14:04 ] ShellExecute(hWnd, "open", "explorer.exe", "パス", NULL, SW_SHOWNORMAL); でいいのかな。 参考サイト:www.google.co.jp つかいかた:テキストボックスに [ShellExecute explorer.exe] と入れて [google検索]ボタンを押す
490 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 11:20:18 ] ホームラン級の馬鹿ですね
491 名前:デフォルトの名無しさん [2007/10/26(金) 11:26:08 ] つか、ここに書いてあるやん。 msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpshell/html/_win32_shellexecute.asp main() { ShellExecute(NULL, "open", "C:\\Documents and Settings\\NEC-PCuser\\Favorites" , NULL, NULL, SW_SHOWNORMAL); }
492 名前:デフォルトの名無しさん [2007/10/26(金) 11:30:25 ] >>489 は ShellExecute(hWnd, "explore", "パス", NULL, NULL, SW_SHOWNORMAL); だね
493 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 12:17:05 ] で、マイコンピュータのパスの調べた方も教えてやれよ
494 名前:デフォルトの名無しさん [2007/10/26(金) 12:19:47 ] 「教えてやれよ」 とは何だよ。 人にモノを尋ねるときは、「教えてください」 だろ
495 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 12:40:10 ] なんとなく教えてくれてるっぽい人どうも 全部自分でなんとかなりました。
496 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 14:30:27 ] マイコンピュータをユーザー名だけで決めうちはどうかと
497 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 14:39:24 ] 気になるから便乗するけどマイコンピュータのパス(?)は環境変数 USERPROFILEでいいんですか?
498 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 15:59:07 ] 調べたけど、マイコン他特殊フォルダはパスじゃない。 レジストリのIDみたいなの
499 名前:デフォルトの名無しさん [2007/10/26(金) 17:52:11 ] おまいら降参か?ホレ ShellExecute(NULL, "explore", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", NULL , NULL, SW_SHOWNORMAL);
500 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:40:24 ] 降参も何も、ほぼ答え出た時点で終ってるのに
501 名前:デフォルトの名無しさん [2007/10/26(金) 18:43:59 ] 「おまいら降参か?ホレ」 とは何だよ。 「ググりました。これで合っていますか?」 だろ
502 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 18:54:41 ] その長ったらしいのいちいち憶えてるわけにいかないから 特殊フォルダ id でぐぐったら出てくることだけ知ってれば十分
503 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:03:58 ] clsidの前の::もいるんですか?
504 名前:デフォルトの名無しさん [2007/10/26(金) 19:06:35 ] 「ググれ」で済むならこのスレいらんだろ。
505 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:09:29 ] ググれで済むよ。ググる能力もない奴はプログラムやる資格ない
506 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:10:58 ] 答え丸写ししなきゃできないならプログラミングは無理だから土方でもやったほうがいい
507 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:11:53 ] 「ググれ」で済む程度の問題でこのスレに来るな
508 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:13:14 ] >>504 子供かよ
509 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:13:46 ] ありがとうございます
510 名前:デフォルトの名無しさん [2007/10/26(金) 19:20:59 ] >>500-502 おまいら、何も泣く事は無いだろ。 ここは初心者スレなんだから、知らなくても恥にはならないぞ。
511 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:24:00 ] >510は >498に答え書いてあるのに気がつかない初心者
512 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:25:48 ] >>510 ここは初心者スレだけど初心者のお前が威張れる場所じゃない。
513 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 19:27:53 ] >>509 どういたしまして^^
514 名前:デフォルトの名無しさん [2007/10/26(金) 19:43:06 ] >>511 ば〜か、>>498 は無視されてるのに気づかないの?
515 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 20:14:44 ] とりあえずage厨の子供が一人いたということでFA?
516 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:25:56 ] なんでいつまでたってもSHGetSpecialFolderPathとか出てこないの
517 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:28:58 ] 既に解決済みだから
518 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:32:14 ] >487
519 名前:デフォルトの名無しさん [2007/10/26(金) 23:34:19 ] まだやってるのかよ、しつこいな。
520 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:38:56 ] >487
521 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:42:58 ] clsid直書きで解決ってどんだけー
522 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 23:45:47 ] 馬鹿は心の隅で笑うのが鉄則 下手に指摘しても知恵を付けさすだけ
523 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 23:35:34 ] VS2005 Pro.を使用しています。 プロジェクトにクラスの追加を行う方法について困ったことがあります。 あるヘッダファイルに書かれているクラスをProjectに追加するにはどうすればいいでしょうか?普通はどのように追加するものでしょうか? 以下のようにするとコンパイルエラーになります。 1. ソリューションの作成 2. ソリューションにProject Aをクラスライブラリとして追加 3. Project Aにあるheader ”Common.hとします” を#includeで追加 4. ソリューションにProject Bをクラスライブラリとして追加し、同じようにCommon.hを#include 5. Main ProjectにProject AとProject Bを「プロジェクト」 -「参照の追加」で追加 ビルド →Common.hで定義された型が再定義されました。というエラー。
524 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 02:33:01 ] ソリューションエクスプローラを開いて 「ヘッダー ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でヘッダーを入れて 「ソース ファイル」 フォルダ を右クリックして「追加」->「既存の項目」でソースを入れて クラスが必要なソースからヘッダーを include すればいい
525 名前:デフォルトの名無しさん [2007/10/29(月) 02:36:03 ] アイタタタタタ・・・
526 名前:523 [2007/10/30(火) 00:39:16 ] 返事が遅くなってすいません。調べてみると、public, privateが決まってくる ような気がしました。 Main, ClassLibA, ClassLibBでヘッダファイルに書かれたClassZを includeしたいと思います。ClassLibA, ClassLibB, ClassZはPublic ref のクラスです。 ClassLibA, ClassLibBはクラスライブラリとして追加したものです。 Main Class・・・ClassLibA, ClassLibB ClassLibA・・・ClassZ(includeで追加) ClassLibB・・・ClassZ(includeで追加) Main Class, ClassLibA, ClassLibBそれぞれでClassZで定義された メンバを使いたいと思ってます。 ただし、上記でコンパイルすると、再定義警告となってしまいます。 ClassZをprivateにして、Main, ClassLibA, ClassLibBのClassで includeするしかないでしょうか? ClassZはClassLibA, ClassLibBを参照した場合にしか使わないので、 なるべくincludeという形で別includeにしたくないと思っております。 上記のように2つのdllから共通のクラスを使い、その2つのdllを使う クラスがある場合はどのようなクラス構成、設定にするべきでしょうか? 長々と書いてしまってすいません。
527 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 01:00:03 ] .net かよ...
528 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 01:58:49 ] >>526 C++/CLIはスレ違いだよね ClassZもdllにしたら? とりあえず.netについて分かってない気が
529 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:38:00 ] VS2005でファイル操作をするためにfstream.hをインクルードしたいのですが、 ファイルを開けないと出るのですが、fstream.h以外に何かありますでしょうか?
530 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:44:11 ] fstream
531 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 19:58:49 ] #include <iostream> #include <fstream> void main(){ char buf[512]; // ifstreamのインスタンスを作る // C言語のfopenと同じ ifstream ifs("input.txt") ; // ofstreamのインスタンスを作る // C言語のfopenと同じ ofstream ofs("output.txt") ; // ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。 while( ifs.getline( buf, sizeof(buf) )) // ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む ofs << buf << endl; } コンパイルエラーになるんですが、なぜですか?
532 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:20:16 ] バカじゃねぇの using namespace std;
533 名前:デフォルトの名無しさん [2007/10/30(火) 20:24:42 ] #include <iostream> #include <fstream> using namespace std; void main(){ char buf[512]; // ifstreamのインスタンスを作る // C言語のfopenと同じ fstream ifs("input.txt" ,ios::in) ; // ofstreamのインスタンスを作る // C言語のfopenと同じ fstream ofs("output.txt",ios::out) ; // ifstreamのインスタンス(ifs)から1行読み込みbufに入れる。 while( ifs.getline( buf, sizeof(buf) )) // ofstreamのインスタンス(ofs)を利用して読み込んだ内容を書き込む ofs << buf << endl; }
534 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:35:10 ] ありがとうございます。
535 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:50:33 ] >>532 は無知の知を知らぬ無知
536 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:54:45 ] ググれば分かるレベルだろ 答えもしてない分際で答えた者をバカにするな
537 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 20:58:57 ] ( ´,_ゝ`)プッ たかが2chで簡単な答えを書いただけの癖に随分と偉そうですなあ
538 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 21:05:22 ] ( ´,_ゝ`)プッ たかが2chで簡単な質問を書いただけの癖に随分と偉そうですなあ
539 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 21:54:39 ] >>536 先に答えが出たので答えなかっただけ。 たまたま自分が答えを知っていたというだけで質問者を愚弄する者こそ愚者と知るべし。
540 名前:デフォルトの名無しさん [2007/10/30(火) 22:06:49 ] たまたまってレベルじゃねぇぞ お前どんだけレベル低いんだ
541 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 22:08:39 ] >>539 >答えもしてない分際で答えた者をバカにするな 日本語読める?
542 名前:デフォルトの名無しさん [2007/10/30(火) 22:40:20 ] Q&A系スレッドを勝負に例えるなら 答えた者が勝ち。 答えられなかった者は負け。 答えられなかったのに捨てゼリフ吐くのはみっともない。 亀田3兄弟よりみっともない。
543 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 22:52:30 ] ここC++スレじゃないし
544 名前:デフォルトの名無しさん [2007/10/30(火) 23:00:49 ] ↑ 亀田3兄弟よりみっともない男
545 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:20:50 ] スレ違いは犯則負け
546 名前:535 mailto:sage [2007/10/31(水) 00:10:22 ] >>540 >質問者を愚弄する者こそ愚者と知るべし ~~~~~~ 勝ち負けの問題じゃない。君こそ日本語を読め。 しかも、俺じゃない奴(>>543 )すら攻撃するし。 自分以外は全員敵かよw
547 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 00:17:30 ] レス番間違ってるし 同一人物だと思ってるし 自分以外は全員敵かよw
548 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 00:27:48 ] ( ´,_ゝ`)プッ なら口ださなきゃいいのに>>547
549 名前:デフォルトの名無しさん [2007/10/31(水) 02:53:50 ] picutureBox1とpicutureBox2があって、 picutureBox1 Clickの処理をpicutureBox2 Clickにも同じくさせたいんですが、 どうのようにすればいいでしょうか?
550 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 08:01:23 ] 自分の使ってる物も分からんのか スレ違いだ馬鹿野郎
551 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 08:39:39 ] C++/CLIはOKだろ。 >>549 PictureBoxの派生クラスを書けばいい。 追加 - クラス - C++クラス で作成、 ビルドした時点でツールボックスに追加されるので、 後は普通のPictureBoxと同じように配置すればいい。
552 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 08:43:14 ] 専用スレがあるのにもったいない
553 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 09:28:52 ] VisualC++6.0ではMSDN入れないと型情報自動表示機能は使えないのでしょうか?
554 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 09:39:26 ] MSDNなんか参照しないよ
555 名前:デフォルトの名無しさん [2007/10/31(水) 11:58:43 ] LRESULT から intに正しく変換する方法を教えてください
556 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 12:28:14 ] intでキャスト
557 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 16:25:21 ] Windows XP sp2 Visual C++ 6.0 フォームの中のボタンを押すとWindowsキーを押したようにしたいと思っています。 フックして仮想キーコードを取得するところまででき,Windowsキーのコードは確認できたのですが, そこからWindowsキーを押したように見せる方法がわかりません。 どうすれば,Windowsキーを発行することができるんのでしょうか。
558 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 16:36:42 ] WM_LBUTTONDOWNでも送りつけてみたら?
559 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 17:00:16 ] >>558 さん お返事ありがとうございます。 >WM_LBUTTONDOWNでも送りつけてみたら? 実際にはどのような関数を使えばいいのでしょうか。
560 名前:558じゃない人 mailto:sage [2007/10/31(水) 17:14:36 ] うーん。PostMessage()で、WM_KEYDOWN(WM_SYSKEYDOWN?)を送るというアイデアぐらいしか 思いつかない。
561 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 17:20:40 ] >>559 >実際にはどのような関数を使えばいいのでしょうか。 PostMessage()
562 名前:557 mailto:sage [2007/10/31(水) 17:29:05 ] >>560 さん,>>561 さん ありがとうございます。 WM_KEYDOWN(WM_SYSKEYDOWN?)とPostMessage() の使い方がわからないので探してみます。 名前さえもわからない状態だったので,とてもうれしいです。 うまくできたら,ご報告させて頂きます。
563 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 08:43:17 ] 文字コードがバラバラのファイルを 同じ文字コードに統一したいのですが、 どのように処理したらいいのでしょうか? ちなみに、VC2005です。
564 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 08:50:42 ] 文字コード判別→変換
565 名前:563 mailto:sage [2007/11/01(木) 08:53:17 ] >>564 すばやい回答ありがとうございます。 文字コード判別になにを使えばいいでしょうか?
566 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 08:57:40 ] Windows的にはMLang。 だけどnkf使った方が楽。
567 名前:563 mailto:sage [2007/11/01(木) 09:05:27 ] .NET の方にはなにかないですか?
568 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 10:39:24 ] スレ違い
569 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 11:13:48 ] >>567 死ね
570 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 13:32:02 ] >>567 死ね
571 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 14:09:14 ] >>567 死ね
572 名前:デフォルトの名無しさん [2007/11/01(木) 14:38:35 ] >>567 生きろ
573 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 18:31:21 ] >>567 C++なんだから、そこだけネイティブで>>566 とすればいいじゃない。
574 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 09:24:11 ] WM_CREATEの中でBeginPaintって出来ませんか? WM_PAINTじゃなく、CREATEの中でLineToとか一度だけの表示をしてしまいたいんですが・・
575 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 10:27:48 ] いちいち聞かなくても好きなところで書けばいいよ 自分でやってみればわかるから
576 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:09:17 ] ウィンドウを常に画面の右上に固定や左下に固定で表示させるのはどうしたらいいでしょうか? CreateWindow内で座標を指定するのではなく、どのPCで開いてもちゃんと画面左上などの位置にぴったり表示させたいんです。 分かる方お願いします。
577 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:13:46 ] 座標を指定する
578 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:20:15 ] その座標を指定するというのはディスプレイサイズが分かる関数があるんでしょうか?
579 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:53:56 ] VC++って何?ってところから勉強したいんですけど、オススメの書籍ありますか? C#は1年くらいやったんですが、VC++は初めてで・・・
580 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 19:25:33 ] VC++って何?という状況だと勧められるものはない
581 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:40:14 ] >>574-575 これくらいは、実験するよりも仕様を確認するほうがいいと思う。 msdn2.microsoft.com/en-us/library/ms534894.aspx
582 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 21:45:32 ] >>578 GetMonitorInfoとかそこら辺を使う
583 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 22:47:14 ] GetWindowRect で十分な気がする
584 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 23:18:39 ] 初心者スレでいきなり敷居の高い話をし始める>>582
585 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 07:52:54 ] MonitorFromWindowで自分のいるモニタのハンドルとって、 GetMonitorInfoでそのモニタの作業領域を取得するだけ。 簡単だろ。
586 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 09:20:02 ] GetWindowRect一回呼ぶだけ
587 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 12:32:56 ] GetWindowRectのウィンドウハンドルには、何を指定すればいいのですか?
588 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 13:54:10 ] RECT rect; GetWindowRect(GetDesktopWindow(), &rect);
589 名前:デフォルトの名無しさん [2007/11/04(日) 02:31:20 ] Visual C++6.0でSTL(mapやset)を使ったコードをデバッグ情報を生成する オプションを指定してコンパイルすると、鬼のように長くてたくさんの 警告が出ます。警告の内容は、"デバッグ情報で識別子が255 文字に切り 捨てられました(warning C4786)"というものです。 この問題を回避するには次の選択肢の中から選ぶしかないのでしょうか? (1) 警告を表示しないようにする → 他の便利な警告を受け取ることができない。 (2) デバッグ情報を生成しない。→ デバッガが使えない。 (3) 死ぬほどたくさんの警告メッセージを我慢。→ 非常につらい。 (4) STLを使わない。→ それは無理。
590 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 02:36:06 ] #pragma warning (disable: 4786) が常套手段
591 名前:589 mailto:sage [2007/11/04(日) 03:54:29 ] >>590 うまくいきました。感謝します。
592 名前:デフォルトの名無しさん [2007/11/05(月) 16:44:09 ] tserve01.aid.design.kyushu-u.ac.jp/~fujiki/vc_lecture/c_6.htm のお絵かきソフトを作るページを参考にしてるんですが 「ToolBar」の「IDR_MAINFRAME」のボタンとIDを書き換えても ページに書かれているようなIDに対応するような関数が作られず ボタンも描いたように表示されず灰色の使用不可のような状態 になってしまいます。 VS2005stdです。 どなたか、わかるかた、VS2005ではどうしたらよいか教えていただけないでしょうか。 お願いします。
593 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 16:50:01 ] >>592 マルチ死ね
594 名前:592 [2007/11/05(月) 16:56:38 ] マルチしてすみません。 ただ「くだすれVisualC++(超初心者用)」のほうが1000レスいったので こちらでも質問ささしてもらいました。 すいませんが教えてください。
595 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 17:34:30 ] ツールバーにハンドラ追加する方法なら少し前に誰かに教えたから過去ログ見ればいい ウイザードから追加する方法は知らん
596 名前:デフォルトの名無しさん [2007/11/05(月) 19:09:58 ] メモ帳で[F5]を押すと日付と時刻がペーストされますが、 Visual C++のエディタでも同じことができるでしょうか? できるなら方法を教えてください。
597 名前:デフォルトの名無しさん [2007/11/05(月) 19:32:57 ] 自分で[F5]を押せば分かるだろ?
598 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 19:59:39 ] Std以上のVCならマクロで簡単に出来るよ。もちろんキーボード割り当ても可能。
599 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 20:40:23 ] unicodeにすると char→CStringをどうやって渡すのかわからないです。 ヒントでいいから教えていただければ、、つД`)
600 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 20:46:28 ] CStringのコンストラクタ
601 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 21:21:27 ] CString は TCHAR データ型をもとにしています。 プログラムでシンボル _UNICODE が定義されたときは、 TCHAR 型は 16 ビット文字型の wchar_t 型として定義されます。 それ以外は、通常の 8 ビット文字型 char で定義されます。 Unicode 環境下では、CString オブジェクトは 16 ビットの文字で構成されます。 Unicode 環境以外では、CString オブジェクトは 8 ビットの文字で構成されます
602 名前:599 mailto:sage [2007/11/05(月) 22:46:31 ] >600 >601 ありがとう。 ちょいとそれを頭に入れてググル先生に聞いてみます。
603 名前:デフォルトの名無しさん [2007/11/05(月) 23:04:43 ] 初心者は黙ってVC++でMFCでウィザードでサクサクやるのがいいですよね?
604 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:14:49 ] いい というのは何を根拠として良いと判断するんですか?>>603
605 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:17:45 ] VC++がどーだ、MFCはあーだこーだ言ってないで、 サクサク作れるんだから作った方が勉強になるという意味で、 いいと思いますが。
606 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:26:12 ] サクサク作れない
607 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 00:32:03 ] MFCウイザードでさくさく作れる香具師は、 MFCウイザードがなくたってサクサク作れる。
608 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 07:54:50 ] MFCキライなヤツが増えたな。
609 名前:デフォルトの名無しさん [2007/11/06(火) 18:13:37 ] ダメ! MFCで人生を棒に振った悲しいプログラマが、いったい何人いることやら。 MFC犠牲者慰霊の塔の下に眠っている幾千幾万のプログラマたちが 成仏できずに毎晩、悲痛なうめき声をあげて助けを求めているというのに。 マイクロソフト社さえ見放した禁断の果実MFCを、なぜ今更? もうこれ以上、犠牲者が増えるのを善良な市民として見ていられない。 忘れなさい。MFCの事は忘れなさい。記憶の底から消し去るのです。 MFCなんて見なかった。聞かなかった。この世に存在しなかった。 いいですね?わかりましたね?
610 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 21:54:51 ] ダメ! .NET で人生を棒に振った悲しいプログラマが、いったい何人いることやら。 (ry
611 名前:デフォルトの名無しさん [2007/11/06(火) 22:13:12 ] VC++でWin32アプリならいい?
612 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 23:47:36 ] VisualC++6 と VisualC++.NET の差がわかりません 差はないのでしょうか? 今から始めるならVC.netでいいんでしょうか? VCに興味を持っている理由は .NET Frameworkとかの ランタイムのインストールをしなくても動くEXEが作れるらしいから、と DirectXでゲーム作ろうとしてもC++の参考書しかないから、なのですが VC.NETで作ったEXEは .NET Frameworkがないと動かないものになるのですか?
613 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 23:56:01 ] Visual C++ .NET 2002はVisual C++ 7.0、.NET 2003は7.1相当。 .NET抜きにして、C++コンパイラとしても開発環境としても機能は上がっている。 .NET Framework使うプロジェクトを作らなければ、 Visual C++ .NET 2002/2003でも.NETなしのネイティブプログラムが作れる。 ちなみに、現在の最新版は2005 (8.0)。ただ、上に書いたような事情は変わらず。
614 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:11:39 ] >>613 ありなとうございまつ 早速VC++2005EEをインスコしますた しかしネットだと.NET Framework使うプロジェクトか HalloWorldみたいなウインドウすら出てこないのの解説ばかりでつなorz 猫でもわかるプログラミングでも観ることにするでつよ
615 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:15:34 ] >HalloWorld 早くもオリジナルな要素を取り入れてるのか
616 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 00:24:29 ] >>614 SDK入れなウィンドウの表示なんてできへんで〜
617 名前:デフォルトの名無しさん mailto:age [2007/11/07(水) 00:59:03 ] すみませんが質問です。 大量のログをとれるようなDOSプロンプトというか、コンソールエミュレータと いうようなものを作る場合、リッチエディットコントロールを使うのがよいので しょうか? それともwin32アプリにしてしまって、入出力をリダイレクトするのが良いので しょうか?
618 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 01:00:01 ] >>615 もまい、やさしいでつね >>616 www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/ をやらないと.NET Frameworkなソフトしか作れないということですか?
619 名前:デフォルトの名無しさん [2007/11/07(水) 01:08:09 ] >>617 特に見栄えを気にしなくてもいいのなら、「コンソールアプリ」 にするのがいちばん簡単だよ。 ログを取るだけで、画面にスクロール表示する必要がないのなら、ふつーにウインドウアプリ でもいいし。ログだけファイルに落とせればじゅうぶんだろ?
620 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 07:29:29 ] >>619 レスサンクス スクロールは使いたいですね。ログは軽く64kb以上になるので、リッチ エディットコントロールしかないかな、と。 イベントのことはよく分かりませんけど、CLIを真似する以上はEnterキーを 見張らないとダメそうで、どうしたもんだかと悩みますね。 teratermのログ機能と、DOSプロンプトが合体したような感じが望ましいの です。
621 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 08:39:00 ] ログ取るのにリッチエディットコントロールが出てくるのが意味不明だったけど それぐらいの容量なら普通のエディットコントロールでも余裕でいける
622 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 21:47:52 ] >>621 CREATEしたときにEM_SETTEXTLIMITを投げればいい、って言ってくれればいいのに。
623 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:12:57 ] AllocConsole
624 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:19:28 ] 上のGetWindowRect(GetDesktopWindow(), &rect);について質問です。 この関数でrect.leftをはじめ、ディスプレイサイズの取得が出来るのは分かるのですが、 それによってウィンドウの表示位置を変えていくのであれば、WinMainの中のCreateWindowの水平、垂直位置の更新をしなければいけませんよね? その方法ってのはどうやるんですか?一応ウィンドウの雛形やCreateWindowの再描画などで調べたんですが、さっぱりでして。
625 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:50:41 ] 起動時に位置を設定したいならCreateWindowに好きな位置を渡すだけだし 後で変えたいならMoveWindowとかSetWindowPlacement()など。
626 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:56:40 ] >>625 取り敢えずMoveWindowについて調べてぱっと記述してみたらできました。 SetWindowPlacementについてもまた調べてみたいと思います。 ありがとうございました。
627 名前:デフォルトの名無しさん [2007/11/08(木) 00:43:31 ] うは、Win32プロジェクトがないw イラネw
628 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 00:55:37 ] Windows SDKでも入れて、 あとは適当なプロジェクトを作って、適当にオプションいじっておけ。
629 名前:デフォルトの名無しさん [2007/11/08(木) 07:17:34 ] MUIに対応したものを作りたいのですが、 .rcconfigファイルの中身をどう書いたら良いかご存知の方はいませんか? サンプルアプリケーションを見てみたのですが、 <resourceType typeNameId="#4"/> の4が何を意味しているのかがわかりません。。
630 名前:デフォルトの名無しさん [2007/11/08(木) 07:30:10 ] C#やっている人がC++やってもわからないよね?
631 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 11:09:42 ] >>627 貧乏人乙w
632 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 20:44:10 ] スタンダード以上だと別途PSDK入れなくても Win32プロジェクトが最初から選べるのに気づいた ところでWin32プロジェクトってインテリセンスが 使えないんだが設定が悪いのか?それとも仕様?
633 名前:デフォルトの名無しさん [2007/11/08(木) 23:06:47 ] LNK2001: 外部シンボル ""public: virtual void __thiscall CWnd::DoDataExchange(class CDataExchange *)" (?DoDataExchange@CWnd@@UAEXPAVCDataExchange@@@Z)" は未解決です。 Visual Studio 2005でMFCのアプリケーションをコンパイルすると 上のようなエラーがいっぱいでるのです。 これはどうやって回避すればいいのでしょうか?
634 名前:デフォルトの名無しさん [2007/11/08(木) 23:12:48 ] ダメ! MFCで人生を棒に振った悲しいプログラマが、いったい何人いることやら。 MFC犠牲者慰霊の塔の下に眠っている幾千幾万のプログラマたちが 成仏できずに毎晩、悲痛なうめき声をあげて助けを求めているというのに。 マイクロソフト社さえ見放した禁断の果実MFCを、なぜ今更? もうこれ以上、犠牲者が増えるのを善良な市民として見ていられない。 忘れなさい。MFCの事は忘れなさい。記憶の底から消し去るのです。 MFCなんて見なかった。聞かなかった。この世に存在しなかった。 いいですね?わかりましたね?
635 名前:デフォルトの名無しさん [2007/11/08(木) 23:18:21 ] マイクロソフトは、.NETの成功に関わらず C++の開発を進めています。 次に発売するVisual StudioのMFCには、Vista用のWindowsメッセージの追加。 XmlLiteなどなど、お楽しみがいっぱいです。
636 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:22:34 ] そんなことよりもATLのopen source化をだな
637 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:06:25 ] >>633 VS2005の修復で直らなければ再インスコ
638 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:11:36 ] マイドキュメントのVisual Studio 2005のフォルダをまるまるノートにコピーして プロジェクトを開いたところ,作成していたプログラムの中のラベルが全て 黒塗りに表示されてしまいました。 ビルドして実行しても黒塗りは変わりません。 直す方法はありますか?
639 名前:デフォルトの名無しさん [2007/11/09(金) 00:45:40 ] PSRTとかLPSTRってString型みたいなもんですか?
640 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:22:46 ] >>639 ちゃうよ
641 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 05:46:56 ] 全くの無知なんですが、C・C++を覚えたいと思います。 まず何をするべきでしょうか?
642 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 06:24:21 ] C/C++のコンパイラをインストール このスレに来たからにはVisualC++だな
643 名前:デフォルトの名無しさん [2007/11/09(金) 06:31:52 ] >>642 把握d とりあえずいろいろ調べながらいじってみます! スレチに気付いたら黙って消えますw
644 名前:デフォルトの名無しさん [2007/11/09(金) 14:10:53 ] VisualC++のwindowsフォームアプリケーションで スクリーンキーボードを作ってるんですが 初期のウィンドウを非アクティブ化することができません。 どうしたらいいでしょうか?
645 名前:デフォルトの名無しさん [2007/11/09(金) 16:13:31 ] >>644 初期のウィンドウってなに? キーボード?
646 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 17:33:59 ] systemやgetchといった関数が「認識されません」というふうにエラーが出ます。 #include<windows.h>や#include<conio.h>のヘッダが登録できてないのでしょうか。 またそうであれば、やり方を教えてください。 よろしくお願いします。
647 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 17:43:48 ] windows.hとconio.hをインクルードしてもsystemやgetchは使えない。 systemを選択してF1押すべし。
648 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 17:53:24 ] >>647 選択とはドラッグでいいんでしょうか。 F1押すとヘルプが出るんですが、どの時点で押せばいいんでしょうか・・・
649 名前:デフォルトの名無しさん [2007/11/09(金) 18:00:11 ] ・まず、画面に出たエラーメッセージをよく読んでみてごらん。 読んでも分からないなら、省略せずにそっくりそのまま掲示板に貼り付けて質問しよう。 ・system関数を使うのに必要なヘッダファイルは何かな? (あえて正解は書かないよ。自分で調べる練習しなさい。宿題です) ・getchも同様。 Visual CコンパイラはIDE統合開発環境と、コマンドラインの2種類がある。 ・IDEはIDEの使い方を覚えなきゃいけないという障害は立ちふさがる。 ・コマンドラインのコンパイラは環境変数の設定とかなんとかメンドクサイ。 どちらも超初心者には敷居が高い。独学はかなりの覚悟が必要。 だれか先生になってもらってくれる人がいればいいんだけどね。
650 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:13:30 ] >>649 エラーメッセージは 'getch': 識別子が見つかりませんでした 'system': 識別子が見つかりませんでした です。 ヘッダファイルは <windows.h> <conio.h> だと思います。 違っていたら、調べ直すので指摘だけお願いします
651 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:25:31 ] 違ってます。 選択の説明しようと思ったけど指摘だけとのことなので省略。 まーがんばれ
652 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:53:40 ] windowsがどっからくるのよ stdlib
653 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 19:40:50 ] ::CreateProcessかなんかと勘違いしてるんだな 俺にはわかる
654 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 20:34:42 ] コンパイル通りました。ありがとうございました。 実はttp://fatalita.sakura.ne.jp/TubeRPG/のサイトのlesson1を 実行したかったのですが、コンパイルは通っても画面がすぐに消え "ハンドルされていないwin32の例外が発生しました" と出て実行できません。 何がおかしいのでしょうか。
655 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 21:36:28 ] そんな糞サイトの後始末頼まれても迷惑 書いた本人に直接聞けよ
656 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 00:33:26 ] うは、声がきもい。 インデントが変態。 空白の明け方がへぼい。 思考の流れが行き当たりばったり。
657 名前:デフォルトの名無しさん [2007/11/10(土) 01:27:18 ] 面白そうなのでオレも見てみた。 インデントが変???ぜんぜん変じゃないんだけど・・・ っつう事で、>>656 がどんな立派なコードを書いてるのか、期待age
658 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:27:26 ] www.wisdomsoft.jp/dev/api/windows/004 の #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { CHAR chStr[128]; wsprintf(chStr , "インスタンスハンドル : %d" , hInstance); MessageBox(NULL , chStr , TEXT("Kitty on your lap") , MB_OK); return 0; } が エラー 1 error C2664: 'wsprintfW' : 1 番目の引数を 'CHAR [128]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照) c:\documents and settings\gald.pc-p4gald\デスクトップ\sdaf4e\sdaf4e\asdf.cpp 7 エラー 2 error C2664: 'MessageBoxW' : 2 番目の引数を 'CHAR [128]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) c:\documents and settings\gald.pc-p4gald\デスクトップ\sdaf4e\sdaf4e\asdf.cpp 8 というエラーで実行できないんだけど なぜでございましょう? つか、VBやらC#の型はわかりやすいのに WCHARとかTCHERとかLPSTRとか理解しにくい型が多くて苦しい
659 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:31:08 ] >>658 エラー通りだな CHAR chStr[128]; を TCHAR chStr[128]; に変更すればいいんでない? それでエラーが出るなら、<tchar.h>をインクルードすればOK
660 名前:デフォルトの名無しさん [2007/11/10(土) 01:32:52 ] プロジェクトがユニコードになってるからだよ。 ANSIに変更しよう。 初心者がかならずつまづく超FAQだね。
661 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 01:42:19 ] 何回も同じ質問を見てるな テンプレにでも入れた方がいい気がする
662 名前:若者は馬鹿者 ◆KorX0HCHGU mailto:sage [2007/11/10(土) 01:43:24 ] >>659 #include <windows.h> #include <tchar.h> int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { TCHAR chStr[128]; wsprintf(chStr , "インスタンスハンドル : %d" , hInstance); MessageBox(NULL , chStr , TEXT("Kitty on your lap") , MB_OK); return 0; } エラー 1 error C2664: 'wsprintfW' : 2 番目の引数を 'const char [26]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) だそうでつ >>660 プロジェクトのプロパティ-構成プロパティ-全般 の 文字セットを「Unicode文字セットを使用する」から「設定なし」にしたら 上記のコードが動いたわけですが、 これはソースコードそのものがUnicodeだったからダメだったってことでつか? 理由がよくわからんです
663 名前:デフォルトの名無しさん [2007/11/10(土) 02:01:46 ] >>662 ユニコードじゃ無いアプリケーションを、ユニコードアプリケーションとしてコンパイルしようとした。 www.wisdomsoft.jp/dev/api/windows/003 ここには「将来性を考えて、これから文字コードは Unicode を用いるべきです。 」とか書いてあるけど・・・ 初心者はユニコードアプリには手を出さんほうがいいよ。もうすこし慣れてからがいい。 よっぽど注意深くコーディングしないと、ワケワカランことになるよ。
664 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 02:03:43 ] >>662 _T("インスタンスハンドル : %d") とすれば、いいよ TCHARってのは、コンパイル時に自動で、マルチバイト文字セットとUNICODE文字セットを切り替えてくれます 文字リテラル("文字列"とか'a'とか)については、_Tもしくは、TEXTマクロで、マルチバイト文字セットとUNICODE文字セットの変更を自動でしてくるようになります ソースコードがUNICODEとか言うんじゃなく、現在扱っている文字が何なのかをコンパイラに教えてやる必要があるって事です それを省略したら、勝手に、ANSIとかOEMとか言う文字セットとして扱われるって事です
665 名前:デフォルトの名無しさん [2007/11/10(土) 03:09:35 ] 非ユニコードアプリとユニコードアプリの差をまず理解しないとだめってことでつね
666 名前:デフォルトの名無しさん [2007/11/10(土) 10:46:55 ] 今、ゲーム作ってるんですけど教えてください。(ゲ製作で聞くべき?) ゲームの画面を(ウィンドウが隠れたりしても)表示させるために WM_PAINTで BitBlt(hDC2,0,0,200,200,GetDC(hWnd),0,0,SRCCOPY); てな感じでhDC2に退避させて、ウィンドウが隠れたりして再表示する時に hDC2から持ってくる・・・という風にしたいんですが、 1.WM_PAINTの部分で画面を退避させるという事は変でしょうか? 「普通はこうやる」っていうのがあれば教えて頂きたい。 2.退避させた画面はどの部分(ハンドラ)で戻すべきですか? 今のところ、WM_TIMERで一定時間ごとに戻してるのですが・・・
667 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 10:56:55 ] 予めメモリDCを作っておいて、描画は全てそこへ行う。 WM_PAINTでは、そのメモリDCからウィンドウDCへのBitBltに限る。 ってのが普通。
668 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 11:32:26 ] >>667 いまどきそんな原始的な方法なんかw
669 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 11:38:55 ] でも666はありえないだろ。 話はそれるがReleaseDCしていないのも目に付くし。
670 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:42:02 ] >>657 void main() {
671 名前:デフォルトの名無しさん mailto:sage [2007/11/10(土) 18:43:53 ] 夫失敬。 >>657 void main(){ while (1) { DrawMap(); } } -- 変態かどうかは兎も角、不思議なコーディングスタイルだとは思う。
672 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:32:33 ] めんどくせー > VC++ Formねーじゃん どうやってGUIつくんだよ
673 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:46:10 ] 珍しいVC++だね。ウチのにはForm付いてるよ。
674 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 00:56:55 ] うちのはintも付いてない
675 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 01:03:24 ] それVirtualConsoleだろ
676 名前:デフォルトの名無しさん [2007/11/11(日) 01:40:15 ] VC6.0でプログラムしています。 MFCは使わず、APIのみ。 ダイアログボックスにコンボボックスを貼り付けて 内容(数字)をリストから選択するような動作をさせたいと思っています。 ワードでフォントを変更するときのコンボボックスのようなイメージです。 VC上でダイアログボックスにコンボボックスを貼り付け、 コンボボックスのプロパティのデータ にある”リストボックス項目の入力(N)”に 選択したい数字のリストを並べれば良いかと思ったのですが 実際に動かしてみると コンボボックスの▼を押してもキーボードの↓を押しても リストが現れません。 やり方が間違っているでしょうか? 関係ないかもしれませんが手元の参考書ではリストボックスを使用する場合の方法が書いてあり リストボックスを初期化するにはSendDlgItemMessage()関数を使用するとのことだったので 試しにやってみましたがリストボックスではリストに文字列を追加できましたがコンボボックスでは追加されませんでした。 内容に不足などありましたらご指摘をお願いします。
677 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 05:28:25 ] >コンボボックスの▼を押してもキーボードの↓を押しても >リストが現れません。 ああこれね
678 名前:676 [2007/11/11(日) 07:36:53 ] >>677 おはようございます。 良くある質問でしょうか? 申し訳ないですが質問内容が間違ってました。 ▼ボタンを押すとドロップダウンリストは出ます。 しかし、中が空っぽです。 リソースエディタで入力した内容を反映させたいのですが。
679 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 08:28:15 ] 早まって答えなくてよかった >リストボックスではリストに文字列を追加できましたがコンボボックスでは追加されませんでした 問題はこれか
680 名前:96 [2007/11/11(日) 09:14:14 ] リソースエディタのコンボボックスまわりの内容はこんな感じです // Dialog // IDD_CONFIG DIALOG DISCARDABLE 125, 110, 194, 95 STYLE DS_SYSMODAL | DS_SETFOREGROUND | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION CAPTION "CONFIG" FONT 9, "MS Pゴシック" BEGIN LTEXT "コンボボックスで値を選択してください",IDC_STATIC,7,19,77,8 PUSHBUTTON "OK",IDC_CONFIG_OK,133,14,26,15 COMBOBOX IDC_COMBO2,86,16,46,71,CBS_DROPDOWNLIST | CBS_NOINTEGRALHEIGHT | WS_TABSTOP END // Dialog Info // IDD_CONFIG DLGINIT BEGIN ←コンボボックスのリストに表示したい値(1〜20の数字) IDC_COMBO2, 0x403, 2, 0 0x0031, IDC_COMBO2, 0x403, 2, 0 〜〜〜〜省略〜〜〜〜〜〜〜〜 IDC_COMBO2, 0x403, 3, 0 0x3931, "\000" IDC_COMBO2, 0x403, 3, 0 0x3032, "\000" 0 END
681 名前:676=680 mailto:sage [2007/11/11(日) 09:15:52 ] 名前欄ミスしました。
682 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 09:31:42 ] リソースレベルでコンボボックスのデータを定義できるのはMFCの独自機能。 リソースビューの*.rcを選んでプロパティを見てもらえば分かるが、 'Mfc Mode'という項目が用意されている。 これをFalseにすると、コンボボックスのプロパティでData部分が無効になる。
683 名前:676 mailto:sage [2007/11/11(日) 13:38:36 ] >>682 なるほどそういうことでしたか。 ありがとうございます。 リストの値をSendDlgItemMessage()関数で追加できないと書きましたが 参考書で引数に LB_ADDSTRING を指定しているところで CB_ADDSTRING を指定するようにしたところリストに追加できました。 ありがとうございました。
684 名前:デフォルトの名無しさん [2007/11/11(日) 15:40:55 ] 質問させてください。 Visual C++ .net 2005で開発を行っています。 フォーム(Form1)やピクチャボックス(pictureBox1)に簡単なグラフを表示させたいのですが、 button1_Click等で描画すると、一度非表示になった部分の線が消えてしまいます。 Form1_Paintイベント内で描画すれば解決するのですが、毎回データを読み込んだり計算するのが 無駄に感じます。 Form1で非表示になった部分を消さないための方法はあるのでしょうか? または、なんらかのバッファに描画して、それをForm1_Paint内で毎回読み出すという方法のほうがいいのでしょうか? そのための方法等があれば教えてください。 よろしくお願いします。
685 名前:684 mailto:sage [2007/11/11(日) 15:44:04 ] 補足 線は、 Graphics^ gr = pictureBox1->CreateGraphics(); Pen^ pen1 = gcnew Pen(Color::Black,2); gr->DrawLine(pen1,10,10,200,200); こんな感じで書いています。
686 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 22:25:30 ] >>684 Imageに描いて、Paintイベントでgr->DrawImage
687 名前:648 mailto:sage [2007/11/12(月) 00:13:47 ] >686 なるほど、ありがとうございます。 Bitmapをバッファとして使い、Graphics::FromImageで取り込んだイメージに対して、 描画を行いました。おかげでうまくいきました。 ↓みたいな感じでよろしいでしょうか? 何か改善点があればご指摘お願いします。 Bitmap^ bmap1; private: System::Void mnDraw_Click(System::Object^ sender, System::EventArgs^ e) { Pen^ pen1 = gcnew Pen(Color::Black,2); Graphics^ gr1 = Graphics::FromImage(bmap1); gr1->DrawLine(pen1,10,10,100,100); // gr1->Dispose(); //なぜかエラーになる Form1::Refresh(); } private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { bmap1 = gcnew Bitmap(200,200); } private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { e->Graphics->DrawImage(bmap1,100,100,200,200); }
688 名前:デフォルトの名無しさん [2007/11/12(月) 00:15:57 ] >>687 Bitmap^ の 「^ 」 ってどういう意味?
689 名前:若者は馬鹿者 ◆KorX0HCHGU mailto:sage [2007/11/12(月) 00:16:21 ] Win32アプリ開発で VSの出力の部分にウインドウメッセージを表示したいのですが .netでいうSystem.Diagnostics.Debug.Printに相当する機能はないですか?
690 名前:デフォルトの名無しさん [2007/11/12(月) 00:18:17 ] >>689 ドットネットの質問は他所でやれ馬鹿者!
691 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 00:24:38 ] >>690 には>>689 が”ドットネットの質問”に見えるらしいw
692 名前:684 mailto:sage [2007/11/12(月) 01:09:01 ] >688 自動でガーベージコレクションをやってくれるようです。ようは、使い終わったら勝手にメモリを開放してくれるらしい。
693 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 03:14:25 ] >>692 なるほどー 2005からの機能ですね
694 名前:デフォルトの名無しさん [2007/11/12(月) 08:44:30 ] win32APIで虫眼鏡のプログラムを作ってます。 メモリデバイスコンテキストでマウスカーソル周辺を拡大したものを ディスプレイのデバイスコンテキストに転送してるんですが、 マウスを移動させたときに先ほど拡大した部分を元に戻して 移動先のマウスカーソル周辺をまた拡大という風にしたいんです。 ですが、毎回GetDC(0)をしたとしても拡大した後のディスプレイでは初期化できないし、 hdc2という二つ目のデバイスコンテキストに拡大前の状態を退避させて hdc1に復活させようと思ったのですがうまくいきません。 さらに、メニューを開いたり新たにソフトを起動させたりと、 刻々と変化するディスプレイの状態を追いかけつつ拡大できるようにしたいのです。 探し方が悪いのかもしれませんが、 いろいろ検索しましたが良い解決法が見つかりませんでした。 それに虫眼鏡のプログラミングを解説してるサイトもなさげだし・・・。 このような場合、どのような方法を用いればいいのでしょうか? よろしくお願いします。
695 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 09:49:55 ] MSDNのサンプルじゃダメなの? /****************************** Module Header ******************************* * Module Name: zoomin.c * * Microsoft ZoomIn utility. This tool magnifies a portion of the screen, * allowing you to see things at a pixel level. * * History: * 01/01/88 Created. * 01/01/92 Ported to NT. * 03/06/92 Cleanup. * ****************************************************************************/
696 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 10:35:31 ] 一応 .netを使ったC++/CLI は、普通のC++とは全く別物 .net使いたいならC#がいいと思う
697 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 12:45:26 ] argcとargvについて教えてください。
698 名前:694 mailto:sage [2007/11/12(月) 13:27:05 ] >>695 そのページってどこを探したらありますかね? MSDNのサイト調べても見あたらなかったんですが…。 教えて君で申し訳ありません。
699 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 16:26:41 ] >>698 Platform SDKはインストールしてる?
700 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:51:17 ] Visual Studio 2005を使って、DirectXプログラムを作ろうとしてます。 ちなみにOSはWindowsXP Home Editionです。 ネット上の解説サイトで、Visual C++ Express Editionを使って Windowsアプリケーションを作成する場合にはPlatform SDKが必要と書いてあるんですが、 Visual Studio 2005を使う際にもPlatform SDKをインストールしておいたほうが良いでしょうか?
701 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 17:58:14 ] 今ならPlatform SDKよりWindows SDKお勧め。 DirectXには、DirectX SDKが必要。 ただし、DirectShowには上2つの内どちらかが必要。
702 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:04:12 ] >>701 ありがとうございます。 DirectShowが何かよくわかりませんが、 解説本がPlatform SDKで進めているので、 これとDirectX SDKでやってみます。
703 名前:デフォルトの名無しさん mailto:sage [2007/11/12(月) 18:20:49 ] VisualC++ Expressでプログラム製作をしています。 プログラム実行中にコードを書き換えてAlt+F9を押すと、動的にプログラム の内容を変えてくれますが、ボタンを押しても出来ない時があります。 これは何が原因なのでしょうか?
704 名前:700 mailto:sage [2007/11/12(月) 20:24:35 ] 度々すみません。 DirectXのテストをしようと、 D:\Program Files\Microsoft DirectX SDK (November 2007)\Samples\C++\Direct3D\Tutorials\Tut01_CreateDevice\CreateDevice.cpp を自分のプロジェクトフォルダにコピー、既存の項目を追加して、 ソリューションのビルドをしてみると以下のエラーが出ました。 CreateDevice.obj : error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAJPAUHWND__@@@Z) で参照されました。 C:\Documents and Settings\(ユーザ名)\My Documents\Visual Studio 2005\Projects\d3dtest01\Debug\d3dtest01.exe : fatal error LNK1120: 外部参照 1 が未解決です。 そこで、Direct3DCreate9を含む「d3d9.lib」をプロジェクト名→プロパティ→リンカ→入力の「既存の依存ファイル」に追加したのですが、 まだ同じエラーが起こります。 D:\Program Files\Microsoft Platform SDK\Bin/Lib/Includeのパスは追加したのですが、 他に何が原因なんでしょうか?