OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

テキストBOXについて

  • すぐに回答を!
  • 質問No.168417
  • 閲覧数487
  • ありがとう数6
  • 気になる数0
  • 回答数11
  • コメント数0

お礼率 35% (35/99)

フォーム上にテキストボックスを配置して実行すると
カーソル(入力するための)がきて点滅してしまいます。

そうしなくていい方法はあるのでしょうか?
通報する
  • 回答数11
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.10
レベル12

ベストアンサー率 65% (276/422)

>その時にひとつも選択されていなくて コマンドボタンを押すとエラーメッセージボックス

ロード時にコマンドボタンのEnable=Flaseにしておいて、オプションボタンのクリックイベントが発生したら、コマンドボタンのEnable=Trueにした方が単純だと思いますが・・・・

言われた通りの仕様であるならば・・・
オプションボタンはコントロール配列ですか?
もし違うなら、オプションボタンをコントロール配列にしておくと便利です。。。
オプションボタンの名前を全て同じにしておいてIndexに違う番号を割り当てると、コントロール配列が作成されます。

オプションボタン名=Option1

Private Sub Command1_Click()
  Dim opBtn    As OptionButton
  Dim blnWork   As Boolean
  Dim getIndex  As Integer
  
  '各オプションボタンが選択されたかをチェック
  For Each opBtn In Option1
    If opBtn Then
      blnWork = True
      getIndex = opBtn.Index
      Exit For
    End If
  Next opBtn
  
  If blnWork Then
    MsgBox "[" & Option1(getIndex).Caption & "] が選択されました"
  Else
    MsgBox "だめー"
  End If
End Sub
-PR-
-PR-

その他の回答 (全10件)

  • 回答No.4
レベル12

ベストアンサー率 65% (276/422)

追記です BorderStyle=1(実線)にすると、なおごまかせます。。。 ...続きを読む
追記です
BorderStyle=1(実線)にすると、なおごまかせます。。。
お礼コメント
sakky_t

お礼率 35% (35/99)

ありがとうございます。
そういう使い方もあったんですねぇ。
投稿日時 - 2001-11-14 11:54:25


  • 回答No.3
レベル12

ベストアンサー率 65% (276/422)

それなら、テキストボックスではなく、ラベルを使用してみては? BackColorを白にするだけで、テキストみたいに見えますよ。
それなら、テキストボックスではなく、ラベルを使用してみては?
BackColorを白にするだけで、テキストみたいに見えますよ。
  • 回答No.2
レベル12

ベストアンサー率 65% (276/422)

カーソルを非表示にする方法なら知ってるのですが・・・ カーソルは表示してあって、点滅させないって事ですよね? ...続きを読む
カーソルを非表示にする方法なら知ってるのですが・・・
カーソルは表示してあって、点滅させないって事ですよね?
補足コメント
sakky_t

お礼率 35% (35/99)

すみません、説明不足でした・・・。

え~っとカーソル非表示ではなく
そこにイベントというか何と言うか・・・

そのテキストボックスにはとある処理をして値だけを表示したいので、
実行する側としては絶対に触らせたくないです。

これでわかりますか??
投稿日時 - 2001-11-14 11:18:16
  • 回答No.1
レベル11

ベストアンサー率 23% (108/457)

テキストボックス、オプションボタン、チャックボックス、ボタン、等の配置の場合、配置した順序でカーソルの 位置が決まってきます。テキストボックスとは別に、カーソルを設定したい場合は、SetFocusメソッドを使ってフォーカスを設定すると、はじめのカーソルのフォーカス位置が自由に設定できます。 ...続きを読む
テキストボックス、オプションボタン、チャックボックス、ボタン、等の配置の場合、配置した順序でカーソルの
位置が決まってきます。テキストボックスとは別に、カーソルを設定したい場合は、SetFocusメソッドを使ってフォーカスを設定すると、はじめのカーソルのフォーカス位置が自由に設定できます。
補足コメント
sakky_t

お礼率 35% (35/99)

>テキストボックス、オプションボタン、チャックボックス、ボタン、等の配置の場合、配置した順序でカーソルの 位置が決まってきます。

これは知りませんでした・・・。

あと、オプションボタンを3つ配置しているのですが
たしかに実行すると1番最初に配置したオプションボタンに
カーソルが選択されています。

どのオプションボタンにもカーソルを選択させたくない場合は
どのように設定すればよいですか??
投稿日時 - 2001-11-14 11:19:40
  • 回答No.5
レベル12

ベストアンサー率 65% (276/422)

>どのオプションボタンにもカーソルを選択させたくない場合は どのように設定すればよいですか?? 方法は二つあります。 1.フォームの使用不可 Me.Enabled=False 2.フォームの内容をピクチャボックスに貼り付け、ピクチャボックスをフォームの中に最前面にする。ユーザー側には全てのコントロールが見えるけど、実際には各コントロールの描かれたピクチャボックスが表示されているわけで ...続きを読む
>どのオプションボタンにもカーソルを選択させたくない場合は どのように設定すればよいですか??

方法は二つあります。
1.フォームの使用不可
Me.Enabled=False

2.フォームの内容をピクチャボックスに貼り付け、ピクチャボックスをフォームの中に最前面にする。ユーザー側には全てのコントロールが見えるけど、実際には各コントロールの描かれたピクチャボックスが表示されているわけです。
補足コメント
sakky_t

お礼率 35% (35/99)

オプションボタンは3つあって
どれかひとつを選んで次のフォームにいきたいんです。

最初そのオプションボタンがあるフォームがLoadされ
どれも選択されていなくて、ひとつを選択し
コマンドボタンで次のフォームに移りたいんです。

その時にひとつも選択されていなくて
コマンドボタンを押すとエラーメッセージボックス
を出すようにしたんです・・・。
投稿日時 - 2001-11-14 12:33:56
  • 回答No.6
レベル11

ベストアンサー率 23% (108/457)

配置した順番については、プロパティのTabIndexの番号順にフォーカスが移動しますので、それに注意すればいいと思います。 オプションボタンのフォーカスの未指定については、 option.value = false を指定します。 初期画面の場合は、Private Sub Form_Activate() 内で指定すればいいです。 サンプルの画面でいろいろ試してみたりしてがんばってください。 ...続きを読む
配置した順番については、プロパティのTabIndexの番号順にフォーカスが移動しますので、それに注意すればいいと思います。
オプションボタンのフォーカスの未指定については、
option.value = false を指定します。
初期画面の場合は、Private Sub Form_Activate()
内で指定すればいいです。
サンプルの画面でいろいろ試してみたりしてがんばってください。
お礼コメント
sakky_t

お礼率 35% (35/99)

ありがとうございました。
いろいろと試してみたいと思います。
投稿日時 - 2001-11-15 11:38:54
  • 回答No.9
レベル12

ベストアンサー率 65% (276/422)

訂正です。 「yanmaa」さんの発言 >さらにTAGOSAKU7さん >~~~~~~ >注意して下さい。 確かにそうですね。。。 Me.Enableの操作は危険でしたね。。。 m(__)m #7なら大丈夫ですよね?
訂正です。

「yanmaa」さんの発言
>さらにTAGOSAKU7さん
>~~~~~~
>注意して下さい。

確かにそうですね。。。
Me.Enableの操作は危険でしたね。。。
m(__)m

#7なら大丈夫ですよね?
  • 回答No.8
レベル12

ベストアンサー率 45% (207/457)

テキストボックスのプロパティ「Locked」を「True」にするとユーザはキー入力が不可能になります。但し、マウスカーソルの表示はされます。 あとは「KeyPress」のイベントで「KeyAscii」の値を「0」にするとキー入力をキャンセルできます。 なお値を出すだけならばラベルを使う方が良いでしょう。 さらにTAGOSAKU7さんの「Me.Enabled=False」はフォームに対してする ...続きを読む
テキストボックスのプロパティ「Locked」を「True」にするとユーザはキー入力が不可能になります。但し、マウスカーソルの表示はされます。
あとは「KeyPress」のイベントで「KeyAscii」の値を「0」にするとキー入力をキャンセルできます。

なお値を出すだけならばラベルを使う方が良いでしょう。

さらにTAGOSAKU7さんの「Me.Enabled=False」はフォームに対してすると全てのイベントが取れなくなってしまうので、通常あるイベント中に他のイベントを発生させない為に使うのが本来の使い方ですので
Sub 関数orイベント
Me.Enabled=False
処理
Me.Enabled=True
End Sub
と使うのが一般的
そうしないと「閉じる」ボタンすら聞かなくなって停止できないので注意して下さい。

さらに補足
各オブジェクトの「TabIndex」のプロパティ値を変えるとタブキーを押した時のオブジェクトをフォーカス順序を変えれます。0~順に制御(空き番はOK)これが初期のフォーカスにもなりますが、通常SetFocusメソッドを使ってフォーカスを設定します。

但し、SetFocusはEnabled=Trueの時だけ有効です。

がんばってください。
お礼コメント
sakky_t

お礼率 35% (35/99)

丁寧にありがとうございました。
初めて知ったこといろいろありましたが
とりあえず、みなさんがアドバイスしてくださったことを
いろいろと試してみたいと思います。

がんばります!!
投稿日時 - 2001-11-15 11:37:20
  • 回答No.7
レベル12

ベストアンサー率 65% (276/422)

もっと簡単な方法がありました。 以下の手順でフォームのデザイン変更を行うと、各コントロールは使用不可になります。 1.フォームにピクチャボックス(Picture1)を作成 2.フォーカスを当てたくない各コントロールをピクチャボックスに貼り付ける (既存のフォームに存在する各コントロールを、SHIFTキーを押しながら選択して切り取りを実行、Picture1をクリックして貼り付け) ...続きを読む
もっと簡単な方法がありました。

以下の手順でフォームのデザイン変更を行うと、各コントロールは使用不可になります。

1.フォームにピクチャボックス(Picture1)を作成


2.フォーカスを当てたくない各コントロールをピクチャボックスに貼り付ける
(既存のフォームに存在する各コントロールを、SHIFTキーを押しながら選択して切り取りを実行、Picture1をクリックして貼り付け)
この時フォーム内に閉じるコマンドボタンがある時は、それはPicture1に貼り付けないでください。

3.Picture1.Enabled = False
とするのです。

4.各コマンドボタンを右クリックで最前面へ移動を選択

5.Picture1のサイズをフォームのサイズにあわせる


以上の手順です。
この方法は、書くコントロールの親をフォームからピクチャボックスに変更し、その親を使用不可にする事により、コントロールの無効を制御できます。
  • 回答No.11
レベル12

ベストアンサー率 65% (276/422)

またまた追記です。(最近書き忘れが多い・・・) 親になるピクチャボックスのプロパティを With .Picture1   .Appearance = 0 '平面   .BorderStyle = 0 'なし   .BackColor = &H8000000F 'ここはフォームのバックカラー   .AutoRedraw = True End With ...続きを読む
またまた追記です。(最近書き忘れが多い・・・)

親になるピクチャボックスのプロパティを
With .Picture1
  .Appearance = 0 '平面
  .BorderStyle = 0 'なし
  .BackColor = &H8000000F 'ここはフォームのバックカラー
  .AutoRedraw = True
End With
とすると、ピクチャボックスがフォームと同化します。
お礼コメント
sakky_t

お礼率 35% (35/99)

いろいろと丁寧にありがとうございました。
初めて知ったこといろいろありましたが
とりあえず、みなさんがアドバイスしてくださったことを
いろいろと試してみたいと思います。
投稿日時 - 2001-11-15 11:35:52
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ