Как начать программировать на Visual C++

Тема в разделе "WASM.HEAP", создана пользователем _Sysman_, 6 авг 2007.

  1. _Sysman_

    _Sysman_ Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    50
    Адрес:
    Ukraine
    Сколько раз хотелось изучить этот Visual C++, но один момент всегда загоняет в тупик.
    Касательно Win32 приложения без использования MFC.
    Дело в том, что, например, Delphi, или даже VB из того же Visual Studio работают по принципу: создал форму, на неё перетянул компоненты - и можно писать код.
    Здесь же окно нужно создавать с помощью CreateWindow (хотя в том же пробном приложении из шаблона окно "About" создаётся из ресурсов).
    Так что же получается, если мне нужен какой-нибудь компонент на главной форме (например, картинка или список), я его должен создавать тем же вызовом CreateWindow? А как я точно его размещу (надо сопоставить где-то координаты)? Наброски на бумаге делать, чтобы просчитать положение по x и y?
    Нельзя ли сделать это как-нибудь визуально, или всё так сложно??? А как же тогда делать сложные проекты на VC++??
    Посмотреть бы исходник какой-нибудь под C++ VS 2005, да в Интернете так просто не найдёшь.
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    _Sysman_
    MFC по большей части сакссс, отстой и ещё много грубых слов:)) бери за основу тока api и дотнет быструю часть кода можно релизить в виде длл COM а гую можно быстро накидать на дотнете, а часть прог вообще можно консолью делать - ляпота и дот посылаешь в ж......:))))
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    а, вообще, нестандартный интерфейс прописывется сугубо ручками и губу здесь никому катать не приходиться:)))
     
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    диалоги в ресурсы, и не мучайся.
    редактор ресурсов (и в частности диалогов) в VS есть.

    ЗЫ: в Delphi формы тоже хранятся как диалоги в ресурсах, только в своём формате
    в VB диалоги лежат в секции данных
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Попробуй QT или что-то другое из этой серии, как альтернативу вышесказанному.
     
  6. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    IceStudent
    QT в win32 не очень. Наиболее развита GTK2.
    Весь GUI лежит после декларации:
    Код (Text):
    1. gtk_main (argc*, argv*);
    2. gtk_init();
     
  7. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    И что даёт эта визуальность? Обычно визуальное проектирование (расположение элементов на форме) - ничтожная часть работы, затраты на которую не идут ни в какое сравнение с наполнением программы функционалом. Стоит ли заморачиваться на этой визуальности?

    QT установлен, но его редактором форм не пользуюсь, ибо код получается чрезмерно избыточным. Делаю интерфейс ручками. И ничего.
     
  8. green_newbie

    green_newbie New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2006
    Сообщения:
    51
    Если в системе конечного пользователя не стоит дотнетфреймворк(а таких пока большинство), то писать на чистом АПИ - медленно, а соответственно, глупо. Здесь как раз и юзаются MFC, ATL, WTL и т.д. Насчет консольных приложений - их, конечно, хорошо использовать как свои тулзы, но кастомеры больше полюбляют "рюшечки".

    Так что мой совет - если ты(топикстартер) собираешься заниматься коммерческими проектами, то начни с MFC.
     
  9. ring4

    ring4 New Member

    Публикаций:
    0
    Регистрация:
    19 ноя 2006
    Сообщения:
    279
    C++ хорош спору нет, но ели хочешь чтобы было на времена, то бери С#, конструкция с++ и мощь\простота NET framework. а если учеть что свою библу мелкомягкие пвихивают уже в свои обновление и новый ОС, то распрастранение программы станет не такой уж сложной задачей.
     
  10. Antey86

    Antey86 New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2007
    Сообщения:
    92
    Адрес:
    Орск
    Забей на все/всех и пиши на WinAPI/WinFX.
     
  11. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    device
    Вопрос спорный, но оффтопить не будем :)

    green_newbie
    MFC - это слишком монолитный фреймворк, громоздкий и неудобный. Лучше уж ATL/WTL - всё под контролем, от API сильно не отрываешься, пишешь на более высокоуровневом С++, используя шаблоны и их паттерны, чем на обычном "си с классами", да и скорость работы и размер дают фору любому фреймворку.

    ring4
    То так, только вся графическая часть там как обёртка GDI+ — имеем тормоза (хотя это не критично) и баги, которых придётся вылавливать и обходить. А так - ничего.
     
  12. green_newbie

    green_newbie New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2006
    Сообщения:
    51
    IceStudent
    Согласен с вышесказанным в принципе, но для коммерческого продукта все же лучше использовать MFC причины:
    1) Быстрота разработки/багфикса
    2) Больший размер приложения уже не играет роли при современных каналах доступа в инет
    3) Меньшая скорость работы для пользователя не заметна
     
  13. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    green_newbie
    MFC -я б удобным средством называть бы не стал:)) - либо стоит брать билдер, либо дотнет (с qt и др. средствами не знаком)
    откуда такая инфа - усе новые проги от фотошопа до гамисов на дотнете сидят (за редким искл.)
    просто не надо напирать на ком строку а юзать getch() и гуевые диалоги, тады юзвер не будет особо пугаться и даже привыкнет:))).
     
  14. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    wxWidgets - поднего есть верстальщики или на XML описывай или как в JAVA через контейнеры с выравниванием таблицами и прочим
     
  15. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    раз пошла такая пьянка, то вот тут почитайте еще про обсуждаемые темы.
     
  16. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    varnie
    Трёп какой-то. Лучше уж пробежаться по "Священным войнам" в RSDN, там хоть предметней.
     
  17. green_newbie

    green_newbie New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2006
    Сообщения:
    51
    Больше половины всех софтовых продуктов используют мфц. Думаю, любой реверсер, который перепотрошил много коммерческих програм, со мной согласится.
    Дотнетфреймфорк включен по умолчанию только в висту. Не верится, что он может иметь распространенность больше 15%.
    Не пользователь должен подстраиваться под разработчика, а наоборот, это закон рынка.
     
  18. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Но это вовсе не значит, что он удобный :) Просто привыкли или приказали (знакомое зло лучше незнакомого добра), или лень искать/учить что-то новое.
     
  19. green_newbie

    green_newbie New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2006
    Сообщения:
    51
    Удобство(а значит и корость) разработки проекта - это как раз та вещь, которую наиболее пытаются оптимизировать в production process. Если манагер влезет со своей привычкой или уникальной, одному ему адекватной идеей - он или получит по голове от вышестоящего начальства или будет отстранен от должности. Я имею в виду не госконторы.
     
  20. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    green_newbie
    откуда ты этих мифов поднабрался:))?? юзер хочет софтину с малой ресурсоёмкостью, малой ценой, но где ты такое видел???:)) навязывание идеологии - это ещё одно из направлений любой софтварной фирмы. мфц обречён:)))