Ich arbeite an einem netten Open-Source-Projekt, das ich hoffe, zu veröffentlichen, aber ich habe einige Probleme mit einem Kind-Fenster nicht neu zeichnen, nachdem sie beschädigt. Bitte beachten Sie dieses Bild für Details:FLTK Kind Fenster nicht neu zeichnen auf Linux
Hier ist der Code Ich verwende diese anzuzeigen:
void showMessageWindow (std::string strMessage, std::string strTitle)
{
Fl_Window* msgWin = new Fl_Window(400, 255, NULL);
if (strTitle == "")
msgWin->label("Window Title");
msgWin->box(FL_BORDER_FRAME);
msgWin->set_non_modal();
Fl_PNG_Image* img = new Fl_PNG_Image("/home/obaker/Pictures/info-icon.png");
Fl_Box* ibox = new Fl_Box(20, 20, 48, 48);
ibox->image(img);
Fl_Multiline_Output* mOut = new Fl_Multiline_Output(90, 20, 275, 175, NULL);
mOut->box(FL_NO_BOX);
mOut->wrap(true);
mOut->readonly(true);
mOut->cursor_color(FL_BACKGROUND_COLOR);
mOut->value(strdup(strMessage.c_str()));
Fl_Button* btn = new Fl_Button(150, 210, 100, 35, "OK");
btn->box(FL_GTK_UP_BOX);
btn->shortcut(FL_Enter);
btn->callback(msgBoxClose, msgWin);
msgWin->add(ibox);
msgWin->add(mOut);
msgWin->add(btn);
msgWin->show();
}
ich versucht habe, mit Fl_Double_Window statt Fl_Window und es sieht noch schlimmer aus:
als ‚nervös‘ und ‚cool‘ wie das aussehen könnte, dann ist es nicht geeignet für mein Projekt. :-)
Ich entwickle und teste auf Debian Linux 8, 64-Bit, AMD Radeon HD 6670 Grafikkarte, 8 GB RAM. Die von Debian bereitgestellte Version von FLTK ist 1.3 (1.3.2-6).
Das übergeordnete Fenster ist ein Fl_Double_Window und es zeichnet sich neu gut.
Gibt es irgendetwas, das jemand empfehlen könnte, um dieses untergeordnete Fenster neu zu zeichnen, wenn es beschädigt ist?
Vielen Dank im Voraus! :-)