<p><em>⚠⚠⚠ 注意！：この記事はUnicode対応する前のDelphiが対象です。⚠⚠⚠</em></p>
<p>TEditのCharCaseプロパティ、AnsiUpperCase/AnsiLowerCase についてDBCSはその処理の対象外であると思いこんでいたが、的がはずれて結構時間を費やしてしまったので備忘録としてまとめておく。<br />ちなみに、MBCS(DBCS)対応でSBCSのアルファベット(ASCII)部分のみ変換する関数は、<em>Ansi～FileName</em>関数であった。<br />TEditのCharCaseプロパティには、そのような動作を指定できる値がないため、別途KeyPressなどで処理をする必要がある</p>
<pre class="brush:delphi" title="小文字&rarr;大文字変換">procedure TfrmXXXXX.InplaceEditorKeyPress(Sender: TObject; var Key: Char);
begin
  // 小文字&rarr;大文字変換例
  if Key in ['a'..'z'] then Key := Char(Ord(Key)-$20);
end;
</pre>