我想从3个编辑框中获取rgb值,以便在运行时更改窗口的颜色。以下代码不会给我所需的数字值。字符转换为int?
const int bufferSize = 1024;
char fade1Buffer[bufferSize] = "";
char fade2Buffer[bufferSize] = "";
char fade3Buffer[bufferSize] = "";
HWND Editbox1 = GetDlgItem(hWnd,IDC_MAINFADE1_EDIT);
SendMessage(Editbox1, WM_GETTEXT, (WPARAM)bufferSize, (LPARAM)fade1Buffer);
HWND Editbox2 = GetDlgItem(hWnd,IDC_MAINFADE2_EDIT);
SendMessage(Editbox2, WM_GETTEXT, (WPARAM)bufferSize, (LPARAM)fade2Buffer);
HWND Editbox3 = GetDlgItem(hWnd,IDC_MAINFADE3_EDIT);
SendMessage(Editbox3, WM_GETTEXT, (WPARAM)bufferSize, (LPARAM)fade3Buffer);
//fill our main window background
FadeVert(hWnd, RGB(fade1Buffer, fade2Buffer,fade3Buffer), RGB(255, 255, 255), (int) Client_Rect.top,
(int) Client_Rect.left, (int) Client_Rect.right, (int) Client_Rect.bottom);
他们没有给出正确的值是什么方式? – 2012-07-22 07:34:04
这不是'char'到'int'的转换。那些是你传递给'RGB'宏的数组。 – chris 2012-07-22 07:36:22
@ Ed,它们返回的值不同于编辑框中的值。 – eric 2012-07-22 07:41:57