2017-04-18 6 views
0

WIX Toolsetを使用して、インストーラ(.msi)を作成しています。プロダクトキーは、16文字の英数字の値を4文字のペアで受け取り、お互いに-で区切っています。 0000-0000-0000-0000次のコードでMaskedEditコントロールを使用しています。Windowsインストーラで英数字の値のみを受け入れるようにMaskedEditコントロールを設定する方法は?

<Control Id="Key" Type="MaskedEdit" X="75" Y="84" Width="252" Height="15" Property="ProductKey" > 
     <Text><![CDATA[<&&&&-&&&&-&&&&-&&&&>]]></Text> 
    </Control> 

enter image description here

なお、上記の画像のように画面上に描画します。しかし、ユーザーが特殊文字を入力するのを妨げるものではありません。 受け付ける文字の範囲を英数字のみに制限するにはどうすればよいですか?私はthis article on MaskedEditを手に入れましたが、それらの使い方を理解できません(alternateの意味)。^を入力して、大文字で入力するにはどうすればいいですか?)

答えて

1

一見これは不可能です。

"代替"の意味は次のとおりです。独自のカスタムアクションを記述することができます。このカスタムアクションでは、^と一致するものとは異なる&に一致する文字を処理します。ユーザーがMaskedEditで文字を入力すると、&と^が同じように動作します。しかし、ユーザーがボタンを押した後、カスタムアクションは、そのままの場所にあるすべての文字を大文字にすることがあります。&の文字はそのままです。

入力文字列に英数字以外の文字が含まれていることを検出するカスタムアクションを記述できます。ユーザーがボタンを押すと、入力が無効であることをユーザーに警告します。

+0

あなたは私に '^'の使用例を教えてください。 – goyaltushar92

+0

これは、約2ページの長さのCAを書く必要があります。 – dvorn

+0

これは、 '^'、 '?'などの重要な使用はありません。私たちがCAですべてのことをしなければならない時は、そうですか? – goyaltushar92

関連する問題