Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/56: Рейтинг темы: голосов - 56, средняя оценка - 4.93
5 / 5 / 0
Регистрация: 22.02.2010
Сообщений: 55
1

Где почитать про основы Windows forms (С++)

17.12.2013, 14:32. Показов 10100. Ответов 14
Метки нет (Все метки)

Здравствуйте!
Программированием занимаюсь давно, но с Windows forms не сталкивался. А вот сейчас решил вникнуть. Сделал простейшее приложение C++, и сразу встал в тупик:
C++
1
2
[STAThreadAttribute]
int main(array<System::String ^> ^args)
Во-первых, что значит [STAThreadAttribute]?
Во-вторых, что за синтаксис в main()? По правилам C/C++ функция main имеет два аргумента: первый - целое число параметров, второй - указатель на массив параметров. Здесь вроде как массив объектов.
В-третьих, что это за ^? Перегруженная операция? Или Исключающее ИЛИ?
Можно где-то почитать о внутренностях Windows forms? На сайте Microsoft ничего толкового не нашел, книги тоже попадаются типа "делай как я и не задавай вопросов".
P.S. Интересует программирование именно на C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2013, 14:32
Ответы с готовыми решениями:

Где можно почитать про создание приложений для Windows
Доброго дня! Изучил книгу Шилдт C# 4.0 полное руководство. Книга толковая, но язык преподносится...

Где почитать про процессы Windows? За что отвечает каждый процесс итд.
Приветствую :) Ради интереса решил промониторить свой пк. Поискать, посмотреть, проверить....

В какой книге почитать про основы ООП новичку?
Или про это не надо читать? Просто один раз услышать и хватит.

Где почитать основы, принципы, идеалогию Qt? Интересует рисование
Читаю Шлее М. - Qt4.5. Профессиональное программирование на C++. Эта книжка больше справочник, чем...

14
870 / 768 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
17.12.2013, 14:37 2
Цитата Сообщение от m_kostik Посмотреть сообщение
Интересует программирование именно на C++
m_kostik, это не С++. Книги по С++ тут не помогут.
0
5 / 5 / 0
Регистрация: 22.02.2010
Сообщений: 55
17.12.2013, 14:41  [ТС] 3
Цитата Сообщение от MrCold Посмотреть сообщение
m_kostik, это не С++. Книги по С++ тут не помогут.
А что это за язык? Проект создавался как Visual C++/CLR/Windows Forms Application
0
870 / 768 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
17.12.2013, 14:47 4
Это С++\СLI . И книг по нему просто нет.
(исключение Expert C++/CLI: .NET for Visual C++ Programmers
2007 by Marcus Heege)
Хотите знать С++\СLI, значит стоить учить С#, изучать платформу .NET
0
5 / 5 / 0
Регистрация: 22.02.2010
Сообщений: 55
17.12.2013, 14:50  [ТС] 5
А как программировать на C++ в Visual Studio? Только с помощью WinAPI или MFC?
0
870 / 768 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
17.12.2013, 14:53 6
Можно и на С++\СLI Windows Forms
Только стоит учитывать чтоС++\СLI нужен для связки С++ с .NET
Подходит .NET разработчикам.
Ну ещё студентам что-бы интерфейс прикрутить к программам.
А так в реальности он редко когда нужен.
Потому в этом разделе никого нет,
и вам скорей всего никто не подскажет.
1
5 / 5 / 0
Регистрация: 22.02.2010
Сообщений: 55
17.12.2013, 14:56  [ТС] 7
В С++ Builder, например, никаких проблем: используешь все зижуальные иструменты разработки и С++

Добавлено через 2 минуты
Спасибо, MrCold! Что-то начало проясняться.
Кажется, нашел статью по теме: http://habrahabr.ru/post/47732/
0
Заблокирован
18.12.2013, 08:12 8
По правилам C/C++ функция main имеет два аргумента: первый - целое число параметров, второй - указатель на массив параметров.
Совсем необязательно, может не иметь ни одного из этих аргументов или с десяток лишних.

Здесь вроде как массив объектов.
Да, но строка в C++/CLI и есть объект.
Это сделано затем, чтобы собрать в одном месте все функции по работе с этой строкой, и они не были разрознены, как, например, в Си.

"делай как я и не задавай вопросов"
Если бы в учебниках и мануалах было много теории, их бы стало просто невозможно читать.
Попробуйте почитать, например, Страуструпа.
0
5 / 5 / 0
Регистрация: 22.02.2010
Сообщений: 55
18.12.2013, 16:57  [ТС] 9
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Если бы в учебниках и мануалах было много теории, их бы стало просто невозможно читать.
Попробуйте почитать, например, Страуструпа.
Конечно, здорово помогают и такие мануалы - когда сразу достигаешь результата, душа радуется. Я ж не спорю. Но нужны и теоретические основы. Вот в данном случае: проект по названию относится к С++, а на самом деле это не так. Можно заблудится...
Кстати, Страуструпа читаю с наслаждением :-)
0
Заблокирован
18.12.2013, 20:05 10
Но нужны и теоретические основы.
В имеющихся мануалах их более чем достаточно.

проект по названию относится к С++, а на самом деле это не так.
C++/CLI - тоже C++. В нём даже можно использовать плюсовские функции и типы. Например, сочетать std::cout с System::Console::Write().

Страуструпа читаю с наслаждением :-)
И с таким же наслаждением оплатили пару тысяч рублей его стоимости?
0
5 / 5 / 0
Регистрация: 22.02.2010
Сообщений: 55
18.12.2013, 22:20  [ТС] 11
Цитата Сообщение от Водяной Змей Посмотреть сообщение
C++/CLI - тоже C+
А как насчет, скажем, ассемблерных вставок? Дело в том, что начиная проект, нужно сразу правильно выбрать инструменты. Менять их на ходу - дело пропащее. Вот я пока до конца не могу понять что же такое C++/CLI. Потому и спрашиваю
Насчет Страуструпа и т.п. с детства приучен денег на стоящие деньги не жалеть. Хотя, сейчас почти всю нужную литературу без труда и совершенно бесплатно можно найти в сети
0
Заблокирован
19.12.2013, 03:37 12
А как насчет, скажем, ассемблерных вставок?
Зачем они Вам?
Я-то с ними пока ни разу не работал. И даже хеллоуворлда на асме не написал.

Менять их на ходу - дело пропащее.
Если кто совсем новичок, то да.
Но Вам, думаю, пора бы уже привыкать.
Я вон могу одновременно 5-10 ЯП изучать и на них программировать - и ничего.
Правда, на практике так делать не приходится: на фрилансе по паскалям и бейсикам и без меня спецов куча, всякие там VBScript и JScript - сами по себе никому не нужны, да и тоже спецов хватает.
Вот по C# под разные платформы (особенно WPF и Metro) и по C++ под WinAPI - уже дефицит.
0
25 / 25 / 12
Регистрация: 04.01.2014
Сообщений: 91
14.01.2014, 05:11 13
Цитата Сообщение от m_kostik Посмотреть сообщение
Можно где-то почитать о внутренностях Windows forms?
1)Борис Пахомов "C/C++ и MS Visual C++ 2012"
2)Т. А. Панюкова, А. В. Панюков "создание простых GUI-приложений с помощью Visual C++"
3) простенькая ссылочка: http://olocoder.ru/VS1.html
1
5 / 5 / 0
Регистрация: 22.02.2010
Сообщений: 55
15.01.2014, 18:39  [ТС] 14
С трудом нашел книжку Хогенсона "C++/CLI: язык Visual C++ для среды .NET" (2007, Вильямс). Книжка хорошая, автор толковый (много сейчас найдется авторов, знающих чем альфа-распад атомов отличается от бетта-распада?), но перевод... Сказать о переводе, что он бездарный - сильно ему польстить. Оцените (из программного кода):
C++
1
2
3
4
5
6
7
8
9
10
    public ref class R        // общедоступный ссылочный класс R
    {
    public:                   // общедоступный:
        static void FMember() // статический пустой FMember()
        {
            Console::WriteLine("C++/CLI Static Member Function.");
            // Пульт::WriteLine ("C++/CLI Статическая функция-член.");
            FGlobal();
        }
    };
Как вам перевод пространства имен? Кажется, что читаешь машинный перевод без правки. "Чайник" не угрызет однозначно. Читаю только на опыте и знаниях. Печально, но для продукции издательства Вильямс это скорее правило, чем исключение. Сталкиваюсь с их книгами уже лет 13
0
Заблокирован
15.01.2014, 19:37 15
Цитата Сообщение от m_kostik Посмотреть сообщение
Здравствуйте!
Программированием занимаюсь давно, но с Windows forms не сталкивался. А вот сейчас решил вникнуть. Сделал простейшее приложение C++, и сразу встал в тупик:
C++
1
2
[STAThreadAttribute]
int main(array<System::String ^> ^args)
Во-первых, что значит [STAThreadAttribute]?
Во-вторых, что за синтаксис в main()? По правилам C/C++ функция main имеет два аргумента: первый - целое число параметров, второй - указатель на массив параметров. Здесь вроде как массив объектов.
В-третьих, что это за ^? Перегруженная операция? Или Исключающее ИЛИ?
Можно где-то почитать о внутренностях Windows forms? На сайте Microsoft ничего толкового не нашел, книги тоже попадаются типа "делай как я и не задавай вопросов".
P.S. Интересует программирование именно на C++
В майкрософт синтаксис не вполне классический. Поэтому и говорят о диалекте языка С++.
Здесь больше ООП, чем обычно, и оно имеет отличия. Например, галочка вверху - это дескриптор. Нечто вроде указателя, но с меньшими возможностями (например, дескриптор нельзя переназначить другому объекту) и может указывать только на объект встроенного класса .NET, под который память выделяется не там, где для обычных массивов и переменных, а в управляемой куче, и соответственно работа управляется (сборщик мусора и т.д.).
Поэтому и аргументы для функции main - массив не простых указателей на привычные вам строки, а массив дескрипторов строк-объектов встроенного класса .NET, именуемого System::String.

Книг по программированию лучше не читать.)))))))
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2014, 19:37

Версии Делфи 10 и 7. Можно где-то почитать про их особенности, про совместимость?
Переносили вы проекты из делфи 7 на делфи 10. Может знаете в чем особенности, где можно побольше...

Где почитать про пользователей и группы пользователей в Windows 7?
Подскажите где почитать про пользователей и группы пользователей в windows 7?

Где почитать про @ ?
Знающие, подскажите ссылками на код. Как именно работает Verbatim String Literal?

Что почитать по Windows Forms?
Здравствуйте. Хочу наконец начать, создавать приложения с графикой в PascalABC. Собственно, что...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.