Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2012, 23:52   #11
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

И в чем именно проблема то?
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 12.05.2012, 00:35   #12
SergeyCh
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 27
По умолчанию Использование STL в Win32 api

> А вы не подскажите,где примеры использования можно взглянуть? Много перерыл, но нигде не нашёл описания использования stl в win32 api.
Таких руководств я не видел. В старой MSDN (до 2000) было много примеров Win32 программ но на С. Немного консольных с STL. И большинство MFC, которая на самом деле оболочка для Win32 APIs.
Теперь MSDN это в основном VB.NET, C# и немного "чистого" C++ (консольные программы).
  • Для вывода данных в стандартной Win32 программе обычно используют ListBox, ListView или Edit Control.
  • Если использовать std::string, придётся преобразовывать типы данных между std::string и С-строками.
  • Лучше использовать wchar_t вместо char.
  • Придётся иметь дело с типами данных Windows и часто их преобразовывать.
  • Программирование в Win32 это очень трудоёмкий процесс.
  • Используя STL и Win32 APIs можно создавать самые компактные и производительные программы с интерфейсом (но самым тривиальным) на Windows.
SergeyCh вне форума Ответить с цитированием
Старый 12.05.2012, 00:52   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
(но самым тривиальным)
c чего бы это?
Цитата:
Если использовать std::string, придётся преобразовывать типы данных между std::string и С-строками.
это проблема?
Цитата:
Придётся иметь дело с типами данных Windows и часто их преобразовывать.
что за такие особенные типы?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.05.2012, 01:20   #14
SergeyCh
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
c чего бы это?

это проблема?

что за такие особенные типы?
  • Я не знаю "c чего бы это". Просто это так и есть.
  • Для человека, который не знает как выводить данные в Win32 программе, это будет одна из проблем (он ведь хочет использовать STL).
  • Windows Data Types
SergeyCh вне форума Ответить с цитированием
Старый 12.05.2012, 01:52   #15
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Я не знаю "c чего бы это". Просто это так и есть.
Это не так. Прочитайте про GDI и регионы хотя бы.

Цитата:
Для человека, который не знает как выводить данные в Win32 программе, это будет одна из проблем (он ведь хочет использовать STL).
У стринга отменили c_str()?

Цитата:
Windows Data Types
А если бы вы потрудились и щелкнули дальше, то узнали, что эти страшные типы в большинстве случаев всего лишь псевдонимы...
p51x вне форума Ответить с цитированием
Старый 12.05.2012, 02:09   #16
SergeyCh
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 27
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Это не так. Прочитайте про GDI и регионы хотя бы.


У стринга отменили c_str()?


А если бы вы потрудились и щелкнули дальше, то узнали, что эти страшные типы в большинстве случаев всего лишь псевдонимы...
  • При чём тут GDI? Тем более, что сейчас это Direct2D. Я говорю о стандартных элементах интерфейса. Иначе зачем было изобретать MFC?
  • Никто ничего не отменял. Это просто одно из неудобств по-сравнению с консольными программами.
  • То что это "псевдонимы", не избавляет от необходимости преобразовывать типы при использовании APIs.

Последний раз редактировалось SergeyCh; 12.05.2012 в 02:19.
SergeyCh вне форума Ответить с цитированием
Старый 12.05.2012, 07:52   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и вывести его содержимое при нажатии на кнопку
А что не получается? Создать и наполнить вектор, или вывести в окно?
Подозреваю что второе, ибо методы вывода в консоль и в окно разные.
показывай как пробовал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2012, 10:34   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Просто это так и есть.
если не уметь создавать свои оконные классы то да.
Цитата:
Windows Data Types
практически все лишь псевдонимы к стандартным типам.
Цитата:
Иначе зачем было изобретать MFC?
MFC обертка, не более.
Цитата:
То что это "псевдонимы", не избавляет от необходимости преобразовывать типы при использовании APIs.
а необходимости нету.
ибо псевдоним полностью совместим с оригинальным типом.
Цитата:
Я говорю о стандартных элементах интерфейса.
глупость говорите, стандартные они и есть стандартные.
они не будут особенными.

а вы вот утверждаете что на апи(вообще) можно создать лишь тривиальный интерфейс.
Цитата:
Это просто одно из неудобств по-сравнению с консольными программами.
ну если привыкать к готовенькому то да, это тяжело...
Цитата:
При чём тут GDI? Тем более, что сейчас это Direct2D.
при том что GDI это WinAPI.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 12.05.2012 в 10:43.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.05.2012, 11:05   #19
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

WinAPI действительно неудобно, не сложно, но неудобно.
Microsoft обратило меня в свою религию, и в своих следующих разработках я собираюсь использовать WPF Сейчас на стадии активного изучения. Кто не знаком - советую ознакомиться
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 12.05.2012, 11:24   #20
SergeyCh
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 27
По умолчанию

>глупость говорите...

Такое ощущение, что я против Win32. Я хочу, чтобы тот кто задал вопрос представлял сложность изучения и потом программирования с помощью API.
Зачем мне говорить глупости, если я только С/C++/Win32/MFC и использую?
Пусть он сам и попробует "совмещать псевдонимы с оригинальными типами".
SergeyCh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API Win32 в ассемблере Alex_VK Помощь студентам 1 24.12.2010 02:51
win32 API.Visual Studio 2008.Создание проекта Win32 Aleksandr_Yanov Visual C++ 2 12.09.2010 13:09
Win32 API. VS2008. Как создать приложение win32 в vs2008? Aleksandr_Yanov Visual C++ 4 12.09.2010 00:59
Win32 Api revaldo666 Win Api 10 06.07.2010 00:48
Win32 Api! alexov Общие вопросы C/C++ 7 09.02.2009 22:25