KeyInputNumber関数の入力の位置を示す棒の点滅がしたい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
sadora3
記事: 175
登録日時: 11年前

KeyInputNumber関数の入力の位置を示す棒の点滅がしたい

#1

投稿記事 by sadora3 » 8年前

タイトルにある通り、DXライブラリの関数の一つであるKeyInputNumber関数の入力の位置を示す棒の点滅がしたいのですが、可能でしょうか?
「入力の位置を示す棒」というのは、
| ← こんな感じの奴です。

それと、なぜSetKeyInputStringColor関数はこんなにも引数が多いのでしょうか?
最初みたときはビックリしました。
それに記述も下のプログラムのようにCがめちゃくちゃ並んで、少し違和感が出てしまいます。
KeyInputNumber関数の入力文字の色を黒くしたいだけなのですが、SetKeyInputStringColor関数を使うのしか方法はないのでしょうか・・・。

OS:Windows7 32bit
コンパイラ:VisualStudio2010
言語:C
ライブラリ:DXライブラリ

コード:

#include"DxLib.h"

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
	int C = GetColor(255,255,255);
	int TEST;
	ChangeWindowMode(TRUE);
	DxLib_Init();

	DrawBox(270, 190, 370, 290, GetColor(255,255,255), TRUE);
	SetKeyInputStringColor(GetColor(0,0,0),GetColor(0,0,0),C,C,C,C,C,C,C,C,C,C,C,C,C,C,C);
	TEST = KeyInputNumber(270 ,190, 100 ,1, FALSE);

	DxLib_End();
	return  0;
}

だんごさん
記事: 273
登録日時: 12年前

Re: KeyInputNumber関数の入力の位置を示す棒の点滅がしたい

#2

投稿記事 by だんごさん » 8年前

試してませんがSetKeyInputCursorBrinkFlag関数で点滅はできませんか?
SetKeyInputStringColor2でDX_KEYINPSTRCOLOR_NORMAL_STRを指定し色を指定すると入力文字の色が変えられます。
非公式APIがありますのでDxLibの中身を見てみてください。
 Dango San

sadora3
記事: 175
登録日時: 11年前

Re: KeyInputNumber関数の入力の位置を示す棒の点滅がしたい

#3

投稿記事 by sadora3 » 8年前

おおおおおおお!出来ました!
点滅も、色を変えるのもバッチリです。
以下のようになりました。本当にどうもありがとうございました!
DxLibの中身は、いま見に行ってみましたが、ごちゃごちゃしててよく分かりませんでした・・・。

コード:

#include"DxLib.h"

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
	int C = GetColor(255,255,255);
	int TEST;
	ChangeWindowMode(TRUE);
	DxLib_Init();

	DrawBox(270, 190, 370, 290, GetColor(255,255,255), TRUE);
	SetKeyInputStringColor2(DX_KEYINPSTRCOLOR_NORMAL_STR, GetColor(0,0,0));
	SetKeyInputStringColor2(DX_KEYINPSTRCOLOR_NORMAL_CURSOR, GetColor(0,0,0));
	SetKeyInputCursorBrinkFlag(TRUE);
	TEST = KeyInputNumber(273 ,193, 100 ,1, FALSE);

	DxLib_End();
	return  0;
}

閉鎖

“C言語何でも質問掲示板” へ戻る