• ベストアンサー

クライアント領域を指定してウィンドウを作る

CreateWindowを使って、ウィンドウを作るとタイトルバーや、外枠の大きさが含まれた値でウィンドウが生成されますよね。 そこを生成するウィンドウのクライアント領域の大きさを指定して生成したいのですが、なにか良い方法はないでしょうか?? 開発環境はvisualC.net & SDK です。

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

  • ベストアンサー
  • jmh
  • ベストアンサー率23% (71/304)
回答No.1

とりあえず作っといてクライアント領域を測ってリサイズではダメなんですよね? では、GetSystemMetrics() で周りの余分な部分の幅・高さを測るのはどうでしょう?

albrex
質問者

お礼

回答ありがとうございます。 GetSystemMetricsでウィンドウの枠とタイトルバーを計算して クライアント領域でウィンドウを作れました。

その他の回答 (1)

  • kmb01
  • ベストアンサー率45% (63/138)
回答No.2

AdjustWindowRect AdjustWindowRectEx というAPIがあります。

albrex
質問者

お礼

回答ありがとうございます。 APIにもいろいろあるのですね。 まだまだ勉強不足のようです。

関連するQ&A

  • SDIのクライアント領域に子ウィンドウを生成するには?

    環境 Win98 VC++6.0 MFCにて http://www.kumei.ne.jp/c_lang/sdk/sdk_50.htm ↑のように、SDIにてクライアント領域に子ウィンドウを生成するには、MFCの場合どうすれば良いのでしょうか? いつも質問ばかりで申し訳ありません。 ご存知の方お願いいたします。

  • windowsでのコンパイラの指定

    macにて下記の指定でコンパイル可能なのですが、 windowsにてコンパイルできず困っています。 -std=c++11 -stdlib=libc++ 環境はwindows8でwindows SDK 7.1をいれています。 windowsでの開発環境がよくわかっていないのですが、 上記の指定はwindowsではどうなるのでしょうか? よろしくお願い致します。

  • クライアントPCからサーバーへのアクセスする場合のURL指定について

    Eclipseを使用してwebアプリケーションを開発しています。 開発環境はクライアントOS:winXP Eclipse2.1.3 Tomcat4.1 J2SDK1.4です。 本番環境のサーバーOSはwin2000です。 開発を一通り終えて、本番サーバー側の設定および、モジュール(warファイル)コピーも完了しました。 確認のため、クライアントからサーバーへアクセスしようとしていますが、画面が表示されません。 開発時には http://localhost:8080/webアプリケーション開発ディレクトリ を指定することにより画面確認できました。 「localhost:8080」の指定を変更すればよいと考えていますが、この考えでよいでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • XPではタイトルバーが無いウィンドウは作成できないのですか?

    以前、98でアプリを作成していたときは CreateWindow関数でWS_POPUP指定でタイトルバーが 無いウィンドウを作れていたのですが、XPで同様に WS_POPUP指定するとウィドウが生成されません。 参考書のサンプルプログラムの通りに記述しても 駄目でした。 これは仕様でしょうか? どうすればタイトルバーが無いウィンドウが作成できるのでしょうか? コンパイラはBorland C++ Compilerを使っています。 なお、ウィンドウは実行されなくても、プロセスは 動き続けている事がタスクマネージャから確認できました。

  • ウインドウ位置の自動移動の解除

    winXP VS2005 MFC SDI クライアント領域をクリックしてウインドウの移動を出来るようにしたのですが、 クライアント領域をクリックしながらウインドウを移動し、 ウインドウのタイトルバーがデスクトップ外に出た状態で 移動をやめる(マウスのクリックをやめる)とウインドウが自動で タイトルバーが表示されるところまで移動してしまいます。 (マウスを放した位置で止まってくれない) この自動的な動きを止める方法をよろしくお願いします。

  • 連続した領域への書き出し

    Windows XP + SDKで開発を行っています。 ハードディスクへファイルを書き出すときに 強制的に連続した領域に書き出すことは可能でしょうか? ディスク上でファイルが分割されてアクセス速度が低下するのを 避けたいのです。 宜しくお願いします。

  • Windows CE用のアプリケーションを開発することになりました。

    Windows CE用のアプリケーションを開発することになりました。 ベンダ提供のSDKを使用せずに、開発やデバッグを行う方法が分からず困っております。 開発環境としては、 ・Windowas XP SP3 ・VisualStudio 2010(言語はC#) 以上です。 ネットでも資料を色々探していますが、 開発環境については知識が少ないので難航しています。 ご教示よろしくお願いします。

  • クライアントの環境変数値を得る。

    よろしくお願いします。 web上からCGIを実行したときに そのCGIを実行したクライアントの環境変数値を得ることは可能でしょうか? システム環境変数の「HOME」や「TEMP」の指定先を得たいのですが。 クライアント端末はWindows2000 or XP です。 webサーバー・・・HP-UX web・・・IE CGI開発言語・・・Perl もしくは csh 開発端末・・・windows2000(Tera Term 使用)

    • ベストアンサー
    • CGI
  • Windows SDK for Windows VistaのDL

    Windows SDK for Windows VistaのDL Windowsプログラムで新たにSDKをDLしなくてはならなくなったのですが どこからDLすればいいのでしょうか? Windows SDKの日本語版をインストールしたいのですが、なかなか辿りつけません。 どこかにDLできるURLがあるはずなんですが、どこにあるのでしょうか? プログラムをビルドすると 「Show.CPP」と「Image.CPP」と「Music.CPP」がないとエラーメッセージが出る (.h系も)ので上記のSDKをDLすることになりました。 開発環境はVS2003.NETです。(OS XP 32bit)

  • ウィンドウを全画面にするには?

    アプリのウィンドウを全画面 (タイトルバーとかウィンドウの枠もない、表示領域だけの全画面) にするにはどうしたらよいでしょうか? 大きくしたり移動したりして全画面っぽくしようとしても、 上の方にほんの少しタイトルバーが見えたり、わずかに枠が見えてしまったりするのですが・・・ なにか良い方法か、ツールがあったら教えてください。

専門家に質問してみよう