пятница, 22 июля 2011 г.

MFC: Third Party Controls

Недавно потребовалось разработать GUI с помощью MFC (последний раз сталкивался около четырёх лет назад). Т.к. Microsoft, на мой взгляд, ничего особо не улучшила за это время, провёл поиск решений от независимых разработчиков. В результате, были найдены и апробированы такие классы:

  • CWndResizer - MFC/C++ Helper Class for Window Resizing
    Как видно из названия, класс предназначен для поддержки изменения размеров и положений контролов (кто сталкивался, тот знает насколько неудобно это делать силами MFC).

  • CGridListCtrlEx - Grid Control Based on CListCtrl
    Собственно, грид. Список возможностей впечатляет:
    - Сортировка
    - Навигация по ячейкам и поиск с помощью клавиатуры
    - Подсказки (Tooltips)
    - Скрытие и отображение столбцов
    - Редактирование ячеек
    - Раскраска строк и отдельных ячеек
    - Группировка
    - Копирование в буфер обмена
    - Сохранение ширины, расположения и видимости ячеек
    - Поддержка OLE Drag and Drop (включая переупорядочение элементов)

Результатом очень доволен. Спасбо авторам за их нелёгкий труд!

P.S. Дополнения списка приветствуются.

вторник, 5 июля 2011 г.

Visual Studio: Sort Build Output

Вопрос

Как упорядочить билд лог многопоточной сборки?
...
1>  queuedlock.c
2>  secedit.c
3>  sha.c
1>  ref.c
2>  support.c
...
Ответ
  • Если действие происходит на рабочей машине, в окне Output, выбрать Show output from: Build Order.

  • Если есть только копия лога (например, его прислали по почте), воспользоваться утилитой SortBuildOutput:
    1. Вставить содержимое лога в поле ввода.
    2. Нажать Sort.
    3. При необходимости, скопировать текст в буфер обмена.