ページ 11

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

Posted: 2015年10月07日(水) 20:50
by sadora3
タイトルにある通り、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;
}

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

Posted: 2015年10月08日(木) 18:58
by だんごさん
試してませんがSetKeyInputCursorBrinkFlag関数で点滅はできませんか?
SetKeyInputStringColor2でDX_KEYINPSTRCOLOR_NORMAL_STRを指定し色を指定すると入力文字の色が変えられます。
非公式APIがありますのでDxLibの中身を見てみてください。

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

Posted: 2015年10月08日(木) 22:54
by sadora3
おおおおおおお!出来ました!
点滅も、色を変えるのもバッチリです。
以下のようになりました。本当にどうもありがとうございました!
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;
}