StatusBarでの2行表示

解決


maunaloa  2009-05-07 17:09:16  No: 141906  IP: 192.*.*.*

いつもお世話になります。

StatusBarに長文を表示したいのですが、
2行表示はできないのでしょうか。

方法をご存知の方がいらっしゃいましたら、
教えてくださると助かります。

編集 削除
りり  2009-05-08 11:49:41  No: 141907  IP: 192.*.*.*

それっぽく見せる方法でよければ・・・
statusbarのpanelは使いません。
ネタ程度と思ってみてください。


VB6です(環境は書いてくださいね)

API定義
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

ダイアログに
textboxとframeとstatusbar各コントロールを配置(位置は適当で可)
textboxはmultilineに設定してframeに載せておきます。


Private Sub Form_Load()
    StatusBar1.Height = 500  ' この辺は調整
    StatusBar1.Style = sbrSimple
    Call SetParent(Frame1.hWnd, StatusBar1.hWnd)

    With Frame1
    .Caption = ""
    .Enabled = False
    .Top = 40  ' この辺は微調整
    .Left = 10  ' この辺は微調整
    .Height = StatusBar1.Height - (.Top * 2)
    .Width = 800  ' サイズ変更時に可変にする必要有り

    Text1.Top = .Top
    Text1.Left = .Left
    Text1.Height = .Height
    Text1.Width = .Width - 20  ' サイズ変更時に可変にする必要有り

    Text1.BackColor = &H8000000F
    Text1.Locked = True
    Text1.Appearance = 0
    Text1.BorderStyle = 0

    Text1.Text = "ABCDEF" & vbCrLf & "12345"
    End With
    
End Sub

statusbarを区切りたい場合やサイズ変更の時の
工夫が少し必要になります。

編集 削除
maunaloa  2009-05-08 13:06:24  No: 141908  IP: 192.*.*.*

りりさんありがとうございます!
教えていただいた方法で工夫してやってみます。

編集 削除