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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 31.05.2017, 19:01   #1
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию Помогите разобраться с программой

Нужно написать программу,где мы можем изменять цвет и шрифт текста.на winapi.
Есть кусок кода не знаю как изменить
Код:
#include <windows.h>
BOOL RegClass(WNDPROC,LPCTSTR,UINT);
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HINSTANCE hinstance;
char	szClass[]="TextOutClass";


int WINAPI WinMain(HINSTANCE hinstance,
HINSTANCE hPrevinstance,LPSTR IpszCmdLine, int nCmdShow)
{MSG msg; HWND hwnd; ::hinstance=hinstance;
if(!RegClass(WndProc,szClass,COLOR_WINDOW))
return FALSE;
	hwnd=CreateWindow(szClass,"Вывод текста",
		WS_OVERLAPPEDWINDOW | WS_VISIBLE,
		CW_USEDEFAULT,CW_USEDEFAULT,
		CW_USEDEFAULT,CW_USEDEFAULT,
		0,0, hinstance,NULL);
if (!hwnd)return FALSE;
	while (GetMessage(&msg,0,0,0))DispatchMessage(&msg);
	return msg.wParam;
}
BOOL RegClass(WNDPROC Proc,LPCTSTR szName,
UINT brBackground)
	{WNDCLASS wc; wc.style=CS_HREDRAW | CS_VREDRAW;
		wc.cbClsExtra=wc.cbWndExtra=0;wc.lpfnWndProc=Proc;
		wc.hinstance=hinstance; wc.lpszClassName=szName;
		wc.hicon=Loadlcon(NULL,IDI_APPLICATION);
		wc.hCursor=LoadCursor(NULL,IDC_ARROW);
		wc.hbrBackground=(HBRUSH)(brBackground+1);
		wc.lpszMenuName=NULL;	return (RegisterClass(&wc)!=0;
	}
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,
WPARAM wParam,LPARAM IParam)
	{ char	szFont[]="	Погода была солнечной";
	static	short cyClient;
	switch(msg)
		{case WM_SIZE:	{cyClient=HIWORD(IParam);return 0;}
		case WM_PAINT:
			{	PAINTSTRUCT	ps;
			HDC hdc=BeginPaint(hwnd,&ps);
			static LOGFONT if;
			if.ifCharSet=DEFAULT_CHARSET;
			if.ifPitchAndFamily=DEFAULT_PITCH;
			strcpy(if.ifFaceName,"Times New Roman");
			if.ifHeight=20; if.ifWeight=FW_BOLD;
			for(int i=0;i<10;i++)
				{if.ifOrientation=if.ifEscapement=i*100;
				HFONT hNFont=CreateFontlndirect(&if);
				HFONT hOFont=(HFONT)SelectObject(hdc,hNFont);
				SetTextColor(hdc,RGB(i*15,i*20,i*25));
				SetBkColor(hdc,RGB(255-i*15,255-i*20,255-i*25));
				TextOut(hdc,0,cyClient-30,szFont,strltn(szFont));
				SelectObject(hdc,hOFont);
				DeleteObject(hNFont);
			}
			EndPaint(hwnd,&ps);
			return 0;
			case WM_DESTROY:{PostQuitMessage(0);return 0;}
		}
		return DefWindowProc(hwnd,msg,wParam,IParam);
	}
				break;
			}
				}
			
			}
		}
	}
Екатерина57 вне форума
Старый 31.05.2017, 19:46   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,716
По умолчанию

Зачем еще одна тема? И I там большие, я их не зря так писал.
p51x вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с программой Romik0220 Фриланс 4 30.04.2017 21:09
Помогите разобраться с программой! Алекс1811 Общие вопросы по Java, Java SE, Kotlin 1 20.09.2015 19:53
Помогите разобраться с программой Bercut48rus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 11.12.2009 02:40
Помогите разобраться с программой Svetlyachok Общие вопросы C/C++ 7 06.06.2009 17:55
Помогите разобраться с программой First90_19 Паскаль, Turbo Pascal, PascalABC.NET 0 23.12.2008 01:58