• 締切済み

MFCのウィンドウサイズ変更について

いつもお世話になっております。 WindowsXP、vc++6.0のMFCを利用してダイアログベースのアプリを作成しています。 作成したアプリのウィンドウにはエディットボックスが貼り付けてありますが エディットボックスの文字列が長くなると全ての文字が見えなくなります。 エディットボックスの横幅を最初から極端に長くするといいかもしれませんが、 できる限りウィンドウサイズはコンパクトに作りたいので、ウィンドウサイズを ユーザーで変更できるようにし、合わせてエディットボックスも引っ張られるようにしたいです。 ※拙い文章だと思うので、下の方にやりたいことのイメージ図を書きました。 解決方法や参考サイトなど知っておられましたら教えて頂けないでしょうか。 よろしくお願いします。 ※イメージ図 アプリ起動時 ┌───────────┐ │Title              │ ├───────────┤ │┌────────┐  │ ││EditBox       │  │ │└────────┘  │ └───────────┘    ↓ 横サイズ変更(EditBoxの横幅もウィンドウサイズに引っ張られて伸びる) ┌────────────────┐ │Title                     │ ├────────────────┤ │┌─────────────┐  │ ││EditBox               │  │ │└─────────────┘  │ └────────────────┘

みんなの回答

  • LHS07
  • ベストアンサー率22% (510/2221)
回答No.1

Enterキーを押さなくても入力する文字幅に応じて自動的に長くするのですか?

djsato_t
質問者

お礼

自己解決しました。 閲覧して頂きありがとうございました。

djsato_t
質問者

補足

説明不測で申し訳ありません。 入力する文字幅に応じて自動的に長くなるのではなく 例えるならインターネットブラウザのアドレスバーのようにしたいです。 ブラウザの横幅を極端に縮めるとアドレスバーに入力されている文字は見えなくなる。 横幅を広げれば文字は全て見えるようになる(文字列の長さによりますけど)

関連するQ&A

  • MFCのキャプション変更

    はじめまして。 環境はVC++6.0 XPです。 MFCでのあるプログラムの中で CWnd* pWnd = GetDlgItem( IDC );//EditBox pWnd->SetWindowText( hoge); SetWindowText( hoge );//hogeは文字列が入った変数 というコードがあるのですが、 このhogeの中にはハングル文字(韓国語)が入っていており、エディットボックスにはちゃんと韓国語が入っているのですが、ウィンドウのタイトルバーには?が入っていてちゃんと表示されていません。 どうすれば表示できるのか教えてください。

  • 親ウィンドウの領域外でも表示されるエディットボックスについて

    親ウィンドウの領域外でも表示されるエディットボックスについて VisualStudio2005でMFCアプリを作っています。 親ウィンドウに指定したコントロールの領域外でも 表示されるようなエディットボックスを作りたいのですが、方法はありますか? イメージとしては、ダイアログ上にボタンがあって、 そのボタンを押すとエディットコントロールが表示され、入力待ちとなるようなものです。 このエディットには改行を入力させるのですが、改行してウィンドウサイズを大きくしていくと、 ダイアログの下の端でエディットボックスが途切れてしまいます。 ダイアログの下より大きくなっても全体が表示されるようにしたいんです。 このエディットの生成は次のような感じで行っています。 DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_AUTOHSCROLL | ES_MULTILINE | ES_WANTRETURN; m_edit.Create(dwStyle, rect, this/*ダイアログ*/, -1); よろしくお願いします。

  • リソースエディタでスタティックテキストの文字サイズの変更

     VisualStudio を使っています。  リソースエディタで、作成したダイアログ・ボックス中に貼り付けた、 スタティックテキスト(Static Text)の文字サイズの変更を個別にしたいのです。  ダイアログのプロパティには、フォントとサイズを変更できるようになっていますが、個々のスタティックテキストには、ありません。  どうすれば、一番良いのでしょうか?  教えてください。  よろしくお願いします。  

  • MFC:リッチエディットからUnicode文字列を受け取りたい

    MFCのダイアログベースでプロジェクトを作成 ↓ プロジェクトのプロパティで「マルチバイト文字セットを使用する」を「Unicode文字セットを使用する」に変更 ↓ エディットボックスとリッチエディット2.0を適当に配置 ↓ エディットボックスとリッチエディット2.0それぞれにコントロール変数を追加 ↓ InitInstance()内に AfxInitRichEdit2(); を追加 ↓ あとは適当なところでエディットボックスとリッチエディット2.0それぞれにGetWindowText関数を使って、記入内容を取得します。     すると、エディットボックスではUnicodeの文字を入れても文字化けしないのに対し、リッチエディット2.0では文字化けしてしまいます。 例えば“Å”の半角文字を(Unicode紹介サイトからコピペする等して)入力すると、エディットボックスではそのまま“Å”なのに、リッチエディット2.0では“A”になります。   ※入力している段階では“Å”と表示されています。GetWindowText関数で取得すると“A”になってしまいます。     リッチエディット2.0からUnicode文字を正常に受け取れる方法はありませんでしょうか。

  • ボタンの表示の色、フォントを変更したい

    VC++でプログラミングしています。 MFCのダイアログベースのEXEを造っています。 ダイアログにはボタンとエディットボックスを貼り付けています。 私がやりたいのは以下のことです。 ・ボタンの色を設定したい ・ボタン、エディットボックスに表示する文字の色を設定したい ・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい プロパティでサイズ変更すると全体に反映されてしまうので、個々の コントロールについて制御したいと思っています。 ヘルプで調べて、それらしい関数を見つけるのですが使い方がわかりません。 VCを始めたばかりで、クラスの理解がまだ浅いです。。。 関数の説明は理解できても、「じゃあ、コードはどう書くの?」という状態です。 「○○ は ×× のメンバではありません」と、よく怒られてます。。。 識者の方、ご教授願います。 コードがどうなるのか知りたいので、簡単なサンプルコードがあると助かります。 また、質問ではないのですが、「この関数は○○をする」というのではなく、 「○○をするにはこの関数を使う」という様に調べられる、お勧めの書籍、 Webなどがありましたら教えてください。 今後の勉強に役立てたいと思っています。

  • VC++2010 ボタンなどのレイアウト大きさ変更

    VC++2010のMFCで現在開発しているんですが、 ボタン、スタティックテキスト、エディットボックスの文字の大きさを変更したいんですが どのようにすればいいかわかりません。よろしくお願いします。 またステータスバーに色を付けたいんですがどのようにすれば色を付けることができますか? よろしくお願いします。

  • MFCのドラッグ&ドロップについて

    閲覧して頂きありがとうございます。 現在、WindowsXPでvc++6.0のMFC(ダイアログベース)を利用してダイアログを作り エディットボックスに入力されたファイルパスを利用して指定のファイルを 開く簡単なアプリを作ろうとしています。 そこでダイアログのエディットボックスの部分にファイルをドラッグ&ドロップすると エディットボックスにドロップされたファイルのパスを表示させようとしていますが、中々できません。 状況としては、グループボックスの中にエディットボックスを作成し、 グループボックスを右クリック→プロパティ→ドラッグドロップを許可 をすることによりグループボックスにドロップの許可を与えることはできていますが ドロップのイベントを拾うことができておりません。 ※参考サイトなどをみると「WM_DROPFILES」というハンドラがあるみたいなのですが  どこにも見当たらないです。。。 何か不明な点などあれば補足させて頂きますので、よろしくお願いします。

  • Terapadのウインドウサイズ

    HPをTerapadで編集作成しています。 84桁で折り返しにして(1行42文字)、そのサイズに合った横幅のウインドウサイズにしています。 いったん終了して再度開くと、ウインドウサイズの横幅が倍ぐらいに広がってしまい、いちいちカーソルで縮めなければならず、面倒でなりません。 今まで使っていた17インチのアナログモニタではこういうことはありませんでしたが、23インチのワイドモニタにしたらこういう状態になりました。 Terapadの表示やウインドウ設定を見ても、ウインドウサイズを固定する機能がありません。 対処法があればご教授下さい。

  • エディットボックスの処理で画面がちらつきます。

    VC++ 6.0 Win32APIにてダイアログベースのプログラムを作成しております。 ダイアログに18個のエディットボックスを配置しておりますが、そのエディットボックスのテキストを SetDlgItemText()を使って全て空欄にすると(第3引数に””を指定)画面がちらつきます。 同ダイアログ内のリストコントロールがダブルクリックされた際のイベントを拾ってエディットボックスクリアの処理を実行しているのですが、ちらつきを抑える手法はありますでしょうか?

  • MFC・ダイアログベースで、ダイアログの変更内容が反映されない・・・

    初めて質問させていただきます。よろしくお願いします。 当方、VisualStdio2005内のC++2005で、 ダイアログベースにてツールを開発していました。 ある日、ダイアログ上に多くのEditコントロールを作成(追加)することになり、 ダイアログリソースをVC内のリソースエディタにて、 テキスト形式でコントロールを追加していきました。 そのときは、テキストでの変更内容がダイアログにも反映されていたのですが、 その後はダイアログにツールボックスでのコントロールの追加やサイズ変更など、 見た目には反映されてもビルド後に反映されなくなってしまいました。 クリーン後のリビルドでも、問題は解決しません。 原因と対策をご存知の方、いらっしゃいましたらご教授いただけませんでしょうか。 よろしくお願いします。

専門家に質問してみよう