It's not a XPropertySet, please use Any XVclWindowPeer::getProperty( string Name )
Malte. Carsten Driesner wrote: > Matthias Benkmann wrote: > >>On 9/22/05, Carsten Driesner <[EMAIL PROTECTED]> wrote: >> >> >>>wd.WindowAttributes = WindowAttribute.SHOW|VclWindowPeerAttribute .DROPDOWN; >>> >> >> >>That did the trick. Thanks for all your help so far. Now there's just >>one little cosmetic thing: How do we specify the size of the ComboBox >>so that it scales with the system font. Currently we're supplying >>absolute pixel values. > > > Hi Matthias, > > the OOo toolbar implementation scales all item windows automatically. > Unluckily there is no API which gives you a notification when the user > has changed the UI system font. The best solution I am aware of is, try > to determine which system font is used for the combo box. Use the font > metric information to set a generic width which is appropriate for your > needs. > > How to retrieve the needed font information? > > 1. Query your created combo box for com::sun::star::beans::XPropertySet > 2. Use getPropertyValue() with property name = "FontDescriptor". > 3. Retrieve the com::sun::star::awt::FontDescriptor from the provided > com::sun::star::uno::Any. > > Now I see two possible ways to find your generic width: > 1. Get the width from the font descriptor (see > com::sun::star::awt::FontDescriptor) and use it to calculate your > control width. > 2. - Query your combo box for com::sun::star::awt::XDevice. > - Use XDevice::getFont( [in] FontDescriptor ) to retrieve a font > object for your font descriptor. > - Query your font object for com::sun::star::awt::XFont > - Use XFont::getStringWidth( [in] string ) to determine the width of > your largest possible string. Use it to calculate the size of your combo > box. > > Regards, > Carsten > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
