internationalization - MFC child dialog changing size unexpectedly -
my application uses stacked dialogs select between options in several places. example, dialog box below uses 2 stacked dialogs:
- to choose between "shooting methods", user selects drop-down list in bottom right. changes child dialog box above it.
- the "advanced options" box (located in child dialog box) selects between simplified interface , more complete one.

in each case, stacked dialog box implemented using picture object placeholder in parent dialog. when page selected, setwindowpos called move/resize child dialog (pnewpage) fit placeholder.
// show newly selected page pnewpage->showwindow (sw_show) ; pnewpage->setfocus () ; // position newly selected page crect rcdlgarea ; getdlgitem (idc_dlg_area)->getwindowrect (&rcdlgarea) ; screentoclient (&rcdlgarea) ; pnewpage->setwindowpos (this, rcdlgarea.left, rcdlgarea.top, rcdlgarea.width (), rcdlgarea.height (), swp_noactivate) ; this has worked until now, 1 of users in germany having problem can't explain. when opens tool, stacked page comes looking this:

note child dialogs stretched text in child dialog appears larger text in parent.
other visual layout issues, child dialog seems "cover" selection drop-down in bottom right (located in parent dialog). although drop-down still visible, cbn_selchange messages not received when drop-down list clicked.
i @ loss explain why child dialog boxes being rescaled. can see above, i've tried explicit resizing of dialog box, doesn't seem work.
can think of reason why child dialog might rescaled on systems not on others? appreciated.
thank you,
michael
seems user has larger fonts selected used in first screenshot. note dialog sizes specified in dlu's, scale size user has selected font. can either scale dialog explicitly, in pixels (bad solution, make app worse on configurations), or calculations in dlu's everywhere. second screenshot seems show child dialogs use different font of wizard. i'm not sure why is, guess it's in window styles pass wizard when create it.
Comments
Post a Comment