> But this doesn't work. What is the right solution of my problem? Finaly I want make widgets smaller than default widgets, like > toolbox widgets in The GIMP.
void LXDialog::ShrinkWidgetFont( Gtk::Widget* pCtrl, // [in] Control to shrink the text of real scale) // [in] scale factor (should be < 1.0 to shrink control) { // Different kinds of controls need different sub-objects' font resized Gtk::Frame* pFrame = dynamic_cast<Gtk::Frame*>(pCtrl); if (NULL != pFrame) // e.g. Frames have label widgets they use to display their text pCtrl = pFrame->get_label_widget(); else { // ...and radio buttons and check buttons are simply containers with a single label child Gtk::Bin* pBin = dynamic_cast<Gtk::Bin*>(pCtrl); if (NULL != pBin) pCtrl = pBin->get_child(); } Gtk::Label* pLabel = dynamic_cast<Gtk::Label*>(pCtrl); if (NULL != pLabel) { // Other controls might not have a label whose font we need to set Glib::RefPtr<Pango::Context> pPangoContext = pLabel->get_pango_context(); Pango::FontDescription fontD = pPangoContext->get_font_description(); fontD.set_size((int)(scale * fontD.get_size())); pLabel->modify_font(fontD); } -- Garth Upshaw Garth's KidStuff _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list