Skip to content

ダイアログ

Reputeless edited this page Mar 14, 2017 · 4 revisions

色を選択する

# include <Siv3D.hpp>

void Main()
{
	Color color = Palette::White;

	Graphics::SetBackground(color);

	while (System::Update())
	{
		if (Input::KeyC.clicked)
		{
			// カラーダイアログを開いて、色を選択させる
			// キャンセルされた場合は引数の color を返す
			color = Dialog::GetColor(color);

			Graphics::SetBackground(color);
		}
	}
}

テクスチャを開く

# include <Siv3D.hpp>

void Main()
{
	// ダイアログで選択した画像ファイルからテクスチャを作成する
	const Texture texture = Dialog::OpenTexture();

	while (System::Update())
	{
		texture.draw();
	}
}

サウンドを開く

# include <Siv3D.hpp>

void Main()
{
	// ダイアログで選択した音楽ファイルからサウンドを作成する
	const Sound sound = Dialog::OpenSound();

	sound.play();

	while (System::Update())
	{

	}
}

オープンする画像ファイルのパスを取得する

# include <Siv3D.hpp>

void Main()
{
	while (System::Update())
	{
		if (Input::KeyO.clicked)
		{
			// ダイアログで画像ファイルが選択されたら
			if (const auto open = Dialog::GetOpenImage())
			{
				// ファイルのパス
				Println(open.value());
			}
		}
	}
}

名前を付けて画像を保存する

# include <Siv3D.hpp>

void Main()
{
	// 青で塗りつぶしたイメージを作成
	const Image image(100, 100, Palette::Blue);

	while (System::Update())
	{
		if (Input::KeyS.clicked)
		{
			// ダイアログで保存するファイル名が入力されたら
			if (const auto save = Dialog::GetSaveImage())
			{
				// ファイルパス
				const FilePath filepath = save.value();

				// 指定したファイルパスに画像を保存
				image.save(filepath);
			}
		}
	}
}

ファイルダイアログに表示するファイルの拡張子をカスタマイズする

# include <Siv3D.hpp>

void Main()
{
	while (System::Update())
	{
		if (Input::Key1.clicked)
		{
			// txt, ini, csv
			if (const auto open = Dialog::GetOpen({ ExtensionFilter::Text, ExtensionFilter::INI, ExtensionFilter::CSV }))
			{
				Println(open.value());
			}
		}

		if (Input::Key2.clicked)
		{
			// html/htm
			if (const auto open = Dialog::GetOpen({ { L"HTML ファイル (*.html;*.htm)", L"*.html;*.htm" } }))
			{
				Println(open.value());
			}
		}

		if (Input::Key3.clicked)
		{
			// 独自の拡張子 .aaa
			if (const auto open = Dialog::GetOpen({ { L"説明 (*.aaa)", L"*.aaa" } }))
			{
				Println(open.value());
			}
		}
	}
}

フォルダを選択する

# include <Siv3D.hpp>

void Main()
{
	while (System::Update())
	{
		if (Input::KeyF.clicked)
		{
			// ダイアログでフォルダが選択されたら
			if (const auto folder = Dialog::GetFolder())
			{
				// フォルダ名
				Println(folder.value());
			}
		}
	}
}

フォントを選択する

# include <Siv3D.hpp>

void Main()
{
	// 選択されなかった場合のデフォルトのフォントを Meiryo, 16 にする
	const FontProperty fontProperty = Dialog::GetFont(FontProperty(L"Meiryo", 16));

	const Font font(fontProperty.size, fontProperty.name, fontProperty.style);

	while (System::Update())
	{
		font(L"Siv3D Engine").draw();
	}
}

← 前の章へ戻る | - 目次 - | 次の章へ進む →

Siv3D について

  1. Siv3D の基本
  2. 図形を描く
  3. テクスチャを描く
  4. テキストを描く
  5. 文字列と数値の変換
  6. キーボード入力
  7. マウス入力
  8. サウンドの再生
  9. MIDI の再生
  10. ウィンドウと背景
  11. 図形のあたり判定
  12. 乱数
  13. ダイアログ
  14. ドラッグ & ドロップ
  15. アプリの状態
  16. テキストファイル
  17. INI, CSV, JSON
  18. バイナリファイル
  19. GUI
  20. アセット管理
  21. 画像編集
  22. Web カメラ
  23. マイク入力
  24. 経過時間の測定
  25. HSV カラー
  26. ファイルダウンロード
  27. 3D 描画
  28. 2D のレンダーステート
  29. 3D のレンダーステート
  30. パーティクル
  31. スクリーンショット
  32. アプリケーションの公開
  33. さらに学ぶには

表現テクニック集

入出力デバイス

開発のヒント

Clone this wiki locally