Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2010, 18:33   #1
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию Изменить цвет окна

Скажите, как изменить цвет главного окна программы и как изменить цвет кнопки расположенной на главном окне. Чтоб, когда я наводил курсор мыши на кнопку, она изменяла цвет?
Syltan вне форума Ответить с цитированием
Старый 01.03.2010, 22:37   #2
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Вот код, как сделать ,чтоб при наведении мышкой на кнопке, она выделялась?

Код:

#include <windows.h>

HWND MainForm, Edit1, Button1;
const char MainClassName[] = "TMainForm";

void Button1Click(void)
{
char *EditText, *Hello;
int LenEditText = GetWindowTextLength(Edit1) + 1;
int NewLenHello = LenEditText + 12;

//EditText = calloc(LenEditText, sizeof(char));
//Hello = calloc(NewLenHello, sizeof(char));
EditText = new char[LenEditText];
Hello = new char[NewLenHello];
memset(Hello, 0, NewLenHello);
GetWindowText(Edit1, EditText, LenEditText);
strcat(Hello, "Ты набрал: ");
strcat(Hello, EditText);
MessageBox(MainForm, Hello, "Сообщение", MB_APPLMODAL | MB_ICONINFORMATION | MB_OK);
free(Hello);
free(EditText);
}


void CreateControls(HINSTANCE hInstance)
{
	Edit1 = CreateWindowEx(WS_EX_CLIENTEDGE, "Edit", "Текстовое поле:)", 
		WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL | ES_NOHIDESEL,
		8, 16, 160, 21,
		MainForm, 0, hInstance, NULL);

	Button1 = CreateWindow("Button", "Нажми", 
		WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_TEXT,
		160, 120, 75, 25,
		MainForm, 0, hInstance, NULL);
}

LRESULT WINAPI WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uMsg)
	{
		case WM_DESTROY: PostQuitMessage(0); break;
		case WM_ACTIVATE: SetFocus(Edit1); break;
		//case WM_MOUSEMOVE: MessageBox(MainForm, "Mouse move", "cap", 0); break;
		case WM_COMMAND:
			if ((HWND)lParam == Button1) 
				if(wParam == (WPARAM)BN_CLICKED) Button1Click();
				else return DefWindowProc(hWnd, uMsg, wParam, lParam);
		break;
		default: return DefWindowProc(hWnd, uMsg, wParam, lParam);
	}
	return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR args, int WinMode)
{
	WNDCLASSEX WndClass;
	MSG Msg;

	WndClass.cbSize = sizeof(WNDCLASSEX);
	WndClass.style = 0;
	WndClass.lpfnWndProc = WindowProc;
	WndClass.cbClsExtra = 0;
	WndClass.cbWndExtra = 0;
	WndClass.hInstance = hInstance;
	WndClass.hIcon = NULL;
	WndClass.hIconSm = NULL;
	WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
	WndClass.hbrBackground = (HBRUSH)COLOR_WINDOW;
	WndClass.lpszMenuName = NULL;
	WndClass.lpszClassName = MainClassName;

	if (!RegisterClassEx(&WndClass)) return 0;

	MainForm = CreateWindow(MainClassName, "WinApi. Урок №1", WS_OVERLAPPEDWINDOW,
			CW_USEDEFAULT, CW_USEDEFAULT, 320, 200, NULL, NULL, hInstance, NULL);

	CreateControls(hInstance);
	ShowWindow(MainForm, SW_SHOWNORMAL);
	UpdateWindow(MainForm);

	while (GetMessage(&Msg, NULL, 0, 0))
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}

	return Msg.wParam;
}
Syltan вне форума Ответить с цитированием
Старый 10.12.2010, 20:52   #3
Zero&One
 
Регистрация: 04.12.2010
Сообщений: 5
По умолчанию

SetClassLong(hWnd_about_author, GCL_HBRBACKGROUND, (LONG)CreateSolidBrush(RGB(0,0,0))) ;

В данном случае фон окна становиться
black
Zero&One вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить цвет в слове valerij Microsoft Office Excel 25 01.11.2009 17:58
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05
цвет ссылки изменить wolf950 HTML и CSS 3 16.03.2009 18:32
Как изменить цвет заголовка окна CraZZy RabbIt Общие вопросы Delphi 3 20.02.2009 15:47
Как изменить цвет Михаил Юрьевич Общие вопросы Delphi 5 14.01.2008 17:38