- ベストアンサー
フォームのキャプションのフォント
1、VB6のウーザーフォームでInputBOXのようなものを作り、このフォームのキャプションの所にタイトルを表示しています。この、フォントが変えられるないものでしょうか。 2、また、このフォームを呼び出して、テキストボックスに入力してから呼び出しもとに戻り、そのテキストボックスのテキストを読み出してみると、呼び出し前の値しか読み出せません。 いずれも別の方法で対処していますが、上記の方法で出来ないものでしょうか。宜しくお願いします。
- みんなの回答 (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
お礼
回答ありがとうございました。出かけていてお礼が遅くなりました。 VBは超初心者ですので、1が出来るのかどうかが分からず、あれこれやっていましたので、大変助かる情報でした。 2については、十分理解出来ていないですが、引数で値を渡し、関数値で受け取るというのことでしょうか。私も超簡単なプログラムですが、同様の方法でやっていますので、参考になりました。なお、質問の趣旨は、結果を関数値や引数で受け取らないで、別のフォーム上のテキストボックスなどの値を読めるかということでした。これは愚問でした(最初の自作プログラムの単純ミスで読めなかっただけでした)。お手数をおかけしました。