MFC: почему так сложно настроить элемент управления полосы прокрутки | Альтернативы начинать с нуля - PullRequest
1 голос
/ 31 марта 2012

Для элементов управления MFC с полосой прокрутки, таких как CListCtrl и CEdit, почему так нелепо сложно настроить внешний вид полосы прокрутки?

В XP MFC мы можем получить WM_NCPAINT и, возможно, каким-то образом изменить рисунок полосы прокрутки, но, как я заметил на других форумах, эти элементы управления «дают отпор», когда вы пытаетесь нарисовать полосу прокрутки по своему усмотрению. Так что даже профессиональные кодировщики MFC не попытаются сделать это, не говоря уже о таких новичках, как я.

В WindowsCE мы даже не получаем сообщения WM_NCPAINT.

В предложениях всегда пишите свой собственный элемент управления с нуля с CWnd. Какой смысл иметь рамки? Хорошо, есть и другие преимущества, такие как система обмена сообщениями, бла-бла-бла, но я считаю, что настройка внешнего вида важна для дифференциации продукта. Хотя я понимаю, что Windows хотела бы, чтобы все программы выглядели одинаково, на этот раз они перестарались. Здесь выигрывают iOS и Android, где в целом у нас все еще примерно одинаковый стиль приложений (элементы управления работают так, как и ожидалось), но скинирование элементов управления по своему вкусу все еще работает.

Хорошо, достаточно разглагольствования. Теперь возникает вопрос ... есть ли альтернативы, чтобы начать с нуля?

Ответы [ 3 ]

2 голосов
/ 01 апреля 2012

Я согласен с вами ... Мне в конечном итоге удается сделать это, используя эту статью .Если хочешь попробовать ... удачи!

2 голосов
/ 31 марта 2012

Краткий ответ: нет.

Немного более длинный ответ: на самом деле элементы управления MFC - это НЕ их собственная вещь. Они просто минимальные обертки вокруг элементов управления, предоставляемых самой Windows. И, как вы заметили, в Win32 нет выделенных пользователем полос прокрутки. Они просто не предназначены для этого.

0 голосов
/ 31 марта 2012

Я счастливый пользователь Xtreme Toolkit Pro (MFC) - http://www.codejock.com/products/toolkitpro/. У них есть скин-оболочка, которая может работать на вас. Да, это коммерческий. Но я не имею никакой личной выгоды, рекомендуя их.

...