С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/84: Рейтинг темы: голосов - 84, средняя оценка - 4.95
6 / 6 / 0
Регистрация: 22.02.2010
Сообщений: 62
1

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

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

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

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

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

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

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

17
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
17.12.2013, 14:37 2
Цитата Сообщение от m_kostik Посмотреть сообщение
Интересует программирование именно на C++
m_kostik, это не С++. Книги по С++ тут не помогут.
0
6 / 6 / 0
Регистрация: 22.02.2010
Сообщений: 62
17.12.2013, 14:41  [ТС] 3
Цитата Сообщение от MrCold Посмотреть сообщение
m_kostik, это не С++. Книги по С++ тут не помогут.
А что это за язык? Проект создавался как Visual C++/CLR/Windows Forms Application
0
873 / 771 / 173
Регистрация: 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
6 / 6 / 0
Регистрация: 22.02.2010
Сообщений: 62
17.12.2013, 14:50  [ТС] 5
А как программировать на C++ в Visual Studio? Только с помощью WinAPI или MFC?
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
17.12.2013, 14:53 6
Можно и на С++\СLI Windows Forms
Только стоит учитывать чтоС++\СLI нужен для связки С++ с .NET
Подходит .NET разработчикам.
Ну ещё студентам что-бы интерфейс прикрутить к программам.
А так в реальности он редко когда нужен.
Потому в этом разделе никого нет,
и вам скорей всего никто не подскажет.
1
6 / 6 / 0
Регистрация: 22.02.2010
Сообщений: 62
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
6 / 6 / 0
Регистрация: 22.02.2010
Сообщений: 62
18.12.2013, 16:57  [ТС] 9
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Если бы в учебниках и мануалах было много теории, их бы стало просто невозможно читать.
Попробуйте почитать, например, Страуструпа.
Конечно, здорово помогают и такие мануалы - когда сразу достигаешь результата, душа радуется. Я ж не спорю. Но нужны и теоретические основы. Вот в данном случае: проект по названию относится к С++, а на самом деле это не так. Можно заблудится...
Кстати, Страуструпа читаю с наслаждением :-)
0
Заблокирован
18.12.2013, 20:05 10
Но нужны и теоретические основы.
В имеющихся мануалах их более чем достаточно.

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

Страуструпа читаю с наслаждением :-)
И с таким же наслаждением оплатили пару тысяч рублей его стоимости?
0
6 / 6 / 0
Регистрация: 22.02.2010
Сообщений: 62
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
6 / 6 / 0
Регистрация: 22.02.2010
Сообщений: 62
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
0 / 0 / 0
Регистрация: 27.05.2023
Сообщений: 1
01.06.2023, 17:34 16
Цитата Сообщение от 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++
Кстати в функции main параметры обозначают удаление всякого мусора из окна
0
90 / 60 / 32
Регистрация: 06.08.2020
Сообщений: 219
02.06.2023, 20:19 17
Почитать есть:
Айвор Хортон Visual C++ 2010;
Зиборов В. В. MS Visual C++ 2010 в среде .NET;
Анна Гусева. Василий Тимошенко Программирование на С++/CLI;
Алексеев Ю.Е., Куров А.В. Компьютерная графика в среде MS VS C++
1
Rius
02.06.2023, 20:39     Где почитать про основы Windows forms (С++)
  #18

Не по теме:

Для WinForms надо учить не C++/CLI, а C#. Ну, если не хотите напрасно тратить время.

0
02.06.2023, 20:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2023, 20:39
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала согласования+ стартер fast регистров. Файлы прилагаю. . . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru