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

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

17.12.2013, 14:32. Показов 15448. Ответов 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? За что отвечает каждый процесс итд.
Приветствую :) Ради интереса решил промониторить свой пк. Поискать, посмотреть, проверить. Остоновился на процессах. Вопрос: Где...

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

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

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

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

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

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

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

Менять их на ходу - дело пропащее.
Если кто совсем новичок, то да.
Но Вам, думаю, пора бы уже привыкать.
Я вон могу одновременно 5-10 ЯП изучать и на них программировать - и ничего.
Правда, на практике так делать не приходится: на фрилансе по паскалям и бейсикам и без меня спецов куча, всякие там VBScript и JScript - сами по себе никому не нужны, да и тоже спецов хватает.
Вот по C# под разные платформы (особенно WPF и Metro) и по C++ под WinAPI - уже дефицит.
0
25 / 25 / 12
Регистрация: 04.01.2014
Сообщений: 91
14.01.2014, 05:11
Цитата Сообщение от 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  [ТС]
С трудом нашел книжку Хогенсона "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
Цитата Сообщение от 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
Цитата Сообщение от 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
 Аватар для PencilTorch
90 / 60 / 32
Регистрация: 06.08.2020
Сообщений: 220
02.06.2023, 20:19
Почитать есть:
Айвор Хортон Visual C++ 2010;
Зиборов В. В. MS Visual C++ 2010 в среде .NET;
Анна Гусева. Василий Тимошенко Программирование на С++/CLI;
Алексеев Ю.Е., Куров А.В. Компьютерная графика в среде MS VS C++
1
02.06.2023, 20:39

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.06.2023, 20:39
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
Многопоточность в C#: Threadpool
UnmanagedCoder 28.03.2025
Пул потоков в C# — это коллекция заранее созданных и готовых к использованию потоков, которые находятся в распоряжении приложения. Вместо того чтобы создавать и уничтожать потоки для каждой небольшой. . .
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер