1.VC6.0について一問
古いシステムですが音声について
VC6.0では太い音は出せないのでしょうか
VOLはないのでしょうか。
MIDIコマンドは知っているのですが、これでは太い音にならない
と思うのですが?
2.VC6.0の後継について数問
(1)。 後継のシステムにはVOLはありますか。
太い音を出したい。
(2)。 WAVのように動画(mpg)のコントロールする
モジュール(関数?)など公開されていますでしょうか
(3)。 リモート・デバック機能はありますでしょうか。
(4)。 上記で安いシステムはいくらぐらいするのでしょうか。
(5)。 OnDraw関数について
a。 OnDraw関数の呼ばれるタイミングは下記の3点
(a) 起動時
(b) 画面がいったん隠れて、再度現れたとき
(c) InvalidateRect関数(または、Invalidate関数)が
起動されたとき
私は、MFCで(c)利用してプログラミングしています。
独学で詳しくなく、(b)が発生すると再表示させていないので
画面が白くなり、継続がしにくくなります。又は、再実行。
シングルで動かしますので、(b)を読み捨てれば問題なく
動くと思うのですが。読み捨ての判別(b)(c)は判別
できますでしょうか。99%できないと思うのですが?・・・
以上の項目、ご指導のほどよろしくお願いします。
kaneda wrote:
> 1.VC6.0について一問
~
> VC6.0では太い音は出せないのでしょうか
> VOLはないのでしょうか。
この手の話ではコンパイラは関係なく、マルチメディア系APIの使い方
を学ぶ必要があります。
Windows マルチメディア - Google 検索
http://www.google.co.jp/search?hl=ja&q=Windows+%E3%83%9E%E3%83%AB%E3%83%81%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2
> 2.VC6.0の後継について数問
>
> (1)。 後継のシステムにはVOLはありますか。
> 太い音を出したい。
> (2)。 WAVのように動画(mpg)のコントロールする
> モジュール(関数?)など公開されていますでしょうか
上述のとおりです。
> (3)。 リモート・デバック機能はありますでしょうか。
> (4)。 上記で安いシステムはいくらぐらいするのでしょうか。
VC6はもとより、現在に至るまで、VCはリモートデバッグが可能です。
VC リモートデバッグ - Google 検索
http://www.google.co.jp/search?hl=ja&q=VC+%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87%E3%83%90%E3%83%83%E3%82%B0
> (5)。 OnDraw関数について
面倒でもWindowsアプリケーションにおける描画の仕組みを基礎から
学ぶべきかと思います。
C標準関数を使った教科書的なアプリケーションと異なり、GUIアプリ
ケーションは複雑です。
MFCを利用するにしても、その背景にあるWindowsの特性を知らなけ
れば使いこなすことはできません。
> a。 OnDraw関数の呼ばれるタイミングは下記の3点
> (a) 起動時
> (b) 画面がいったん隠れて、再度現れたとき
> (c) InvalidateRect関数(または、Invalidate関数)が
> 起動されたとき
これらに共通するのは、ウィンドウの表示が無効になったときには
アプリケーション自身で速やかに再描画しなければならない ― と
いうことです。Windowsが自動的にやってくれるわけではありません。
また、(b)のように、予測できないタイミングでウィンドウの表示が
無効になることがあるので、アプリケーションは常にそれに備えな
ければなりません。
> 独学で詳しくなく、(b)が発生すると再表示させていないので
> 画面が白くなり、継続がしにくくなります。又は、再実行。
> シングルで動かしますので、(b)を読み捨てれば問題なく
> 動くと思うのですが。読み捨ての判別(b)(c)は判別
> できますでしょうか。99%できないと思うのですが?・・・
読み捨ててしまうとWindowsアプリケーションとして成り立たなく
なります。
Windowsアプリケーションの基本は「イベントドリブン」です。
キー入力やマウス操作などをきっかけとして処理を開始し、さっさと
処理を終えて次のイベントを待つことになります。
処理が長時間に及ぶ場合は、マルチスレッド化したり、定期的に
イベントをチェックして処理を多重化したりする必要があります。
最低でもウィンドウを強制的に更新しなければなりませんが、それ
だけではイベントに応答できないので、あまり適切とは言えません。
ちなみに ――
「画面が白くなる」のは、おそらく、メッセージポンプ(メッセージループ
とも言う)が止まっているからです。
ウィンドウの更新もまたイベントドリブンなのですが、その優先度は
かなり低く、メッセージキューが空になるまで保留されます。
そして、アプリケーションがアイドル状態になり、ウィンドウの更新の
きっかけとなるメッセージがWindowsから送られてきたときにようやく
OnDrawが呼び出されます。
# 無効化された領域を蓄積し、まとめて一気に更新するわけです。
通常は目にする機会はありませんが、MFCにももちろんメッセージ
ポンプがあります。
キー入力やマウス操作を滞りなく処理するために、また、ウィンドウが
無効になったときは速やかに更新するために、メッセージポンプを
止めてしまうようなイベントハンドリングは避けなければなりません。
--
植田システム設計事務所
Ueta System Design Studio
http://www.usdesign.jp/
植田真一
mailto:ue...@usdesign.jp
> この手の話ではコンパイラは関係なく、マルチメディア系APIの使い方
> を学ぶ必要があります。
私は、古いWindows95 APIのマルチメディアと言う本を持っています
WEA・,AVIの簡単なプログラムを作成したときに利用しました。
(私にとっては難しかったけど)
現在のAPI・マルチメディア本は出版されているでしょうか。
日本語で出ているといいのですが。
ググり方がへたなので、調べることが・・・
> VC6はもとより、現在に至るまで、VCはリモートデバッグが可能です。
現在、VC6で使用してます。
VC6はプログラマーズガイドにリモートデバックする為の
ファイル名が載っていましたが同様でしょうか。
>> (5)。 OnDraw関数について
>
> 面倒でもWindowsアプリケーションにおける描画の仕組みを基礎から
> 学ぶべきかと思います。
> C標準関数を使った教科書的なアプリケーションと異なり、GUIアプリ
> ケーションは複雑です。
> MFCを利用するにしても、その背景にあるWindowsの特性を知らなけ
> れば使いこなすことはできません。
たいへん難しいと感じています。
>
>> a。 OnDraw関数の呼ばれるタイミングは下記の3点
>> (a) 起動時
>> (b) 画面がいったん隠れて、再度現れたとき
>> (c) InvalidateRect関数(または、Invalidate関数)が
>> 起動されたとき
>
> これらに共通するのは、ウィンドウの表示が無効になったときには
> アプリケーション自身で速やかに再描画しなければならない ― と
> いうことです。Windowsが自動的にやってくれるわけではありません。
> また、(b)のように、予測できないタイミングでウィンドウの表示が
> 無効になることがあるので、アプリケーションは常にそれに備えな
> ければなりません。
基礎が出来ていないので、シングル(制限)で動かしています。
目的道理動作できていますので、これでよしとしています。
良くないですが・・・
(頭が悪いので仕方ない!)
私の場合
例1
思い出せないので、
一つの例として、無題(画面表示)の画面を表示させ、その中を
カラーとします。
マウス有効
マウスを無題位置に会わせ下画面全体移動、元に移動すると
下の部分が白くなるなど
移動の場合がおもかな!
こんなのでわかるでしょうjか?
説明へたですね。
こんな場合みなさんはどのようにしてますでしょうか!
" 例1
> 思い出せないので、
> 一つの例として、無題(画面表示)の画面を表示させ、その中を
> カラーとします。
> マウス有効
> マウスを無題位置に会わせ下画面全体移動、元に移動すると
> 下の部分が白くなるなど
> 移動の場合がおもかな!
> こんなのでわかるでしょうjか?
> 説明へたですね。
> こんな場合みなさんはどのようにしてますでしょうか!
Vistaでも白くなりますね。
この例はよくないので無視してください。
VIstaでよくなった点
他のプログラムに画面を重ねた場合白くならない
(わかりにくいかな!)
これはdump、altなどを使用する時便利
XPでは、他の画面に影響させてました。白くなる。
これで、画面に影響を与えないで、
ファイルの中身が見れて便利になりました。
良い例が思い出せないので、例は無しということで・・・
kaneda wrote:
> 現在のAPI・マルチメディア本は出版されているでしょうか。
> 日本語で出ているといいのですが。
> ググり方がへたなので、調べることが・・・
一頃に比べると目を引くような書籍は出なくなりましたが、
―― あたりを探してみては?
マルチメディア系は変化が激しいですけど、古いAPIがまったく
使えないわけではないと思いますので、お手元の書籍を参考
にして試してみては?
# APIのリファレンスにはどのバージョンのWindowsでサポート
# されているかがちゃんと書かれていますよ。
> 現在、VC6で使用してます。
> VC6はプログラマーズガイドにリモートデバックする為の
> ファイル名が載っていましたが同様でしょうか。
基本は同じですが、まったく同じというわけではありません。
ファイル名などはバージョンに応じて変わってくるでしょうし、
必要とするDLLの構成も異なると思います。
いずれにしても、リモートデバッグについてはリファレンスに
ちゃんと書いてあるので、面倒でも目を通しておきましょう。
> 基礎が出来ていないので、シングル(制限)で動かしています。
> 目的道理動作できていますので、これでよしとしています。
> 良くないですが・・・
「シングル」の意味するところは分かりませんが、個人的に
プログラミングを楽しむ分には何ら問題はないと思いますよ。
ただ、フリーウェアとして公開したり、あるいは、それこそ業務
用アプリケーションの類だとそんなことは言っていられないで
しょうけど...。
> 一つの例として、無題(画面表示)の画面を表示させ、その中を
> カラーとします。
> マウス有効
> マウスを無題位置に会わせ下画面全体移動、元に移動すると
> 下の部分が白くなるなど
> 移動の場合がおもかな!
> こんなのでわかるでしょうjか?
まぁ、メールでの説明には限界があろうかと思います(苦笑)
「白くなる」かどうかは画面の更新方法や実行環境によるところも
あろうかと思いますので、一概にどうこうとは言えません。
Vistaに至ってはこれまでとは画面周りが大きく変わっているので、
従来とは違った結果になったとしても不思議はありません。
# 手前にあったウィンドウの表示がそのまま残ってしまうケースも
# よくあります。
ただ、少なくとも意図した表示ではないようですから、それを修正
するにはOnDrawをちゃんと作り込まないとだめだろうなぁ、という
ことくらいなら察しがつきます。
>> 現在のAPI・マルチメディア本は出版されているでしょうか。
> 一頃に比べると目を引くような書籍は出なくなりましたが、
> http://www.cbook24.com/
> ―― あたりを探してみては?
探してみました。
結論: ありませんでした。
日本では、売れないからないのでしょう。
私の買ったは本は出ていましたが・・・
> マルチメディア系は変化が激しいですけど、古いAPIがまったく
> 使えないわけではないと思いますので、お手元の書籍を参考
> にして試してみては?
私の頭では、詳細の内容がわからないのです。
wav・aviは本に載っていたので、出来たのです。
とりあえず、保留とします。
>リモートデバッグについてはリファレンスに
> ちゃんと書いてあるので、面倒でも目を通しておきましょう。
目を通しておきます。
> 「シングル」の意味するところは分かりませんが、個人的に
> プログラミングを楽しむ分には何ら問題はないと思いますよ。
>
> ただ、フリーウェアとして公開したり、あるいは、それこそ業務
> 用アプリケーションの類だとそんなことは言っていられないで
> しょうけど...。
当然、制限付きなので楽しむ範囲としています。
> ただ、少なくとも意図した表示ではないようですから、それを修正
> するにはOnDrawをちゃんと作り込まないとだめだろうなぁ、という
> ことくらいなら察しがつきます。
私の作るプログラムは、FMC・SDIでマウスで動かします。
白からの起動がわかれば再表示できるのですが、
InvaidateRect・Invalidateからの起動かが、わからないため
楽しむプログラムになっています。
InvaidateRect・Invalidateからの起動は継続処理。
制限さえ守れば
私が作成したdump・altプログラムもデバックに有効に使えてます。
制限とは、画面になんらかの影響を与えること。
普通は影響を与えるのとはないので問題はでない。
(自分が普通に使用した場合)
時間を見つけて、いろいろプログラミングして楽しみます。
ありがとうございました。
>> 1.VC6.0について一問
> ~
>> VC6.0では太い音は出せないのでしょうか
>> VOLはないのでしょうか。
>
> この手の話ではコンパイラは関係なく、マルチメディア系APIの使い方
> を学ぶ必要があります。
使い方の問題でした。
合唱?という考え方でOKでした。
だだ、自分の出したい音を探すのが(数値)、
面倒なだけです。
長さは、音より簡単かな!
また、御指導のほどよろしくお願いします。