2

カスタム ダイアログ Control Edit で属性パスワードを「yes」に設定して使用する場合

<Control Id="TextBoxPass" Type="Edit" Password="yes" Property="SQLPASSWORD">

Windows Server 2012 では、テキスト ボックスに 2 つのフレームがあります。他のバージョンの Windows Server (2008、2008R2、2003) では、通常のテキスト ボックスのように見えます。この動作を変更するにはどうすればよいですか? (つまり、二重フレームを削除します)

2012年のパスワードテキストボックスの二重フレーム

4

1 に答える 1

2

簡単な答え: 私の知る限り、この動作を変更することはできません。

長い答え: Microsoft Spy++ を実行して両方のコントロールを検索すると、通常の編集のクラスはRichEdit20Wであるのに対し、パスワードのクラスは であることがわかりますEdit

次に、ウィンドウ スタイルを調べると、WS_BORDER. これが国境の犯人です。WiX と MSI では、コントロールのウィンドウ スタイルをコーディングする方法がないため、この問題の解決策はないと思います。

さらに、一部のスタイル (ES_PASSWORD など) は、Orca を使用Attributesして table の列を編集して変更できますControl。解決策は、両方の編集をパスワードとして設定し、ビルド後にAttributesパスワード以外のコントロールの設定を手動で編集することです196611

このプロセスを自動化したい場合は、MSI API を使用してパッケージに対してクエリを実行し、値を変更するアプリケーションをコーディングできると思います。

実際の例を次に示します。

2 つの編集コントロール (1 つは ES_PASSWORD スタイルなし)。

于 2015-05-28T18:00:48.950 に答える