Участник
-
Автор темы
- #81
setAttribute("style", "background-color: red;") попробуй. атрибут style содержит css код. ты не бекграунд колор выставляй, а стайл в котором прописан бекграунд колорче то странная тема какая-то, почему SetProperty крашит при вызове?
styleoffset(C++:std::uint16_t GetStyleOffset( ) { auto res = util::get_absolute_address( this->GetVF<std::uintptr_t>( 304 ) + 0x31D, 3, 7 ); return *(std::uint16_t*)res; } std::uintptr_t SetProperty( const char* style ) { auto style_offset = this->GetStyleOffset( ); return CallVFunc<304>( &style_offset, style ); } ... static CUIPanel* test_panel = nullptr; if ( wParam == VK_UP ) { auto& UIEngine = IPanoramaUIEngine::GetInstance( ); CUIPanel* hud_parent = UIEngine.FindPanel( IEngineClient::GetInstance().IsInGame() ? "DotaHud" : "Hud" ); CPanoramaSymbol symbol = UIEngine.m_pUIEngineSource2->MakeSymbol( "Panel" ); test_panel = UIEngine.m_pUIEngineSource2->CreatePanel( symbol, "TestPanel", hud_parent )->GetUIPanel( ); test_panel->LoadLayoutErrorHandle( R"xml(file://{resources}/xml.xml)xml", true ); } if ( wParam == VK_F1 ) { if ( test_panel ) { test_panel->SetProperty( "background-color:white;" ); } }
Посмотреть вложение 246496
)
Кароче я +- разобрался с гет/сетатрибут но есть проблема:
Посмотреть вложение 246533то есть сам бекграунд колор не меняется, а строчка меняется(после смены на white уже гетатрибутстринг вернул вайт)
Посмотреть вложение 246534
вот тоже самое почти(стайл валидные и т.д.) но вернуло nullpid(который return_if_null как я понял из псевдокода)
Пожалуйста, авторизуйтесь для просмотра ссылки.