C + WinAPI: создание «статического» класса, который позволяет мне обновлять заголовок - PullRequest
1 голос
/ 17 апреля 2011

Я пытаюсь создать небольшую программу на C и Windows API, и мне нужно обновить текст в статическом элементе управления. Я прочитал, что изменение текста static во время выполнения невозможно, и я должен продублировать класс и создать его в соответствии с требованиями. Проблема в том, как мне продублировать класс. Я новичок, и ниже приведены текущие атрибуты класса, которые у меня есть (что, конечно, для окна!). Какие изменения необходимы для такого контроля? Или, если это слишком много работы, я должен вместо этого использовать текстовое поле (неизменяемое пользователем)?

wc.style         = CS_HREDRAW | CS_VREDRAW;
wc.cbClsExtra    = 0;
wc.cbWndExtra    = 0;
wc.lpszClassName = TEXT( "Window" );
wc.hInstance     = hInstance ;
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW);
wc.lpszMenuName  = NULL;
wc.lpfnWndProc   = WndLogProc;
wc.hCursor       = LoadCursor(NULL, IDC_ARROW);

1 Ответ

3 голосов
/ 17 апреля 2011

Кто вам сказал, что невозможно изменить текст статического окна? Если вы используете SetWindowText, вы можете изменить содержимое. Это новое содержимое не будет отображаться автоматически, но вы можете принудительно перерисовать окно с помощью RedrawWindow.

P.S. Вы должны использовать тип класса «static» для статического элемента управления, а не «Window». Список классов встроенных окон: здесь, в MSDN .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...