ウィンドウの一番上に青いバー(タイトルバー?)があります。
ウィンドウの一番右上にはコントロールボックスがあります。
これらをプログラム実行時に押したまま(押した瞬間)にしていると、
プログラムの実行が中断されてしまいます。
例:タイマーでLabelのcaptionを1ずつ増加させていく処理
最大化ボタンを押しっぱなしにしていると、その間は
値が増加しないなど。
回避方法はあるのでしょうか。
それってまずいんですか?
そんなことする人まずいないと思うんですが(笑)
原始的な方法ですが、処理をしている時は
コントロールボックスを無効にしたら如何でしょう。
止まっては困る処理をCreateThreadを使って別スレッドで実行させると
一応は止まりませんがそこまでしてやる価値があるかは疑問です。
(デバッグが困難になるので・・・)
>止まっては困る処理をCreateThreadを使って別スレッドで実行させると
VBがスレッドセーフかと言われると若干の疑問が・・・。(^_^;
Query_Unloadのじゃだめなのかな?
コントロールボックスを消して自分でコマンドボタンを作って、
終了や最大化の代わりにする方法もあります。
フォントをMarlettに設定すればそれらしくなります。
> VBがスレッドセーフかと言われると若干の疑問が・・・。(^_^;
生成したスレッドでコントロールをいじると何かおかしな動作します。
なので、今回のようにキャプションをいじるとなると
結構危険かもしれませんね・・・。
タイトルバーを自分で描画するのも確かに1つの手ではあると思います。
でも、そっちの方がもっと面倒そう・・・。
タイトルバーってグラデーションとか入るし・・・。
そういうのを作っている人にお願いしたら、
ちょちょいっと作ってくれるかもしれませんよ?
グラデーションタイトルバーとか、グラデーションメニューバーとかなら、
結構よく見かけるし…。
いまだに起きているわたし…。
ツイート | ![]() |