Попробуйте сохранить экземпляр службы в вашем AppModule
и получить экземпляр (вместо того, чтобы создать его экземпляр) позже в других компонентах.
import {Injector} from '@angular/core';
export class AppModule {
// Allows for retrieving singletons using 'AppModule.injector.get(MyService)' later in the code
static injector: Injector;
constructor(injector: Injector) {
AppModule.injector = injector;
}
}
И для извлечения экземпляра Службы используйте:
const myService = AppModule.injector.get(MyService);
Проверьте документацию Здесь !
Я обнаружил, что на самом деле довольно просто отобразить прозрачное изображение на экране с помощью wxW:
wxScreenDC dc;
wxBitmap bmp(wxT("test.png"), wxBITMAP_TYPE_PNG);
dc.DrawBitmap(bmp, 250, 100, true);
Теперь мне нужно узнать, как обрабатывать обновления и тому подобное, он должен быть (возможно, частично перерисован), когда что-то ниже обновлений.
В настоящее время оно просто перерисовывается поверх самого себя, делая это через некоторое время полностью непрозрачным.
Был еще один версия wxScreenDC :: DrawBitmap, которая принимает окно в качестве аргумента, может быть, оно решает эту проблему?
See wxTopLevelWindow::SetTransparent.
If the platform supports it will set the window to be translucent.
So I guess wxWidgets can do it.
If you are willing to do something other than C++, there may be other cross platform options like JavaFx and Adobe AIR.
Как насчет использования в форме кадров?
wxBitmap m_bmp = wxBitmap(_T("redroseonwhite.png"), wxBITMAP_TYPE_PNG);
SetSize(wxSize(m_bmp.GetWidth(), m_bmp.GetHeight()));
wxRegion region(m_bmp, *wxWHITE);
bool m_hasShape = SetShape(region);
Посмотрите * WXWidgets-2.9.0 \ образцы \ faved * для полного примера.