[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/12/05(Mon) 16:10
投稿者名:あやめ
URL :
タイトル:
大文字指定
VB6で 
TEXT1.TEXT からストリング を入力するとき
IMEStatus 関数で 全角半角の指定がプログラム上からできますが、
大文字、小文字の指定は どのような関数にて行うのでしょうか?
Keyコード関数などあるのでしょうか?
宜しくお願いします。

投稿時間:2005/12/05(Mon) 16:38
投稿者名:いな
Eメール:
URL :
タイトル:
Re: 大文字指定
> Keyコード関数などあるのでしょうか?

Keyコードで判別することも出来ますが、
LCase、UCase等で、強制的にどちらかに、変換してしまうのも一つの手段です。

投稿時間:2005/12/05(Mon) 16:57
投稿者名:あやめ
URL :
タイトル:
Re^2: 大文字指定
> > Keyコード関数などあるのでしょうか?
>
> Keyコードで判別することも出来ますが、
> LCase、UCase等で、強制的にどちらかに、変換してしまうのも一つの手段です。

いな 様 ありがとうございます。

TEXT1.TEXT の _Click イベント内で
TEXT1.TEXT = StrConv(TEXT1.TEXT String,vbUpperCase)
で 変換してTEXT1.TEXT に 表示すると 
当然またイベントが発生してしまい、その繰り返しでオーバーフローになりました。

オペレータが入力した文字を場所を変えずその位置で
大文字に表示したいと考えています。

IMEmode 関数のようにあらかじめ入力モードを制限したいのですが。
Text1.IMEMode = 2  '半角指定
すみません、宜しくお願いします。

投稿時間:2005/12/05(Mon) 17:46
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 大文字指定
下記では。
Private Sub Text1_Change()
    Text1.SelStart = Len(Text1.Text)
    Text1.Text = UCase(Text1.Text)
End Sub


>TEXT1.TEXT の _Click イベント内で
>TEXT1.TEXT = StrConv(TEXT1.TEXT String,vbUpperCase)
>で 変換してTEXT1.TEXT に 表示すると 
>当然またイベントが発生してしまい、その繰り返しでオーバーフローになりました。

コードが間違っているのは別として、オーバーフローにはなりませんよ。
(繰り返す事はありませんよ)
他に原因があるかと思います。(他に何か処理していませんか)
Private Sub Text1_Click()
    Text1.Text = StrConv(Text1.Text, vbUpperCase)
End Sub

投稿時間:2005/12/06(Tue) 11:31
投稿者名:あやめ
URL :
タイトル:
Re^4: 大文字指定
花ちゃん 様 ありがとうございました。

   Text1.SelStart = Len(Text1.Text)
     Text1.Text = UCase(Text1.Text)

ねらいどおり動きました。
また、下記もご指摘どおりうごきました。2行目が悪さしてました。

      ttt = StrConv(ttt, vbUpperCase)
            'Text1.Text = ""
           Text1.Text = ttt

教えていただいた
      Text1.SelStart = Len(Text1.Text)
は、どういう命令でしょうか?

よろしくお願いします。







> 下記では。
> Private Sub Text1_Change()
>     Text1.SelStart = Len(Text1.Text)
>     Text1.Text = UCase(Text1.Text)
> End Sub
>
>
> >TEXT1.TEXT の _Click イベント内で
> >TEXT1.TEXT = StrConv(TEXT1.TEXT String,vbUpperCase)
> >で 変換してTEXT1.TEXT に 表示すると 
> >当然またイベントが発生してしまい、その繰り返しでオーバーフローになりました。
>
> コードが間違っているのは別として、オーバーフローにはなりませんよ。
> (繰り返す事はありませんよ)
> 他に原因があるかと思います。(他に何か処理していませんか)
> Private Sub Text1_Click()
>     Text1.Text = StrConv(Text1.Text, vbUpperCase)
> End Sub

投稿時間:2005/12/06(Tue) 11:38
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: 大文字指定
>       Text1.SelStart = Len(Text1.Text)
> は、どういう命令でしょうか?

'Text1.SelStart = Len(Text1.Text) のようにして動かして見れば解ります。
又は SelStart の部分にカーソルを当てて F1 キーを押して見て下さい。

投稿時間:2005/12/06(Tue) 11:48
投稿者名:あやめ
URL :
タイトル:
Re^6: 大文字指定
花ちゃん様

理解しました。ありがとうございました。
また、先ほどの 私の方法ですと 右詰になりました。


> >       Text1.SelStart = Len(Text1.Text)
> > は、どういう命令でしょうか?
>
> 'Text1.SelStart = Len(Text1.Text) のようにして動かして見れば解ります。
> 又は SelStart の部分にカーソルを当てて F1 キーを押して見て下さい。

投稿時間:2005/12/07(Wed) 09:55
投稿者名:matsu
Eメール:
URL :
タイトル:
Re^7: 大文字指定
こういう方法もあります。

Private Sub Text1_KeyPress(KeyAscii As Integer)
    KeyAscii = Asc(StrConv(Chr(KeyAscii), vbUpperCase))
End Sub

上の例では、入力時に常に大文字になります。

投稿時間:2005/12/07(Wed) 10:06
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^8: 大文字指定
> 上の例では、入力時に常に大文字になります。
でも、貼り付け(ペースト)られたら....。

投稿時間:2005/12/07(Wed) 11:30
投稿者名:matsu
Eメール:
URL :
タイトル:
Re^9: 大文字指定
> でも、貼り付け(ペースト)られたら....。

今回は、入力するときとあったので、KeyPressイベントでもいけると思ったのですが。
目的次第ですね。