Я сам рисую олдскульные радиокнопки (без темы — тематические радио — это совсем другая проблема) с помощью DrawFrameControl:
DrawFrameControl(dc, &rectRadio, DFC_BUTTON, isChecked() ? DFCS_BUTTONRADIO | DFCS_CHECKED : DFCS_BUTTONRADIO);
Мне никогда не удавалось найти верный способ понять, что считать RECT. Я использовал прямоугольник 12x12, но мне бы хотелось, чтобы Windows сообщала мне размер переключателя.
DrawFrameControl, кажется, масштабирует переключатель, чтобы он соответствовал прямоугольнику, который я передаю, поэтому я должен быть близок к «правильному» размеру радио, которое выглядит не так, как другие (не нарисованные владельцем) радио на экране.
Кто-нибудь знает, как это сделать?