none
Visual C++ 2013 C++/CLI ウィンドウの初期位置設定ができません RRS feed

  • 質問

  • H25年11月28日

    Visual C++ 2013 C++/CLI ウィンドウの初期位置設定ができません

    プログラムを起動したときのウィンドウの位置を、思うような位置に設定したいのですが、うまくいきません。

    フォームのデザイン画面で、フォームのプロパティLocation」の「X」と「Y」を設定したのですが、設定通りの位置にウィンドウが表示されません。

    (ウィンドウのサイズは、「サイズ」プロパティを設定して、うまくいきました。)

    当方は、C++/CLIの初心者です。どのような情報でも結構ですので、教えていただければ幸いです。

    当方で行った操作は以下の通りです。

    http://y-okamoto-psy1949.la.coocan.jp/booksetc/introvcpp/vs2012FormApp/を参考にしました。)

    1.      新規プロジェクトの作成

    (1)テンプレート:「CLR」→「空のプロジェクト」

    (2)プロジェクト名:「test1

    (3)Visual C++」→「UI」→「Windowsフォーム Visual C++

    (4)「プロジェクト」→「新しい項目の追加」

    (5)Visual C++」→「コード」→「C++ファイル(.cpp)」

    2.コードの追加

    Source.cpp」に以下のコードを追加しました。

    #include        "MyForm.h"              // フォームのファイル

    using namespace test1;          // プロジェクト名がフォームの名前空間になっている

    [STAThreadAttribute]            // STAモードの設定

    int main()

    {

    MyForm ^fm = gcnew MyForm();  // フォームのファイル名が参照クラス型名として用いられている。

    fm->ShowDialog();             // フォームの表示。表示したフォームが閉じられるまで関数の実行中となる。

    return 0;

    }

    3.当方の環境

    (1)Visual Studio Professional 2013 Version 12.0.21005.1 REL

          .NET Framework Version 4.5.51641

    (2)Windows 8.1 Professional

    以上、よろしくお願いします。

    2013年11月27日 23:14

回答

すべての返信

  • Form::StartPositionプロパティをManualに指定しない限りLocationの値は無視されます。

    ちなみに MyForm^ までが型名なので^をfm側にくっつけるのはお勧めできません。(この場合の^は演算子ではありません。)

    • 回答の候補に設定 星 睦美 2013年11月28日 4:03
    • 回答としてマーク fghck854 2013年11月28日 8:46
    2013年11月28日 0:13
  • 佐祐理 様

    早速のご回答ありがとうございます。また、C++/CLIの文法まで教えていただき感謝いたします。

    ご指摘の通り、フォームのデザイナー画面で「StartPosition」プロパティを「Manual」にしたところ、「Location」が有効になりました。ありがとうございました。

    2013年11月28日 3:11