Я пытаюсь прагматично найти статическую метку из некоторых подобных программ. Я считаю, что одна из статических меток не имеет стиля «WS_VISIBLE», но все еще видна в одной из программ.Что может вызывать ярлык «Статический» без WS_VISIBLE на окнах
Итак, что может привести к появлению статической метки без стиля WS_VISIBLE? И как я могу отличить его от других меток, которые не видны без «WS_VISIBLE»?
Я пишу пример кода, чтобы воспроизвести случай, но не удалось.
TEST_METHOD(ShouldSetWindowsLong) {
auto handle = HWND(0x00180BDC); // A handle to another similar visible Static
auto style = (DWORD)::GetWindowLong(handle, GWL_STYLE);
style &= ~WS_VISIBLE;
::SetWindowLong(handle, GWL_STYLE, style);
}
После запуска выше коды, этикетка «статической» не «» WS_STYLE и не видно больше.
Другая возможность заключается в том, что текст, который вы видите, не нарисован статическим контролем, а кем-то другим. Для доступности доступна невидимая статическая метка. –
Не уходите, понимаете, я использовал SPY ++, чтобы найти эти проблемы. Я видел статическую метку, содержащую видимый текст, но не имеющий WS_VISIBLE. – user1633272
Вы обнаружили невидимый статический контроль, поэтому его текст не нарисован. Но, возможно, кто-то * еще * рисует текст. –