[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 08/02 03:19 / Filesize : 168 KB / Number-of Response : 617
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれVisual C++(超初心者用)その4



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/



166 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 01:02:34 ]
>>165
何が聞きたいか分からん・・・
たとえば、

x=5;
cout << x;
x=10;
cout << x;

これでも x を2回使いまわしてることになるが(1回目は1"5"、2回目は "10" が出力される)
何か疑問があるか?

167 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 01:09:00 ]
>>166
あーーーーーー、簡単な形で見ると、わかりました。
つまり、cinでユーザーがxに入力した値はそのすぐ下にあるxに
反映されると言うわけ・・・かな? いや、そうですね。
解決しました。ありがとうございます。

168 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 06:17:17 ]
>>167
今更どうでもいいけど、ここはVCのスレだから、どうせならC++初心者のスレに逝けばよかったのに。

169 名前:デフォルトの名無しさん [2007/01/30(火) 12:26:49 ]
foobar2000のプラグインを作ってみたいんだけど、
当方、組込み系のプログラムが専門で、Windowsのプログラムは未経験です。
VisualC++を使ってみようかと思ってるんですが、Foobar2000のプラグイン開発って
ExpressEditionでもできるの?


170 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 12:31:16 ]
超初心者とかいう以前の問題かもしれないけど、教えてください。
ttp://www.imgup.org/iup324420.jpg
このOrchisのブラウザ→firefox.exeの部分はなんていう名称でしょうか?
Orchisではサブメニューとなってますが、VC++でいうには?
マウスポインタが来ると展開されるもの…というか…メニューバーとも違いますし…

171 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:04:29 ]
フラッシュ板かこっちか迷いましたがプログラム側で起動すると思ったのでこちらに書きます

インターフェイスをswfにしたいんですがプログラム側ではどういう処理が必要ですか?
.exe起動→swf起動→swfをウィンドウに貼り付け
今ここで行き詰ってます

よろしくお願いします

172 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:37:24 ]
さあ?

173 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:38:54 ]
pc10.2ch.net/test/read.cgi/tech/1153542424/785-786

このような状態なんですがどうすればいいんですか?

174 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:45:41 ]
>>173
プロジェクト作った?



175 名前:173 mailto:sage [2007/01/30(火) 18:32:03 ]
今プロジェクト作成に気をつけながらやってみたらうまく行きました
朝のやつは何かおかしかったみたいです。ありがとうございました

176 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:23:54 ]
openfiles.exeのように、
ロックを取得しているプロセス名を取得する方法ってどんなやり方がありますかね?


177 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:16:18 ]
includeファイルの中身を見ても仕組みがよくわからないんですが
インクルードファイルの機能を見るにはどうすればいいですか?
ヘルプを見ましたがいまいちよくわかりませんでした・・・
何かよい検索方法があれば教えてください
よろしくお願いします

178 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 19:38:21 ]
もう少し具体的に書いてくれ

普通は、この機能を使うには
どのヘッダファイルをインクルードすればいいのかを
調べるから順番が違って参考になる答えがだせるかわからんけど

179 名前:デフォルトの名無しさん [2007/01/31(水) 23:01:33 ]
タブ(CTabCtrl)を使ったプログラムを作ったのですが、タブ内の処理(他クラス・チャイルド)と親クラス(?)で変数を共有する方法を教えてください。
親クラスの変数をタブのクラスで参照できれば良いです。
また、親クラスからあるトリガで子クラスの表示処理を走らせたいのですが、子クラスを起こすor親クラスから直接描画できますか?
よろしくお願いいたします。

180 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 23:06:16 ]
スルー

181 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 00:12:34 ]
>>179
正直言っている意味がわからんのだが、
参照できる親クラスメンバは、子クラスからならばprotectedかpublic、
継承関係にないならばpublicのみだぞ。


182 名前:デフォルトの名無しさん [2007/02/01(木) 04:52:51 ]
親ってことは、CWnd::GetParent()か?

183 名前:デフォルトの名無しさん [2007/02/01(木) 04:55:17 ]
みんな意地悪しないで(知ってて知らん振り、わからない振り?)、
自分が初心者だった頃を思い出して質問を酌んでやれよ。

184 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 04:57:24 ]
>>181
>正直言っている意味がわからんのだが、

そりゃ、>>179以上にあんたが初心者ってことだお。



185 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 04:59:25 ]
言いたい事は何となくわからんでもないけど
クラスをどう作ってるか分からんとねぇ

186 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 06:13:21 ]
>183-184にまかせた

187 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 08:29:22 ]
そりゃクラスじゃなくてウィンドウの親子だな

188 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:09:45 ]
つまりそうだろ!?

189 名前:デフォルトの名無しさん [2007/02/01(木) 22:29:51 ]
すいません、自分はクズたれ初心者です。
そこで質問です、何か作ってみようと思って、SDKみたりするんですが
C言語だと、長ったらしいソースをメッセージ毎に書いて、他にも知識が必要だと思い
ところが、MFCだと、それら(win32api達)を一通り用意用意されすぎて、でも結局win32apiをラップ
したものですし、なんかMFCを使うのは、パソコン初心者に「さぁ、使い方は教えないが便利だよ。使ってみなさい」
と言って標準アプリが付いたパソコンをわたしてるような感じで、使い勝手が分からない感があります。
どこかサイトで、MFCをつかわずwin32apiを使ったC++プログラムサンプルソースを公開してるところは
ありませんでしょうか、CodeGuru,TheCodeProject,Programmer'sHeaven,SourceForge等を見ても
MFCか、いわゆるコンソールアプリ(boost等)のどちらかしか見つけられません。
自分の探し方が悪いのでしょうが、どなたか教えてください。
(ちなみに、FastCopyのソースを見ましたが、敷居が高すぎました)

190 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 22:43:19 ]
MSDNにSDKのサンプルがいっぱいついてる

191 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 23:13:59 ]
>>189
そもそもWin32APIが関数と構造体の塊のようなものだから、
直にWin32APIを使うプログラムなんてCでもC++でも大して変わらない。
(COMが絡む分野を除く)

Win32APIを使ったプログラムで、C++らしく書くとすると、
結局MFCがそうであるように多かれ少なかれWin32APIを何らかの形でラップしたような感じになるのがオチ。
だからといってMFCを使えというわけではないし、MFC以外にも色々とあるわけだが。

192 名前:デフォルトの名無しさん [2007/02/01(木) 23:35:56 ]
VC++を評価版でやってみたいのですが、何をダウンロードしてインストールすればよいのでしょうか?
初歩的な質問で恐縮ですがよろしくお願いします。

193 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 23:39:37 ]
>189
おいらは、猫->ATL/WTL

194 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 23:43:25 ]
>>192 これのどっちか
Visual Studio 2005 Team Suite 180日間限定評価版
Visual Studio 2005 Professional Edition 90日間限定評価版
www.microsoft.com/japan/msdn/vstudio/downloads/default.aspx



195 名前:デフォルトの名無しさん [2007/02/01(木) 23:45:32 ]
>>194
どうもありがとうございました。

196 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 14:43:14 ]
リソース*.rcファイルの中で#ifdef,#else,#endifの処理があるのですが、
プロジェクトの設定の、プリプロセッサの定義に書いても、*.rcの中だけ無視されます。
(他の*.cppとかはちゃんと#ifdefで条件分岐してます)
どうすれば*.rcの中でもプリプロセッサの定義が有効になりますか?

197 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 14:45:36 ]
解決しました。
プロジェクトのリソースタブにもプリプロセッサの定義がありました。

198 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 13:32:57 ]
>>192
どうしても有料のエディションの評価版がいいの?
無料のExpress版は嫌?

199 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 03:18:09 ]
評価期間過ぎたら製品版買ってMSに貢献するんだろ
無料勧めちゃイカン

200 名前:デフォルトの名無しさん [2007/02/08(木) 17:12:26 ]
多分すごい有名な
「新VisualC++6.0入門ビギナー編 林春比古署 ソフトバンク社」
を使って今勉強中なんですが、
241ページのサンプルプログラムで、
CPenクラスのオブジェクトのポインタ、’oldPen’ってゆうのを、
’旧ペン’と銘打って保存って書いてありますが、
これをする意味がわかりません。
わざわざポインタでなぜ確保しているのでしょうか?
pDC->SelectObject(&CPen型Object)で選択して書くだけなのに、
別に’旧ペン’を保存しておく必要があるのでしょうか?
私が簡単に確認した程度では、
oldPen 自体設定しなくても実行可能でしたし、
最後に’旧ブラシに戻す’ってゆう作業もなくても問題ありませんでした。
他にもいろいろ記述してoldPenの有用な使い方を検証しましたが、
やればやるほど意味がないのではという考えに傾きます。
大変限定的な質問ですが、
よければ本を持ってる方、もしくはよく知ってらっしゃる方でわかる方がいれば
教えていただけないでしょうか?

201 名前:デフォルトの名無しさん [2007/02/08(木) 17:13:22 ]
多分すごい有名な
「新VisualC++6.0入門ビギナー編 林春比古署 ソフトバンク社」
を使って今勉強中なんですが、
241ページのサンプルプログラムで、
CPenクラスのオブジェクトのポインタ、’oldPen’ってゆうのを、
’旧ペン’と銘打って保存って書いてありますが、
これをする意味がわかりません。
わざわざポインタでなぜ確保しているのでしょうか?
pDC->SelectObject(&CPen型Object)で選択して書くだけなのに、
別に’旧ペン’を保存しておく必要があるのでしょうか?
私が簡単に確認した程度では、
oldPen 自体設定しなくても実行可能でしたし、
最後に’旧ブラシに戻す’ってゆう作業もなくても問題ありませんでした。
他にもいろいろ記述してoldPenの有用な使い方を検証しましたが、
やればやるほど意味がないのではという考えに傾きます。
大変限定的な質問ですが、
よければ本を持ってる方、もしくはよく知ってらっしゃる方でわかる方がいれば
教えていただけないでしょうか?

202 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 18:00:52 ]
DCに選択中のGDIオブジェクトは破棄できないから。

203 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 18:29:47 ]
>200-201
★初心者にVisual C++を教えるスレ★ Part25
pc10.2ch.net/test/read.cgi/tech/1168354839/380

マルチ

204 名前:デフォルトの名無しさん [2007/02/08(木) 18:31:55 ]
ほんとだあ



205 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 18:56:07 ]
あちこち書き込むと早く回答がもらえるよ〜俺って頭いい〜とか思ってるのかね。

206 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:37:31 ]
ttp://aoiruka.blog8.fc2.com/blog-entry-103.html
ここに載っている方法で加算合成を行っても問題はありませんか?
自分の環境では特に支障なく動作するのですが。

207 名前:デフォルトの名無しさん mailto:sage [2007/02/08(木) 22:50:54 ]
>>206
そのリンク踏んでも問題はありませんか?
自分の環境で支障がでると困るので

208 名前:デフォルトの名無しさん [2007/02/09(金) 10:29:48 ]
あっちこっちかいたらあかんのか、ぼけ。
二箇所しか書いてへんし、掲示板のタイトル選んで書いてるし、
回答は少しでも速いほうがいいし、
もしかしたらいろんな答えがあるかもわからんし、
それを知りたいのは普通やんけ。
誰も頭がいいなんか思うか。
そういう発想にいたるお前は自分が悲しくないんか。
まあ、ここでそんなやつにかまってる自分が悲しいけど。
気分が悪いんでもうこんなところに質問書いたりしません。
どうも何らかの答えになるようなことを書いてくださった方はありがとうございました。

209 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 14:04:46 ]
もうくるなよ

210 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 14:41:44 ]
質問です。VC++6.0でMFCを利用しています。

3つのダイアログをモーダレスで表示します。
仮に、A,B,Cとします。

この3つのダイアログのZオーダーを常にA→B→Cに固定するにはどうすれば
よいでしょうか。

私自身、Zオーダーという言葉の使い方が間違っているかもしれませんので補足します。

AとBが重なっていれば必ずAが前面に表示され、BとCならB,AとCならAという
動作です。

ダイアログが2個なら、TOPMOSTが利用できるのですが、3つの場合はどのようにしたら
よいでしょうか。

可能であれば、BダイアログをドラッグしながらAダイアログ上を横切ると、スムースにAの下
を潜り抜けるようなのがよいです。

よろしくお願いします。

211 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 17:04:21 ]
こういう向いてないやつはどうしたらいんだろうね
本人が悟ってくれるといいけど

212 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 17:40:22 ]
>>210
ダイアログの作成順をC B Aの順にし、Create時Aの親をBに、Bの親をCにする。

213 名前:デフォルトの名無しさん [2007/02/09(金) 22:52:26 ]
ど素人です。
labelに文字を続けて表示させたいのですが、
label->Text = S"hello wo";
label->Text = S"rld";
としてもrldとなってしまいます。
これをfor文等で何回も実行させたいのですが、どうすればよいのでしょうか。


214 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:00:29 ]
これなら低級エスパーでも答えられるな。



215 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:09:15 ]
>>213
普通のCのプログラムならそんな感じだろうけど
Windowsだからね
最低限の基礎知識がないとこれから大変だと思うよ
手取り足取り面倒みてくれる人がいるといいね

216 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:15:26 ]
S""って、マネージリテラル文字列?C++/CLIか?

217 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:15:29 ]
初心者です。
超アホな質問で申し訳ないんですがよろしくです。
VistaにてVS2005Expressを使おうと思ってます。
一応本体+SP1(MSUpdateにて)とSP1Update4Vista(β版)とやらをインスコしてみました。
・・がこれでSP1は適用できてるんでしょうか?
確認方法がわからないんですorz|||
バージョン情報にはSPの文字は見えませんでしたが・・

また、Vista上の2005でビルドすると文字コードエラーが連発しますが、
なんとなくSP1では対策済みとの情報があったような気がしてて、
SP1が適用できてないのでエラーが残ってるのかなぁとか思ってるわけですが、
実際のところどうなんでしょうか?
SP1にしたからって文字コードエラーが消えるわけではないのか、
それともSP1自体適用されてないのか・・

どうかよろしくお願いします!!m(_ _;;)m

218 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:20:57 ]
>>213
label->Text += S"rld";

219 名前:213 [2007/02/09(金) 23:40:38 ]
>>216
よくわかりませんがVC++.NETでwinフォームアプリケーションを作っています。

>>218
ビルドすると
'+':__gcポインタ 'System::String __gc *'に対してポインタ演算ができません。
とエラーがでてしまいます。

220 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 23:54:54 ]
一つの入れ物に二つ入れようとしたら
前に入れたのがでて、後から入れたのが残るよ

221 名前:213 mailto:sage [2007/02/10(土) 00:13:25 ]
String* ss;
ss = System::String::Concat(S"hello wa", S"rld");
label->Text = ss;
とすれば表示させることができました。
一応問題は解決したのですが、もしこれより効率的な書き方があれば
今後のために教えてください。

222 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:33:15 ]
>>221
MASM6.3?
だったら
MOV ES・SI、ソース
MOV DS/SI、ですちねーしょn
MOV ECX、カウント
REP MOV

223 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:39:01 ]
コンパイラ様より効率的なんだろうか

224 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:42:14 ]
>>223
昔DECのフォートランでDOループで定数を埋めるプログラムを作ったら
逆アセンブルしたら全部クリア命令だった



225 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 00:53:38 ]
>>222
rep movsb だろ。
ていうか、そもそもCLIか。

226 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 01:43:22 ]
>>221
大量の文字列連結用にSystem.Text.StringBuilderってのがあるけど、
二つ三つ繋ぐのには大げさすぎだな。

227 名前:デフォルトの名無しさん [2007/02/11(日) 17:15:26 ]
乱数を取りたいんですが
Random random = new System::Random();
int ran = random.Next(100);
ではコンパイルできないんですがどうしたらいいですか?

228 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 21:48:08 ]
C++/CLIならたぶんこう。
System::Random random;
random.Next(100);

マネージドC++ならたぶんこう。
System::Random* random = new System::Random;
random->Next(100);

.NETを使わないC++ならboost::randomを使っておけ。
嫌なら<cstdlib>のstd::rand (& std::srand)。

229 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 22:13:12 ]
>>228
ありがとうございます。

230 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:14:24 ]
猫でもわかる…の他にWin32SDKでダイアログベースアプリケーション
の作り方を解説しているところを教えてください。

231 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:27:54 ]
WisdomSoft

232 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:51:17 ]
>>231
ありがとうございます。
ハード + たまにファーム屋なので、すぐ壁にぶち当たると思うけど
頑張ります。

233 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 22:40:46 ]
C++とは直に関係なくリソースエディタのことなのですが
メニューをリソースエディタで作る時に
最初にメニュー項目に割り振られたIDをメニューエディタで変えても
resource.hに繁栄されないのですけど そういう仕様なんですか?リンクしてない?
リソースシンボルを見ると書き換えたはずの前のIDも使用中になって消すことも
できませんし……
自分でresouce.hを書き換えるものなんでしょうか?
グラフィカルなメニューエディタとresouce.hの関係がよくわかりません
環境はVS2005stdです

234 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 00:47:08 ]
それあるね。素直に変わる時もあるけど、バグのような気がする。



235 名前:233 mailto:sage [2007/02/13(火) 01:55:09 ]
>>234
ということは 本来はメニューエディタで変えたIDはリソースシンボルや
resource.hに反映されるものなのですね
勝手にresource.h書き換えるとVSに怒られるし……
何度か再起動してれば連動することもあるということですね
sp1も充ててるんですけどね

明日 試してみます

236 名前:デフォルトの名無しさん mailto:sage [2007/02/14(水) 17:38:06 ]
自分が作ってるのと関係ない窓(例えばIE)を移動させることって可能でしょうか?

237 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 01:22:31 ]
可能です。

238 名前:デフォルトの名無しさん mailto:age [2007/02/18(日) 22:31:02 ]
VS2005STD-VCの
アイコンエディタの色の並びは
どういう根拠で決定されたものなのでしょうか?

正直、あの並びをデータとして持っているのが無駄に思えます。


239 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:35:23 ]
VGA(640x480,16色)の初期パレットじゃね?

240 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:43:10 ]
って、256モードか

241 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 22:45:29 ]
あれはわかんね

242 名前:デフォルトの名無しさん mailto:sage [2007/02/18(日) 23:20:16 ]
WebSafeColorの216色+WindowsSystemColorの32色+αじゃないのかな。
要は、255を5等分した6濃度をRGB3プレーン分展開したのがWebSafeColorの216色で、
ウィンドウ枠なんかに使っているのがWindowsSystemColorの32色。

243 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:28:58 ]
MFCのOnTimerイベントの処置中は他のボタンなどのイベントを受け付けない
(OnTimer内の処理が終了後に他のイベント処理)動作は可能でしょうか?

244 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 20:40:19 ]
OnTimer内でメッセージループ回さなきゃ、そういう動作になると思うが。



245 名前:243 mailto:sage [2007/02/19(月) 20:50:43 ]
>>244
イマイチOnTimerの処理について把握してないのですが、OnTimer内の
処理が終わるまではボタンイベントの処理等には行かないって事でいいのでしょうか?

246 名前:243 mailto:sage [2007/02/19(月) 20:52:58 ]
あ〜すいません。
行かないってか、貯まったメッセージキューの処理とかしなきゃ行けないですね。

247 名前:デフォルトの名無しさん [2007/02/20(火) 11:37:39 ]
これからどうやって勉強すればいいですか
Cに関する知識0です。

248 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 11:49:53 ]
今まではどうやって勉強して、どこまでいったのだ

249 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 13:12:56 ]
諦めて樹海にでも行けばいいんじゃね?

250 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:48:17 ]
関数が多くなって非常に醜いソースファイルがあるのですが、
ほかのファイルにいくつかの関数をもっていき、それをメインのソースファイルから利用したりはできませんか?

251 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:50:42 ]
つ ヘッダ

252 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 23:52:12 ]
>>250
ほかのファイルにいくつかの関数をもっていき、それをメインのソースファイルから利用
すれば出来る。

253 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:07:30 ]
case 1:
if(GetOpenFileName(&ofn)){
GetFileTitle(GotFileName,GotFileShortName,256); strcpy(musictitle,"open ");
strcat(musictitle,GotFileShortName);strcat(musictitle," alias oto");mciSendString(musictitle,NULL,0,NULL);
}
break;

case 2:
mciSendString("stop oto",NULL,0,NULL);
mciSendString("play oto from 0", NULL, 0, NULL );
break;

こんな感じでボタン1が押されたらコモンダイアログ出してファイルを選択させ、
ボタン2が押されたら、選んだファイルを再生する、というようにしてるんですけど
動作が変なんです。

例えば、最初に「oo.mp3」を選択した後、ボタン2を押して再生します。
そして、もう一度ボタン1を押して、「xx.mp3」を選択します。
その後、ボタン2を押すと、「oo.mp3」が最初から再生されてしまいます。
本当は、「xx.mp3」を再生したいのですが・・・

254 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 10:41:32 ]
>>253
mci使ったことないし、曲再生もやったことないけど、気づいた点を一つ。
closeしないうちに再openできるの?
単純に、oo.mp3がopenされたままだからxx.mp3でopenできてないんじゃない?



255 名前:253 mailto:sage [2007/02/22(木) 14:35:39 ]
>>254
すんません、書いてなかったです。
WM_DESTROYの中でcloseはしてあります。

256 名前:254 mailto:sage [2007/02/22(木) 14:51:50 ]
んにゃ、closeしないままopenしてないかって話だけど。
2度目のxx.mp3のときのcase 1で、ちゃんとopenできてるかどうか確認してみたら?
#つーか、mciSendString()はエラーを返さないのか? 返さないとしたら確認手段くらいないのか?


いっそ、試しにこんなロジックでも書いてみたら?
mciSendString("open oo.mp3 alias oto", NULL, 0, NULL);
mciSendString("stop oto", NULL, 0, NULL);
mciSendString("play oto from 0", NULL, 0, NULL);
Sleep(10000);
mciSendString("close oto", NULL, 0, NULL);
mciSendString("open xx.mp3 alias oto", NULL, 0, NULL);
mciSendString("stop oto", NULL, 0, NULL);
mciSendString("play oto from 0", NULL, 0, NULL);
Sleep(10000);
mciSendString("close oto", NULL, 0, NULL);
んで、巧く行ったらcloseをコメントにしてやってみると。

257 名前:253 mailto:sage [2007/02/22(木) 15:05:31 ]
>>256
出来ました、サンクスです。
てっきり、closeは最後にアプリ閉じるときだけすればいいと思ってました。
そっかー、一旦、close 要るんだったのか。
どうもです。

258 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:32:52 ]
VC++の古いやつ(5.0 Ent)使ってるんだけど
SDKで 

case WM_PAINT:
return 0;

この2行が入っていると、
何故か(左上のアイコンをクリックして出す)システムメニューの
表示が遅くなったり、配置したコントロールの反応が遅れたりする
(例えばチェックボックスをクリックしてもチェックマークが入るのが遅い)。

この2行をコメントにすると直る。

これって、普通なのかな?
今更なんで5.0かって言われそうだけど

259 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 15:42:35 ]
WindowsのWM_PAINTで再描画が行われない
(正確には更新リージョンが空にならない)と、再びWM_PAINTが投げられる。

だから例えばDefWindowProcの中ではWM_PAINTに対し
ただBeginPaintとEndPaintだけを呼んで更新リージョンを空にしていると、
Programming WindowsかAdvanced Windowsのどっちかに書いてあった。

260 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 04:13:55 ]
windowsアプリケーションでアイコン作ったものの
コンパイルしても表示されないんですが
設定の仕方があるのですか?

261 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 07:18:30 ]
俺様のエスパー能力を駆使した感じでは、
元々リソースを含まなかったプロジェクトに対して、アイコンファイルだけを直接追加した予感。
リソースファイル(*.rc)とresource.hがプロジェクトに含まれているか?

通常は、リソースファイルを追加した後、
そのリソースファイルに対してアイコン等を追加する。

262 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 08:00:40 ]
残念ながら含まれてます
ただ今気付いたんですがフォルダの表示をアイコン表示にすると
ちゃんと表示されます
一覧表示や詳細表示などでは表示されないんですがこれもしかして仕様ですか?

263 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 08:42:31 ]
諦めずに再エスパー。
アイコンの内32x32の方だけ書き換えていて、16x16は空のまま、とか。
イメージ - 現在のアイコンイメージタイプ をチェックしてみ。

264 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 23:38:32 ]
>>263
あるある



265 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 00:33:49 ]
>>263
遅くなってすいません
見事にそれでした
エスパーさんありがとう!

266 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 03:30:05 ]
エスパーされるってことは、質問の情報が不足してるってことだぞ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<168KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef