Re: 描画結果が消える ( No.1 ) |
- 名前:管理人 日時:2016/05/20 01:23
一度消えるとその後描画処理をしても消えっぱなしなのでしょうか?
普通に考えると再度描画を行えば消えた部分も元に戻りそうですが…
|
Re: 描画結果が消える ( No.2 ) |
- 名前:時雨 日時:2016/05/21 09:41
再描画すれば戻ります。
ただ、DXライブラリの生成するウインドウでは消えることがないのでどうにかできないかなと思った次第です。
|
Re: 描画結果が消える ( No.3 ) |
- 名前:管理人 日時:2016/05/22 11:02
DXライブラリも「この部分を再描画して」というウインドウメッセージ( WM_PAINT )に
応じて再描画していますので、どうしても再描画は必要になります
|
Re: 描画結果が消える ( No.4 ) |
- 名前:時雨 日時:2016/05/22 11:21
やはり再描画するしかないのですね。
DXライブラリの生成するウインドウを使うことします。
そこで追加の質問なのですが、DXライブラリでメニューバーを描画後
DX.SetDisplayMenuFlag(DX.FALSE );
を実行してもメニューバーを消せません。これは仕様なのでしょうか?
|
Re: 描画結果が消える ( No.5 ) |
- 名前:管理人 日時:2016/05/23 00:27
> DXライブラリでメニューバーを描画後
こちらについてもう少し詳しく教えていただけないでしょうか?
DXライブラリはメニューバーを描画する関数はないので、どのような意味かわからない状態です…
|
Re: 描画結果が消える ( No.6 ) |
- 名前:時雨 日時:2016/05/23 15:06
描画という表現は適切ではありませんでしたね。
DX.AddMenuItemでメニューバーを表示させています。
これを動画再生処理中だけ隠そうと思い
DX.SetDisplayMenuFlag(DX.FALSE);
を実行したのですが、隠せません。
これは、この関数がこのような仕様なのか、それとも私が使い方を間違っているのでしょうか?
|
Re: 描画結果が消える ( No.7 ) |
- 名前:管理人 日時:2016/05/25 00:01
すみません、SetDisplayMenuFlag は AddMenuItem 等とは別系統の関数で、AddMenuItem 等で
追加したメニュー項目を表示したり消したりする用途で使用することはできません
なので、面倒で申し訳ありませんが、メニューを非表示にしたい場合は DeleteMenuItemAll で
全てのメニュー項目を削除して、再表示する場合は再度 AddMenuItem 等でメニューを
再構成するようにしてください m(_ _;m
|
Re: 描画結果が消える ( No.8 ) |
- 名前:時雨 日時:2016/05/27 20:54
いったん削除ですか・・・
この際隠さずにボタン無効化にしたいと思います。(DeleteMenuItemAllを実行するとウインドウ位置が初期位置に戻ってしまうため)
そこで、DX.SetMenuItemEnable_ID(ID,DX.FALSE)関数を使用して無効化しているのですが
無効化されている項目をクリックすると画面の描画が止まってしまいます。
これは正常な挙動なのでしょうか。何度も申し訳ないですが回答のほどよろしくお願いします。
|
Re: 描画結果が消える ( No.9 ) |
- 名前:時雨(解決) 日時:2016/05/27 22:14
お騒がせしました。
DX.SetMultiThreadFlag(DX.TRUE);を実行し
別スレッドで
while (true)
{
if (DX.ProcessMessage() == -1)
{
Environment.Exit(0); // エラーが起きたら終了
}
}
とすることで解決しました。
|
Re: 描画結果が消える ( No.10 ) |
- 名前:管理人 日時:2016/05/29 02:21
|
Re: 描画結果が消える ( No.11 ) |
- 名前:時雨(解決) 日時:2016/05/29 19:35
初期位置に戻るのはバグだったのですか。
てっきり仕様だったのかと。改善を確認しました。
メニューを再構築 or 削除する 関数を追加して動画再生時は削除するようにしようとおもいます。
ありがとうございました。
|