FLTK主窗口完全透明背景实现后,移动窗口出现旧内容残留的问题求助
FLTK主窗口完全透明背景实现后,移动窗口出现旧内容残留的问题求助
正如标题所说,我想要实现FLTK主窗口/框架背景完全透明的效果。下面这段代码一开始运行是正常的:
#include <Windows.h> #include <FL/Fl.H> #include <FL/Fl_Window.H> #include <FL/Fl_Button.H> #include <FL/Fl_PNG_Image.H> #include <FL/FL_Box.H> // Global pointers for the GUI objects Fl_Window* mywindow; Fl_Box* mypicturebox; Fl_PNG_Image* img; //int main() { int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR str, int nWinMode) { mywindow = new Fl_Window(295, 290, "Color changer"); mywindow->color(FL_WHITE); // Load some images to use later img = new Fl_PNG_Image("D:/Pobrane_2/flower.png"); // A box for the image mypicturebox = new Fl_Box(0, 0, 295, 290); // Give it some initial contents mypicturebox->image(img); mywindow->box(FL_NO_BOX); Fl_Button but(50, 80, 100, 20, "Click Me!"); but.callback([](Fl_Widget* w, void*) { Fl_Widget* p = w->parent(); mywindow->box(FL_FLAT_BOX); mywindow->box(FL_NO_BOX); mywindow->set_changed(); mywindow->redraw(); p->redraw(); }); mywindow->show(); return Fl::run(); }
一开始窗口显示正常,透明背景能正确呈现后方内容,但一旦移动窗口,问题就来了:透明背景里残留着移动前的旧画面,就像窗口没完成重新刷新一样,只保留了创建时的背景内容。
我特意加了个按钮,在点击事件里写了强制刷新的代码,但就算执行了这些逻辑,问题还是没解决!
有没有大佬知道怎么修改代码,才能让窗口移动后,透明背景里的内容能正确更新成当前窗口后方的实时画面啊?
备注:内容来源于stack exchange,提问作者AlmondPudding
相关产品推荐
相关产品推荐

