• ベストアンサー

フォームのキャプションのフォント

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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

yharapan
質問者

お礼

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

関連するQ&A

  • ユーザーフォームのキャプションに中国語を表示したい

    VBAのユーザーフォームのキャプション(タイトル)に中国語を表示する方法が分かりません。 VBEではコードに中国語の簡体字を入力できないので、ワークシートに中国語を入力しておいて、それをキャプションに表示させたいです。 ラベルのTextやコマンドボタンのCaptionにはこの方法で簡体字を表示できるのですが、ユーザーフォームのCaptionでは?に置換されてしまいます。

  • accessのレポート上のフォント

    いつもお世話になっております。 さて、accessのフォーム上の入力値によってひとつのテキストボックスのフォントをvbaで変更する事は可能なのでしょうか? 例) フォーム上のテキストボックス1の値が ・1の場合 レポート上のテキストボックス1のフォント→MS明朝 ・2の場合 レポート上のテキストボックス1のフォント→MSゴシック、太字 のような事をやりたいのです。 また上記ができればその方向で、代案としてはレポート上にテキストボックスを2つ重ねてvisbleで表示を分けるのが一番いいかな、と思うのですが、何分数が多いため躊躇しております。 他に考えられるいい案はございますでしょうか? よろしくお願いいたします。

  • VB2005 アクティブフォームのキャプション(タイトル)取得について

    お世話になります。 VB2005(.net)にて、アクティブフォームのキャプションを取得したいのですが可能でしょうか? VB6.0では下記方法にて取得しておりました。 Screen.ActiveForm.Caption ご教授よろしくお願いいたします。

  • 【VBA】ユーザーフォームから、シート上のテキストボックスを操作

    ユーザーフォームで入力した値を、シート上にあるテキストボックスに入力させたいのですが、 どのように記述すればいいのでしょうか?(ボタンで操作) またおなじくテキストボックスの大きさ、フォントの大きさ、などを操作するにはどのようにしたらいいですか?

  • ムービーメーカーのキャプション

    デジカメでビデオを撮って、ムービーメーカーで編集しています。 Windows-XPの時にはできたのに、Windows-7になったらできなくなって困っている機能がいくつかあります。 ムービーにタイトルやキャプションを入れるのですが、以下のことができません。 やり方をご存じの方がいましたら教えてください。 1.タイトルは1つしか入れられない? タイトルを挿入するとテキストボックスが表示されて文字が書けますが、たとえば、1行目に大きな文字でタイトルを書き、2行目に小さな文字で日付やサブタイトルなどを書きたいのですが、テキストボックスが1つしか作れず、すべて同じ文字しか選択できません。 XPの時は、複数のテキストブックスを入れて、文字の種類や大きさを変えられましたよね? 7用のムービーメーカーではどうやってやるのでしょうか? 2.最後に入れるキャプションは、時間をオーバーできない? ムービーの終わりにキャプションで出演者や場所などを入れるのですが、XPの時は時間をオーバーさせて入れらえましたが、7ではできないようです。 つまり、ムービーが5分間あったとして、4分50秒からキャプションを入れ始めて5分10秒まで入れたいのですが、ムービーの長さである5分0秒より長くはできないでしょうか? 3.キャプションの開始と終了 XPの時は、キャプションを開始する方法と終了する方法(フェードインとフェードアウト、カットインとフェードアウトなど)を選択できたのですが、7では、開始方法しか選択できないのですか? 投稿日時 - 2012-03-21 10:20:39

  • [VB6.0]フォーム上に配置したコントロールのフォントサイズが変えられない

    はじめまして。 VB6.0のアプリケーションウィザードを使用してフォームをいくつか作りました。 ウィザード終了後、これらのフォーム上に配置されたラベルなどのfontプロパティ を操作してフォントサイズを変えたいのです。フォームのデザイン上はフォントサ イズを変えることが出来るのですが、実行すると、"コントロールのfontプロパティ のfontサイズ"ではなく、"フォームのfontプロパティのfontサイズ"で統一されて しまいます。つまり、コントロール毎の値は無視されて、フォームの値で統一され てしまうのです。 exe形式にコンパイルしても同じでした。どこかしらのプロパティをいじるのだと 思うのですが、どなたかわかる方はいらっしゃいますか? よろしくお願いします。 (環境)Windows98SE+VB6.0+SP5.0

  • Access フォームからの検索について

    初歩的な質問で申し訳ありませんが教えて下さい。 Access2000を使っています。 フォームに作ったテキストボックスに、入力した値又は文字と、特定のフィールドと比較し一致した場合にそのレコードをフォームに表示する方法はないでしょうか? いろいろと、web上のQ&Aなども見ましたが、思った動作をしませでした。 考えているのは、   ・テキストボックスにある値を入力し、『Enter』を押すとテキストボックスに入力した値と特定のフィールドと一致したレコードをフォームに表示 ・一致しない場合はメッセージボックスで一致しない旨を表示 です。 ・完全一致のみ表示 VBAでの動作を考えていますが、合わせて他の方法があれば教示頂ければと思います。 以上、お手数をお掛け致しますがよろしくお願い致します。

  • 入力フォームの値が変化したらSubmit

    たとえばVBでのイベント Sub TextBox1_Change() のように、入力フォームのテキストボックスの値が変化したらSubmitあるいは、それをトリガとしてPHPの処理を開始させることは可能でしょうか。

    • ベストアンサー
    • PHP
  • Accessで、フォームAからダイアログモードで立ち上げたフォームBを開き、フォームBを閉じた時にフォームA側でマクロを実行したい

    タイトルのままなのですが、 フォームA(メインとなる画面)と フォームB(コードの検索画面)があり、 フォームAからフォームBをダイアログモードで開いている状態から、 フォームBを閉じたときに、フォームA側でマクロを実行したいと思っています。 具体的には、フォームAにコード入力用のテキストボックスがあり、コード検索のためにフォームBを立ち上げ、コードを選択した後フォームAのテキストボックスにそのコードを入れて、そのコードの値を元にフォームAにあるコンボボックスの再クエリを行いたいのです。 コンボボックスの再クエリの方法等は理解しているのですが、 上記のような場合に、どのイベントがキックされるのかが分かりません。 どのようにすれば(どのイベントを選んでマクロを指定すれば)適切に実行できるでしょうか。

  • XPでフォントサイズが変更出来ない

    環境は WinXPにVB6をインストール フォームエディタ上で テキストボックスでもラベルでもなんでもいいんで フォントを変更するために FONTプロパティの所をクリックすると 10分ほど置いておくと表示されるんですが フォントを変更するサブウインドウが表示されません 原因が全然分からず 同じような状況になった方 や対策法がありましたら 回答お願いします

専門家に質問してみよう