電子書籍の厳選無料作品が豊富!

1、VB6のウーザーフォームでInputBOXのようなものを作り、このフォームのキャプションの所にタイトルを表示しています。この、フォントが変えられるないものでしょうか。
2、また、このフォームを呼び出して、テキストボックスに入力してから呼び出しもとに戻り、そのテキストボックスのテキストを読み出してみると、呼び出し前の値しか読み出せません。
いずれも別の方法で対処していますが、上記の方法で出来ないものでしょうか。宜しくお願いします。

A 回答 (1件)

1について。


ウィンドウタイトルバーのフォントはOS設定で決められているので個別に変更することはできません。非クライアント領域を無理やり書き換える方法はありますが、茨の道になるでしょう。ウィンドウ枠のデザインを自作したほうが早いです。

2について。
どのようなコードを書いているのか分からないので答えようがありません。なので「私ならこうする」というコードを参考に挙げておきますね。

[Form2] InputBox風ダイアログ(コントロール配置は画像参照)
Option Explicit

Private intResult As VbMsgBoxResult

' Owner ... オーナーウィンドウ
' Text ... ダイアログメッセージ
' Caption ... ウィンドウキャプション
' DefaultValue ... 既定値
' 戻り値 OKなら入力値、その他は既定値
Public Function ShowDialog(ByVal Owner As Form, ByVal Text As String, ByVal Caption As String, ByVal DefaultValue As String) As String
intResult = vbCancel
Me.Caption = Caption
Me.Label1.Caption = Text
Me.Text1.Text = DefaultValue

Me.Show vbModal, Owner

If intResult = vbOK Then ShowDialog = Me.Text1.Text Else ShowDialog = DefaultValue
End Function

Private Sub Command1_Click()
intResult = vbOK
Me.Hide
End Sub

Private Sub Command2_Click()
Me.Hide
End Sub

[Form1] Form2の使用例
Option Explicit

Private Sub Command1_Click()
Dim frmInput As New Form2
Dim strInput As String
strInput = "Default"
strInput = frmInput.ShowDialog(Me, "メッセージ", "ほげ", strInput)
Unload frmInput
MsgBox strInput
End Sub
「フォームのキャプションのフォント」の回答画像1
    • good
    • 0
この回答へのお礼

回答ありがとうございました。出かけていてお礼が遅くなりました。
VBは超初心者ですので、1が出来るのかどうかが分からず、あれこれやっていましたので、大変助かる情報でした。
2については、十分理解出来ていないですが、引数で値を渡し、関数値で受け取るというのことでしょうか。私も超簡単なプログラムですが、同様の方法でやっていますので、参考になりました。なお、質問の趣旨は、結果を関数値や引数で受け取らないで、別のフォーム上のテキストボックスなどの値を読めるかということでした。これは愚問でした(最初の自作プログラムの単純ミスで読めなかっただけでした)。お手数をおかけしました。

お礼日時:2009/09/15 02:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!