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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.08.2009, 00:02   #1
Cakeinpanic
Пользователь
 
Аватар для Cakeinpanic
 
Регистрация: 10.05.2009
Сообщений: 21
По умолчанию Создание проекта

Я изучала с++ в универе и там мы создавали исключительно win32 console application.
Соответственно, работали с таким черным полем(боже, я не знаю ни одного названия)
Сейчас учебы нет, но я хочу, так сказать, improve my c++. Хочется более "красивых" программ, работы с минимальной графикой, кнопочек, разных цветов и, наконец, работы с мышкой, а не исключительно с клавиатурой.

Вопрос:
как создавать проект и какие библиотеки использовать?
Cakeinpanic вне форума
Старый 25.08.2009, 00:05   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Для старта поможет MFC Wizard в Visual Studio лично я, его не юзаю, не понимаю что он мне там на создает, все ручками строю, даже без ресурсов но с использованием MFC, действительно очень помогает в разработке окон.
BOBAH13 вне форума
Старый 25.08.2009, 00:12   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Или можно(для начала, ИМХО, даже лучше) поюзать WinAPI.
создавать как: File->New->Project->EmptyProject.
для простых приложений достаточно подключить windows.h
Главная ф-ция(то, что в консольных приложениях было main()) выглядит так:
int __stdcall _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd). пример:
Код:
#include <windows.h>

int __stdcall _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd)
{
     MessageBox(0, TEXT("Hello, World!"), TEXT("Caption"), MB_OK); // Покажет окошко, с кнопкой ОК.

     return 0;
}
Советую погуглить на тему WinAPI, там найдёте множество примеров, где всё разжёвано для новичков = )
netrino вне форума
Старый 25.08.2009, 00:25   #4
Cakeinpanic
Пользователь
 
Аватар для Cakeinpanic
 
Регистрация: 10.05.2009
Сообщений: 21
По умолчанию

спасибо большое
может, вы ее и подскажете примеры задачек для среднего уровня программирования? можно даже для консольных приложений. мозг потренировать хорошенько хочу
Cakeinpanic вне форума
Старый 25.08.2009, 00:35   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Раз уж никто не упомянул, то я скажу
Для кнопочек, работы с мышкой и прочего еще можно в C++ Builder поработать.. Хотя, если изначально работали в студии, то, наверное, лучше в ней и продолжать.
ps Противников Борланда просьба не набрасываться. Это тоже вариант.
Цитата:
Сообщение от Cakeinpanic
может, вы ее и подскажете примеры задачек для среднего уровня программирования? можно даже для консольных приложений. мозг потренировать хорошенько хочу
Для тренировки мозга имхо неплохо подойдет вот этот сайт:
http://acm.timus.ru/
большой архив задач с разных олимпиад с онлайн-проверкой.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 25.08.2009, 00:56   #6
Cakeinpanic
Пользователь
 
Аватар для Cakeinpanic
 
Регистрация: 10.05.2009
Сообщений: 21
По умолчанию

а по-русски есть?
Cakeinpanic вне форума
Старый 25.08.2009, 01:03   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

В левом верхнем углу нажмите на "RUS".
Задачи есть как на русском, так и на английском.

Также можете поискать другие аналогичные сайты. Например - http://acmp.ru.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 25.08.2009, 01:07   #8
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

был ещё ttb.by... только пропал куда-то
ещё есть acm.lviv.ua на украинском = )
netrino вне форума
Старый 25.08.2009, 02:10   #9
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Лампочка

Мне не нравится MFC... Я тоже за чистый Win32API...

Создаём "Win32 Application", выбираем "An empty project" и добавляем файл "C++ Source File"... (это всё примерно так же как и с консольными, только первый пункт другой )

Вот нашел старый пример простейшей программы (пустое окошко):

Код:
#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
ATOM RegMyWindowClass(HINSTANCE, LPCTSTR);

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	LPCTSTR lpzClass = TEXT("My Window Class!");
	if (!RegMyWindowClass(hInstance, lpzClass))
		return 1;
	RECT screen_rect;
	GetWindowRect(GetDesktopWindow(),&screen_rect);
	int x = screen_rect.right / 2 - 150;
	int y = screen_rect.bottom / 2 - 75;
	HWND hWnd = CreateWindow(lpzClass, TEXT("Dialog Window"), WS_OVERLAPPEDWINDOW | WS_VISIBLE, x, y, 300, 150, NULL, NULL, hInstance, NULL);
	if(!hWnd) return 2;
	MSG msg = {0};
	int iGetOk = 0;
	while ((iGetOk = GetMessage(&msg, NULL, 0, 0 )) != 0)
	{
		if (iGetOk == -1) return 3;
		TranslateMessage(&msg);    
		DispatchMessage(&msg);
	}
	return msg.wParam;
}

ATOM RegMyWindowClass(HINSTANCE hInst, LPCTSTR lpzClassName)
{
	WNDCLASS wcWindowClass = {0};
	wcWindowClass.lpfnWndProc = (WNDPROC)WndProc;
	wcWindowClass.style = CS_HREDRAW | CS_VREDRAW;
	wcWindowClass.hInstance = hInst;
	wcWindowClass.lpszClassName = lpzClassName;
	wcWindowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
	wcWindowClass.hbrBackground = (HBRUSH)COLOR_APPWORKSPACE;
	return RegisterClass(&wcWindowClass);
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
	case WM_LBUTTONUP:
		MessageBox(hWnd, TEXT("Вы нажали левую кнопку мыши!"), TEXT("Произошло событие 'WM_LBUTTONUP'"), 0);
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:  
		return DefWindowProc(hWnd, message, wParam, lParam);
	}
	return 0;
}
Код в начале отвечает за запуск приложения... Оно примерно одинаковое.....

Когда приложение закрывается оно получает сообщение WM_DESTROY и завершается (PostQuitMessage(0);)

Когда нажимаем левой кнопкой мыши на онко (если точнее отпускаем её), то оно получает сообщение WM_LBUTTONUP и делает то, что написано между "case WM_LBUTTONUP:" и "break;" - в примере вызывает диалоговое окно...
I am the First of Cyber Evolution...
I am the First to Program your Future...

Последний раз редактировалось DomiNick; 25.08.2009 в 02:23. Причина: Апечатк был... =(
DomiNick вне форума
Старый 25.08.2009, 15:29   #10
LaptevVV
Пользователь
 
Регистрация: 15.08.2009
Сообщений: 37
По умолчанию

Можно и без WinApi обойтись и без Билдера. В студии есть "расширенный" C++|CLI. Там все, что с C# в студии можно делать? можно и в этом С++.
Там и окошки, и графика и все-все.
Читать две книжки.
В гугле фамилию Хогенсон наберите - это автор единственной переведенной на русский книжки по С++|CLI. Перевод плохой, сразу предупреждаю. И формочек там нет, только язык.
Вторая книжка - как раз про формочки. Смотрите на Озоне фамилию Пахомов.
LaptevVV вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание проекта без использования БД swiks PHP 7 17.06.2009 13:24
Создание проекта c# в Visual C# 2008 Express Viteef Общие вопросы .NET 2 07.02.2009 16:02
Создание веб-проекта. d-funk Фриланс 2 12.01.2009 18:21
Создание игрового проекта Medium Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 21.06.2008 21:31
Разработка проекта [Smarik] Софт 1 08.04.2008 17:22