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