「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@55) [緊急] [解決]
@55■ (#145) Windows Vista上での実行をより確実な物にする - area (2008-10-09 01:58) /高 未処理
Windows Vista上でDWM実行可能環境にて利用できる
"Aero"スタイルを正式にサポートし、最新OSでの
最新技術を利用したプログラミングへ対応
およびコントロール消失問題の解消
【再現方法】API
//なでしこソース(問題あり)
母艦の背景色は黒色。
a=「0{~}0{~}0{~}0」
DwmExtendFrameIntoClientArea((母艦のハンドル),a)
●DwmExtendFrameIntoClientArea(hWnd,int) =DLL("DwmApi.dll",
"HRESULT DwmExtendFrameIntoClientArea(      
    HWND hWnd,
    POINTER,
)")
#これにて一応Aeroは利用出来ますが、数多くの問題が発生します。
//
Vista上ではコントロールがAltキーなどをクリックした際に
見えなくなるという問題が発生します。
この問題に関してはhttp://cc.codegear.com/item/24282のFixにより
修正出来るかと思います。
【要望】
このAPIを利用すれば、とりあえずAeroスタイル化することは出来ますが
DLLにて利用可能な配列を作成したり、DWMを適用したフォーム上にて
黒色がすべて透明色になってしまう(GDI+を利用することで回避が可能なようです)
などの多くの問題があり、ユーザー側では対応がしにくいと思われるので
今回要望として提案させて頂きました。

もし実装できるのであれば
//
DWM利用可能チェック
もし、それ=はいならば
 母艦のハンドルをAeroスタイル切り替え
//
などのような感じで書ければ良いかなと思っています。

また、Vista環境でのコントロール消失
(実際はマウスカーソルを消失したコントロールに乗せれば復帰しますが)
はアプリケーションとして致命的な事だと思われますので
こちらの方は確実に解決していただけたらなと思っています

【バージョン】1.5071
【その他】もし実現不可能であれば、一声かけてくだされば幸いです
重要度が高なのはコントロール消失の問題でAeroスタイルについては
重要度:低です

(#200) Vistaのグラスフレーム - クジラ飛行机 (2008-10-15 09:33) /中 調査中
Vistaのグラスフレームに関する不具合ですね。
試してみると確かに、コントロールが正しく表示されませんね。
文字の色を変えるとなんとか文字が見えるようになりましたので、黒色が透過される問題でしょうか。

{{{
母艦の背景色は黒色。
a=「0{~}0{~}0{~}0」
DwmExtendFrameIntoClientArea((母艦のハンドル),a)
●DwmExtendFrameIntoClientArea(hWnd,int) =DLL(\"DwmApi.dll\",
\"HRESULT DwmExtendFrameIntoClientArea(      
    HWND hWnd,
    POINTER,
)\")
文字色=赤色
OKボタンとはボタン。
OKボタンの文字色=赤色
AAAラベルとはラベル。
その文字色は赤色
「いろは」と表示
}}}

Vistaのグラスフレームは、まだまだ使われることは少ないと思いますので、
すみませんが、一旦重要度を下げさせてください。

(#201) メモ - クジラ飛行机 (2008-10-15 10:06) /中 調査中

(#213) Aeroではなくて・・・ - area (2008-10-17 14:05) /緊急 調査中
Aeroグラスの件は了解しました。

Aeroグラスのほうでは、黒色の文字がすべて透過されるという
問題がありましたが、これは現在のVista側の仕様のようで、
それを回避するにはまた別の方法をとる必要がありそうです。


ですが、Aeroグラスを利用しないでもVista上でコントロールが
消えてしまう問題が発生します。

例:
Alt キーを押す前のウィンドウ http://areat.a.orn.jp/leak_alt.png
Alt キーを押した後のウィンドウ http://areat.a.orn.jp/leak_alt2.png

このように、ボタンなどの一部のコントロールが
消失してしまいます。

この問題はexe化したなでしこ上で発生しています。

この件に関しては、重要かと思いますので
再度優先度を上げさせて貰います、お手数かけてすみません。

(#232) 原因を調査 - クジラ飛行机 (2008-10-25 15:55) /緊急 調査中
私もVistaを使っていますが、alt キーで
部品が消えたことはありません。

Vistaのグラスフレームの関連でしょうか?
修正方法&再現方法など細かく調査します。

お気づきの点があれば、教えてください。

(#243) 修正 - クジラ飛行机 (2008-10-31 10:45) /緊急 解決
- Windows Vista でウィンドウを切り替えた時、Alt キーを押した時などにGUI部品が消える症状に対処。(r27)(@55)

システムキーが押されたら、強制的に再描画するようにすることで一応対応。
この辺りは、Delphi7の限界かも。。。
次のバージョンアップで対応します。

(#145)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能