На данный момент я использую следующее, чтобы кодировать, чтобы изменить размер моего CStatic
управления:
WINDOWPLACEMENT wndpl;
m_myStaticControl.GetWindowPlacement(&wndpl);
// Increase the static box's width
wndpl.rcNormalPosition.right += 10;
m_myStaticControl.SetWindowPlacement(&wndpl);
m_myStaticControl.SetWindowText("Some text");
Я получаю постоянную (в приведенном выше случае 10) методом проб и ошибок. Поскольку это кажется действительно не элегантным и сложным в обслуживании решением, я хочу изменить это. После некоторого исследования, я думаю, у меня есть основная идея; который:
GetTextExtentPoint32
.CStatic
управление, как в примере кода выше.Будет ли это хороший, эффективный подход? Кроме того, делает GetTextExtentPoint32
использовать пиксели или диалоговые единицы?
Задача ещё не решена.
Других решений пока нет …