- ベストアンサー
文字数に合わせて、コントロールの幅を設定する方法
こんにちわ 例えば、TextBox に FontSize = 9 で "ABC" の文字列が入っているとします。 この時 TextBox の幅をこの "ABC" の幅に自動的に調整しようと考えています。 良い方法ご存知の方いらっしゃいましたらよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じ Private Sub Command1_Click() Text1.Width = Me.TextWidth(Text1.Text & " ") Text1.SelStart = 0 End Sub Private Sub Command2_Click() Label1.AutoSize = True Label1.Caption = Text1.Text & " " Text1.Width = Label1.Width Text1.SelStart = 0 End Sub
その他の回答 (1)
- taknt
- ベストアンサー率19% (1556/7783)
回答No.1
TextBox.width=len(TextBox.text)*TextBox.FontSize DoEvents こんな感じで いいと思います。
質問者
お礼
せっかく回答して頂いたのですが、これでは NG ですね。 Font.Sizeで表されるポイントは 1 インチ (25.4mm) の 1/72 で、これに twips と言う単位で実際の長さを算出していました。 ただ、これだと誤差が出てしまうのか、正確な長さが取得できないのです。 と言う事で質問させて頂いていました。
お礼
回答有り難うございました。 この方法で問題解決です。 特に Label の AutoSize を使う方法は面白いですね。 また何か有りましたらよろしくお願い致します。