tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルテキストボックス文字追加
記事No13309
投稿日: 2008/12/26(Fri) 15:25
投稿者VB歴6~7年目
いつもお世話になります。
os:vista 開発言語:vb6.0

コンボボックスから数字を選択して、テキストボックスに追加しながら
貼り付けたいのですが、数が膨大のためできれば&の関数を使わずに文字を追加
したいです。ぜんぜん分かりませんので教えてくださいお願いします。

[ツリー表示へ]
タイトルRe: テキストボックス文字追加
記事No13310
投稿日: 2008/12/26(Fri) 18:10
投稿者
> 数が膨大のためできれば&の関数を使わずに文字を追加したいです。

”& を一切使わない”という制限でないのであれば
For Each 〜 Next でコンボボックスコントロールのみを順に参照するとか
コンボボックスコントロールを配列化させておいて
For 〜 Next で順に参照するとか。

[ツリー表示へ]
タイトルRe: テキストボックス文字追加
記事No13311
投稿日: 2008/12/26(Fri) 18:31
投稿者魔界の仮面弁士
> 数が膨大のためできれば&の関数を使わずに

“& の演算子を使いたくない”というのは、もしかして、
「Text1.Text = Text1.Text & strNewText」の方法だと、
データ量が多いと処理時間がかかってしまうから、でしょうか?

もしそうならば、Text プロパティの代わりに、SelText プロパティを
使ってみては如何でしょう。


Public Sub AppendText(ByVal target As TextBox, ByVal newText As String, _
  Optional addNewLine As Boolean = False)
    target.SelStart = Len(target.Text)
    If addNewLine Then
        target.SelText = vbNewLine & newText
    Else
        target.SelText = newText
    End If
End Sub


あるいは、“数が膨大”というのは、コントロールの数が多いということを
指しているのでしょうか? であれば、コントロールの Index プロパティを設定して、
「コントロール配列」としてループ処理すれば良いかと思います。

[ツリー表示へ]
タイトルRe: テキストボックス文字追加
記事No13312
投稿日: 2008/12/26(Fri) 20:04
投稿者VB歴6~7年目
琴さん魔界さん、助言ありがとうございました。
textselのメソッドで問題は解決しました。
また分からないときは教えてください。

[ツリー表示へ]
タイトルRe^2: テキストボックス文字追加
記事No13313
投稿日: 2008/12/27(Sat) 11:10
投稿者魔界の仮面弁士
> textselのメソッドで問題は解決しました。

「textsel メソッド」というのは、もしかして、
「SelText プロパティ」の事でしょうか?

[ツリー表示へ]
タイトルRe^3: テキストボックス文字追加
記事No13314
投稿日: 2008/12/27(Sat) 15:53
投稿者VB歴6~7年目
すいません書き間違えでした。
SelTextです。
コントロールに付くから正しくはプロパティなんですね。
ご指摘ありがとうございました。

[ツリー表示へ]
タイトルRe^4: テキストボックス文字追加
記事No13315
投稿日: 2008/12/28(Sun) 05:57
投稿者かさのば
>コントロールに付くから正しくはプロパティなんですね
6〜7年もやってるなら、いい加減プロパティとメソッドの区別くらい
ちゃんと理解しましょう。
http://msdn.microsoft.com/ja-jp/library/a67b72ea.aspx

[ツリー表示へ]