■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#21951-0Textboxでのカーソルの非表示まさあき2001-07-24(火) 15:51
     #21953-0RE#21951:Textboxでのカーソルの非表示よねKEN2001-07-24(火) 16:49
     #21965-0RE#21953:Textboxでのカーソルの非表示まさあき2001-07-24(火) 21:30
     #21966-0RE#21965:Textboxでのカーソルの非表示トモ@あゆあゆ2001-07-24(火) 22:16
     #21967-0RE#21965:Textboxでのカーソルの非表示藤代千尋2001-07-24(火) 22:44
     #21968-0RE#21966:Textboxでのカーソルの非表示よねKEN2001-07-24(火) 23:06
     #21970-0RE#21968:Textboxでのカーソルの非表示まさあき2001-07-25(水) 01:19
#21951-0
Textboxでのカーソルの非表示
TXETBOXで入力などの点灯しているカーソルを消したいのですが、どうすればよいのでしょうか。
SetFocusを使い入力できる状態にしているのですが。
よろしくお願いします。
#21953-0
RE#21951:Textboxでのカーソルの非表示
> TXETBOXで入力などの点灯しているカーソルを消したいのですが、どうすればよいのでしょうか。
> SetFocusを使い入力できる状態にしているのですが。
> よろしくお願いします。

なにゆえに、カーソルを消したいのでしょう?
カーソルがないと現在の入力位置がわからないので、
ユーザが混乱すること必至ですが(^^;;

どうしてもやるなら、標準機能にそういうものはありませんので、
APIのHideCaretあたりでできると思います。(使ったことはありません)

↓HideCaretのリファレンス
http://www.microsoft.com/japan/developer/library/jpuipf/_win32_hidecaret.htm
#21965-0
RE#21953:Textboxでのカーソルの非表示
有難うございました。
一度チャレンジしてみます。

なぜカーソルを消したいのかというと、Win附属の電卓のようにカーソルなしで
入力ができ見栄えのいいアプリケーションを作りたかったからです。

> なにゆえに、カーソルを消したいのでしょう?
> カーソルがないと現在の入力位置がわからないので、
> ユーザが混乱すること必至ですが(^^;;
> 
> どうしてもやるなら、標準機能にそういうものはありませんので、
> APIのHideCaretあたりでできると思います。(使ったことはありません)
> 
> ↓HideCaretのリファレンス
> http://www.microsoft.com/japan/developer/library/jpuipf/_win32_hidecaret.htm
#21966-0
RE#21965:Textboxでのカーソルの非表示
> なぜカーソルを消したいのかというと、Win附属の電卓のようにカーソルなしで
> 入力ができ見栄えのいいアプリケーションを作りたかったからです。
うー、あの電卓のテキストボックスは偽テキストボックスです。
ウィンドウクラス名で言うと「Static」つまりVBでいう「Labelコントロール」です。
たぶん、LabelコントロールのBorderStyleプロパティを「1 - 実線」にして
BackColorプロパティを「&H00FFFFFF&」あたりにすれば同じように見えます。

あたりまえですけど入力はできません。
Windowsの電卓も実は直接入力はできていません。(単にボタンが対応してるだけ)

> > どうしてもやるなら、標準機能にそういうものはありませんので、
> > APIのHideCaretあたりでできると思います。(使ったことはありません)
#試してみたけど…うまくいかなかったり。(^_^;)
#21967-0
RE#21965:Textboxでのカーソルの非表示
> なぜカーソルを消したいのかというと、Win附属の電卓のようにカーソルなしで
> 入力ができ見栄えのいいアプリケーションを作りたかったからです。

あれはラベルでしょう。(^_^;) または、ロックしたテキストボックス。

入力できるように見えますが、キー入力を取得して、それを文字に変換して、
表示させているだけだと思います。

#キー入力の取得は、KeyPreview = True としたフォームの Form_KeyDown 
 イベントで。キーそれぞれに対応したボタンの Value = True とすることで、
 キー入力でボタンを押したことにしていると思います。
#21968-0
RE#21966:Textboxでのカーソルの非表示
> > > どうしてもやるなら、標準機能にそういうものはありませんので、
> > > APIのHideCaretあたりでできると思います。(使ったことはありません)
> #試してみたけど…うまくいかなかったり。(^_^;)

あ、ほんとですね。今、試してみました。
>>指定されたウィンドウがキャレットを所有するときにだけ
という文面からして、フォーカスを持っている間しか駄目なのは駄目のようですが、
文字を入力してもキャレットがでてきますね。
DestoryCaretをやっても、入力をするとキャレットが再び表示される辺りからすると
入力のたびにCreateCaretで新規に作成して、ShowCaretで表示しているのでしょうか?

ということで、この案はボツですね。
ラベルを使って下さい。
#21970-0
RE#21968:Textboxでのカーソルの非表示
皆さんいろいろありがとうございました。

ラベルで処理するなど、いろいろなアイデアがあるんですね。

勉強になりました。

また、宜しくお願いします。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)