Re: SetKeyInputStringColorの不具合 ( No.1 ) |
- 名前:管理人 日時:2014/07/06 04:29
すみません、仕様バグとも言えるもので現状の SetKeyInputStringColor 関数の仕様では
不具合を解消することができないので、新たに SetKeyInputStringColor2 という関数を追加しました
// InputString関数使用時の文字の各色を変更する
// int TargetColor : 変更する色
// DX_KEYINPSTRCOLOR_NORMAL_STR : 入力文字列の色
// DX_KEYINPSTRCOLOR_NORMAL_STR_EDGE : 入力文字列の縁の色
// DX_KEYINPSTRCOLOR_NORMAL_CURSOR : IME非使用時のカーソルの色
// DX_KEYINPSTRCOLOR_SELECT_STR : 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の色
// DX_KEYINPSTRCOLOR_SELECT_STR_EDGE : 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の縁の色
// DX_KEYINPSTRCOLOR_SELECT_STR_BACK : 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の周りの色
// DX_KEYINPSTRCOLOR_IME_STR : IME使用時の入力文字列の色
// DX_KEYINPSTRCOLOR_IME_STR_EDGE : IME使用時の入力文字列の縁の色
// DX_KEYINPSTRCOLOR_IME_STR_BACK : IME使用時の入力文字列の周りの色
// DX_KEYINPSTRCOLOR_IME_CURSOR : IME使用時のカーソルの色
// DX_KEYINPSTRCOLOR_IME_LINE : IME使用時の変換文字列の下線の色
// DX_KEYINPSTRCOLOR_IME_SELECT_STR : IME使用時の選択対象の変換候補文字列の色
// DX_KEYINPSTRCOLOR_IME_SELECT_STR_EDGE : IME使用時の選択対象の変換候補文字列の縁の色
// DX_KEYINPSTRCOLOR_IME_MODE_STR : IME使用時の入力モード文字列の色(『全角ひらがな』等)
// DX_KEYINPSTRCOLOR_IME_MODE_STR_EDGE : IME使用時の入力モード文字列の縁の色
// DX_KEYINPSTRCOLOR_IME_SELECT_WIN_EDGE : IME使用時の変換候補ウインドウの縁の色
// DX_KEYINPSTRCOLOR_IME_SELECT_WIN_BACK : IME使用時の変換候補ウインドウの下地の色
// int Color : 色( GetColor の戻り値 )
extern int SetKeyInputStringColor2( int TargetColor, int Color ) ;
SetKeyInputStringColor と違って一度に一つの色しか変更できませんので、
全部の色を変更する場合はこの関数を 17回呼ぶ必要があります
少し面倒で申し訳ありませんが、よろしければお使いください m(_ _;m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
|
Re: SetKeyInputStringColorの不具合 ( No.2 ) |
- 名前:kiai 日時:2014/07/06 10:57
早急な対応に感謝します!すごい!ありがとうございます!
正常に動作することを確認しました。
後不具合ではないので要望なのですが(もしかしたら別にスレッドを建てるべきでしょうか)
DX_KEYINPSTRCOLOR_IME_SELECT_STRの指定する色が変換する文字列の背景と
変換候補のウィンドウの文字列の二つの色を兼ねていることで、
変換する文字列が黒色の場合は蛍光色を使うしか無いのですが、
そうすると変換候補のウィンドウの文字列まで蛍光色になってしまうため見辛いです。
解決策として、定義する色を分けるか、もしくは変換候補ウィンドウの文字列ではなく、
変換候補ウィンドウの文字列の背景の色(全体の背景ではなく選択された文字列の背景)を変更出来るようにすると良いと思います。
↓こんな感じです。
ttp://ll.la/oTE9sv
ご検討をよろしくお願いいたします。
|
Re: SetKeyInputStringColorの不具合 ( No.3 ) |
- 名前:管理人 日時:2014/07/06 18:04
ご指摘されてから定義等を見直してみたところ名前と実際に使用されている箇所が
異なるものや別の意味の箇所に流用されているものなど、結構適当になっていました・・・
その辺りを整理しましたので、お手数で申し訳ありませんがよろしければこちらをダウンロードしてください m(_ _;m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
整理をした結果、SetKeyInputStringColor2 の第一引数に渡す定義が一部変更となりました
// int TargetColor : 変更する色
// DX_KEYINPSTRCOLOR_NORMAL_STR : 入力文字列の色
// DX_KEYINPSTRCOLOR_NORMAL_STR_EDGE : 入力文字列の縁の色
// DX_KEYINPSTRCOLOR_NORMAL_CURSOR : IME非使用時のカーソルの色
// DX_KEYINPSTRCOLOR_SELECT_STR : 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の色
// DX_KEYINPSTRCOLOR_SELECT_STR_EDGE : 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の縁の色
// DX_KEYINPSTRCOLOR_SELECT_STR_BACK : 入力文字列の選択部分( SHIFTキーを押しながら左右キーで選択 )の周りの色
// DX_KEYINPSTRCOLOR_IME_STR : IME使用時の入力文字列の色
// DX_KEYINPSTRCOLOR_IME_STR_EDGE : IME使用時の入力文字列の縁の色
// DX_KEYINPSTRCOLOR_IME_STR_BACK : IME使用時の入力文字列の周りの色
// DX_KEYINPSTRCOLOR_IME_CURSOR : IME使用時のカーソルの色
// DX_KEYINPSTRCOLOR_IME_LINE : IME使用時の変換文字列の下線の色
// DX_KEYINPSTRCOLOR_IME_SELECT_STR : IME使用時の選択対象の変換候補文字列の色
// DX_KEYINPSTRCOLOR_IME_SELECT_STR_EDGE : IME使用時の選択対象の変換候補文字列の縁の色
// DX_KEYINPSTRCOLOR_IME_SELECT_STR_BACK : IME使用時の選択対象の変換候補文字列の周りの色
// DX_KEYINPSTRCOLOR_IME_CONV_WIN_STR : IME使用時の変換候補ウインドウ内の文字列の色
// DX_KEYINPSTRCOLOR_IME_CONV_WIN_STR_EDGE : IME使用時の変換候補ウインドウ内の文字列の縁の色
// DX_KEYINPSTRCOLOR_IME_CONV_WIN_SELECT_STR : IME使用時の変換候補ウインドウ内で選択している文字列の色
// DX_KEYINPSTRCOLOR_IME_CONV_WIN_SELECT_STR_EDGE : IME使用時の変換候補ウインドウ内で選択している文字列の縁の色
// DX_KEYINPSTRCOLOR_IME_CONV_WIN_SELECT_STR_BACK : IME使用時の変換候補ウインドウ内で選択している文字列の周りの色
// DX_KEYINPSTRCOLOR_IME_CONV_WIN_EDGE : IME使用時の変換候補ウインドウの縁の色
// DX_KEYINPSTRCOLOR_IME_CONV_WIN_BACK : IME使用時の変換候補ウインドウの下地の色
// DX_KEYINPSTRCOLOR_IME_MODE_STR : IME使用時の入力モード文字列の色(『全角ひらがな』等)
// DX_KEYINPSTRCOLOR_IME_MODE_STR_EDGE : IME使用時の入力モード文字列の縁の色
( ご提案していただいた変換候補ウインドウの文字列の背景の色も DX_KEYINPSTRCOLOR_IME_CONV_WIN_SELECT_STR_BACK で指定できるようにしました )
主に DX_KEYINPSTRCOLOR_IME_SELECT_STR 以降が変更されていますので
申し訳ありませんが再度ご確認ください m(_ _;m
|
Re: SetKeyInputStringColorの不具合 ( No.4 ) |
- 名前:kiai(解決) 日時:2014/07/06 23:01
ご対応頂き誠に感謝いたします。
正常に動作することを確認しました。
本当に早い対応で驚きです。これからも素晴らしいライブラリを作っていってください!
ありがとうございました。
|