tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル GetForcus,LostForcusが同時に動いたり、動かなかったりで困っています
投稿日: 2008/03/03(Mon) 11:20
投稿者やーむー
やーむーと申します。
初めて投稿させていただきます。

タイトルの現象について原因の調査していますが、
行き詰まってしまいました。
分かる方がいらっしゃればご教授願いただけないでしょうか。

【環境】
Windows2000
VB6.0 SP6
コムラッド FD4

【やりたいこと】
 日付入力用のテキストフィールドで表示時と入力時で表示を変更したい。
 入力時:20080303
 表示時;2008/03/03

【不具合現象】
 テキストフィールドに対してフォーカスのIn/Outを高速(手動で行える程度)で
 繰り返すと入力した値が壊れます。

【現在の実装イメージ】
 【ゲットフォーカス】
  入力桁数が10文字の場合("/"で編集されている場合)は以下の処理を行う。
   テキストフィールドの日付から"/"を削除して表示する。
   数字以外の文字を入力不可に設定する。(コムラッドのプロパティで設定)
   入力最大桁数を8桁に設定する
   例:2008/03/03 → 20080303
  入力桁数が10文字以外の場合は何も処理しません。

 【ロストフォーカス】
  全桁(8文字)入力されていた場合は以下の処理を行う。
   全ての文字を入力可能に設定する。(コムラッドのプロパティで設定)
   入力最大桁数を10桁に設定する
   テキストフィールドの日付を"/"区切りで表示する。
   例:20080303 → 2008/03/03
  全桁(8桁)入力されていない場合は何も処理しません。

私の認識ではVB6.0はマルチスレッド的な動作はしないはずなのですが、
ログを入れて調査した結果では同時に動くパターンや、
ロストフォーカスのイベントが動かず、ゲットフォーカスのイベントのみ
連続で動くパターンなどがありました。

よろしくお願いします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。