Ленточная диаграмма C / C++

Просто быстрый вопрос.

Я ищу простую ленточную диаграмму (также называемую графиком), похожую на представление «Производительность» диспетчера задач Windows. И нашли несколько, но все они полагаются на MFC или .NET :(

Я надеюсь, что кто-то здесь может иметь или знать, где взять простой элемент управления Win32 ленточной диаграммы, который не является MFC.

Спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
3 141
5

Ответы 5

Если вы нашли хороший элемент управления MFC, возможно, вам лучше всего было бы преобразовать код самостоятельно в чистый Win32 - в конце концов, MFC - это тонкая оболочка вокруг Win32 API. Ради интереса, как называется обнаруженный вами элемент управления MFC?

Я не думаю, что в библиотеке общих элементов управления Win32 есть стандартный. Вам придется либо использовать чужую библиотеку виджетов, либо свернуть свою собственную с помощью GDI для рисования графиков. Наверное, не так уж и сложно свернуть свой собственный - просто создайте элемент управления растровым изображением и устанавливайте изображение каждый раз, когда ваши данные обновляются до графика, который вы рисуете в памяти.

Я думаю, что это кажется излишним. Если мы говорим о Win32 GDI, то нет необходимости в «растровом элементе управления». Просто обработайте сообщение с краской и получите DC, втяните его!

Aardvark 25.09.2008 20:57

Рисование непосредственно на вашем DC вызовет мерцание. Хотя подход «растрового изображения» немного странный ИМО, для настраиваемого элемента управления MFC вам необходимо обрабатывать WM_PAINT, создавать растровое изображение в памяти и, по крайней мере, рисовать в DC памяти.

Roel 07.10.2008 18:12

Если вам нужно выбрать собственный маршрут, посмотрите на вызов GDI ломаной линии. Это может нарисовать для вас всю линию за один звонок.

Я работаю над системой, которая рисует диаграммы с помощью специального кода (без сторонних элементов управления, все Win32 GDI). Звучит очень сложно, но не так уж плохо.

Немного математики для сопоставления точек из вашего координатного пространства с контекстом устройства, рисования линий сетки / фона и Ployline. Сделанный! ;)

Черт возьми, вы можете использовать режимы сопоставления GDI, чтобы упростить математику (но я бы не стал).

Несколько месяцев назад у меня возникла та же проблема: я пытался найти существующую реализацию библиотеки мониторинга производительности, которая похожа на диспетчер задач Windows. Однако, поскольку я не смог найти существующую библиотеку, работающую на нескольких платформах (не зависящих от MFC или .NET), я решил создать свою собственную библиотеку :-)

Сегодня я только что выпустил бета-версию этой библиотеки и сделал ее доступной как проект с открытым исходным кодом. Посмотрите это здесь: http://code.google.com/p/qw-performance-monitoring/

Сообщите мне, если это будет полезно. Я все еще провожу тестирование, чтобы убедиться, что все функции этой библиотеки работают в Mac, Linux и Windows. Как только я закончу тестирование, я выпущу стабильный выпуск. В настоящее время пользуйтесь этой бета-версией :-)

Это только для Какао. Есть ли у вас планы по поддержке Win32 api?

dns 17.01.2014 12:57

Взгляните на эту удивительную библиотеку с открытым исходным кодом: http://mctrl.sourceforge.net

Другие вопросы по теме