TextBox内の文字を上下左右の中央辺りに表示させたいのですが、
Alignmentを"2-中央揃え"にしても、左右の中央になるだけです。
上下の中央に配置させるにはどのようにしたら良いのでしょうか?
+---------+
+
+---------+
環境はVB6です。
よろしくお願いします。
すいません。
書いてる途中で送信してしまいました。
イメージとしては、下のような感じです。
よろしくお願いします。
+------------+
| |
| |
| ○ |
| |
| |
+------------+
Border を None にして、Border は自分で描画するとか。
コマンドボタンは上下も中央揃えなので、これを枠を隠して表示するという
手もあり得ますね。
枠だけ合って中身がないダミーのLabelの手前に
FrameをBorderStyle=0, Enabled = False, Caption="" にして配置
で、Frameその中にボタンの枠がFrame空は乱すようにして
TabStop=FalseにしたCommandButtonを入れる。
枠が不要ならダミーのLabel自体不要です。
うまく伝わらないかもしれないのでサンプルのフォーム定義を付けておきます
−−−−−−−−−−−ここから−−−−−−−−−−−−−−
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3195
ClientLeft = 60
ClientTop = 345
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3195
ScaleWidth = 4680
StartUpPosition = 3 'Windows の既定値
Begin VB.Frame Frame1
BorderStyle = 0 'なし
Enabled = 0 'False
Height = 1800
Left = 780
TabIndex = 1
Top = 780
Width = 1800
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 1920
Left = -60
TabIndex = 2
TabStop = 0 'False
Top = -60
Width = 1920
End
End
Begin VB.Label Label1
BorderStyle = 1 '実線
Height = 1920
Left = 720
TabIndex = 0
Top = 720
Width = 1920
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
−−−−−−−−−−−ここまで−−−−−−−−−−−−−−
上下を中央にそろえるLabelと勘違いしていました。すいません。
テキストボックスとなると枠を自力で書くかそういう機能のあるコントロールを探してくるしか方法が思いつきません
下記ではどうですか?
http://www.bcap.co.jp/hanafusa/VBHLP/textali.htm
じゃんぬねっとさん、ひろさん回答ありがとうございました。
枠は自力で書くことにしました。
花ちゃんさんありがとうございます。
発言が重なってしまったようで、解決にチェックしてしまいました・・・
今から対応してみます。
解決になった後で書くのもなんですが、
1行1列のFlexGridを用意してCellAlignmentをflexAlignCenterCenter
にする手もあり得ますね。見た目がちょっと違う雰囲気になりますが。
ツイート | ![]() |