Форум программистов, компьютерный форум CyberForum.ru

Программа под Windows - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
user1111
Сообщений: n/a
14.04.2011, 21:29     Программа под Windows #1
Всем привет!

Хочу попробовать создать игру "Тетрис" под Windows в среде Visual Studio 2008.

Подскажите как создать проект для программирования на С++, где можно будет редактировать окна, вставлять кнопки и т.д.

Также подскажите, что почитать для новичков в создании Windows приложений, программированием на С уже занимался, так что важно узнать как программировать кнопки и другие элементы, а так же знать их функции. Желательно на простом примере.

Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2011, 21:29     Программа под Windows
Посмотрите здесь:

C++ Простейшая... незавершаемая программа под Windows
C++ Программа под Windows Mobile
Приложения под Windows C++
C++ программирование под Windows
C++ C++ под Windows
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.04.2011, 22:42     Программа под Windows #2
смотрите в сторону win32 API, пример ищется в гугле
NiRamz
209 / 209 / 16
Регистрация: 26.12.2010
Сообщений: 691
14.04.2011, 22:47     Программа под Windows #3
Цитата Сообщение от user1111 Посмотреть сообщение
Подскажите как создать проект для программирования на С++, где можно будет редактировать окна, вставлять кнопки и т.д.
windows form application .. вроде правильно написал.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
14.04.2011, 22:50     Программа под Windows #4
Могу посоветовать книгу "Win32 API Эффективная разработка приложений". Там основы Win32 API и про графику есть.

Добавлено через 56 секунд
Цитата Сообщение от NiRamz Посмотреть сообщение
windows form application .. вроде правильно написал.
Интересно чем windows form application отличается от Win32 API?

Зашел в Visual studio 2008. При создании проекта на C++ есть только Win32 API. А вот windows form есть у C#.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.04.2011, 22:51     Программа под Windows #5
тем что это .NET
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
14.04.2011, 22:53     Программа под Windows #6
Цитата Сообщение от Chelioss Посмотреть сообщение
Зашел в Visual studio 2008. При создании проекта на C++ есть только Win32 API.
Дружище, версия express?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
14.04.2011, 22:53     Программа под Windows #7
Цитата Сообщение от panicwassano Посмотреть сообщение
тем что это .NET
И как на C++ создать проект windows form(s)?
NiRamz
209 / 209 / 16
Регистрация: 26.12.2010
Сообщений: 691
14.04.2011, 22:56     Программа под Windows #8
Зашел в Visual studio 2008. При создании проекта на C++ есть только Win32 API. А вот windows form есть у C#.
смотрим скрин ..
Миниатюры
Программа под Windows  
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
14.04.2011, 23:01     Программа под Windows #9
NiRamz
Не заметил.

Цитата Сообщение от kravam Посмотреть сообщение
Дружище, версия express?
Pro

Так, что предпочтительнее? Win32 API или Windows forms? Для тетриса, например?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2011, 17:50     Программа под Windows
Еще ссылки по теме:

C++ С++ под Windows 7
Компиляторы C++ под Windows 8 C++
Компилятор С++ под windows rt C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
user1111
Сообщений: n/a
16.04.2011, 17:50     Программа под Windows #10
Установил Express 2010.

Создал пустой проект. При таком коде:
C++
1
2
3
4
5
6
#include <windows.h>
 
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    MessageBox (NULL, "Hi", "Hi", MB_OK);
    return 0;
}
Выдает ошибку:

Код
1>------ Build started: Project: 555, Configuration: Release Win32 ------
1>Compiling...
1>555.cpp
1>.\555.cpp(4) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [3]' to 'LPCWSTR'
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>Build log was saved at "file://g:\proba\555\555\Release\BuildLog.htm"
1>555 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Это пример из книги Щупака...

Добавлено через 56 минут
Помогла эта информация

> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [35]' to 'LPCWSTR'
Все, что с W - wide (двух байтные символы, Unicode). Ты пробуешь char (1 байт) преобразовать в WSTR (2 байта). Или тебе надо компилировать программу не в Unicode (General/Character Set/Use Multi-Byte Character Set, а не Unicode). Или ставить перед const char [35] буквы "L" типа: L"char 1 byte". По-моему "L", хотя может ошибюсь, или "_T" ???!!! 8)

MagicWolf писал(а):
> error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [35]' to 'LPCWSTR'
Все, что с W - wide (двух байтные символы, Unicode). Ты пробуешь char (1 байт) преобразовать в WSTR (2 байта). Или тебе надо компилировать программу не в Unicode (General/Character Set/Use Multi-Byte Character Set, а не Unicode). Или ставить перед const char [35] буквы "L" типа: L"char 1 byte". По-моему "L", хотя может ошибюсь, или "_T" ???!!! 8)


А можно поподробней, что мне надо сделать?
Вод допустим возьму фрагмент кода и ее ошибку:
MessageBox(0,"Can't Find A Suitable PixelFormat.","Error",MB_OK|MB_ICONERROR);
ошибка:
error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [36]' to 'LPCWSTR'
что и как я должен дописать, или преобразовать ?



younggamedeveloper

В настройках текущего проекта найди параметр Character Set и поменя его со значения Use Unicode Character Set на Use Multi-Byte Character Set.

Либо все строки пиши не:
Код:
"Строка"

а так:
Код:
L"Строка"


Т.е. твой код будет выглядить так:
Код:
MessageBox(0, L"Can't Find A Suitable PixelFormat.", L"Error",MB_OK|MB_ICONERROR);


Otli4nik

Да спасибо, эти ошибки устранены. Но появилась новая...
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup

У нас в первом примере в коде нет функции main() , если я правильно понимаю, то он на это и раугается. Как можно исправить?

younggamedeveloper

Не правильно создал приложение свое, т.е. мог создать Windows Application, а пишешь вместо WinMain функции main и наоборот для Console Application пишешь WinMain вместо main.
Пошел дальше читать книгу
Yandex
Объявления
16.04.2011, 17:50     Программа под Windows
Ответ Создать тему
Опции темы

Текущее время: 17:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru