You can try to change it to per-monitor DPI, but then when you call CreateWindow(Ex) the window will come back with What I found when digging into this problem is that Excel uses per-monitor DPI, but any call into an add-in resets the DPI awareness to system. Reallyĭisappointing support from Microsoft for their developers, especially those like ourselves that have been working with Excel since 1991. The Office team it reached didn't even understand the problem, or really what I was talking about, and left me with only a promise to "try" raise it with the actual Office developers. I raised a paid support incident but it went no where - really It's a really tough situation as there is absolutely nothing we can do until Microsoft provides support. We've had a lot of queries from customers asking why our user interface is blurry. It just seems like this query (and our paid support incident) is not getting to the people who can answer this very specific / technical enquiry. So there must be either currently no way to change this behaviour (likely as it's new), or there is a manifest or registry configuration that willĮnsure Excel does not change SetThreadDpiAwarenessContext for our add-in. Adding a manifest to our add-in DLL indicating monitor DPI awreness doesn't help. I say that because I can see that for add-ins, Microsoft Excel is calling SetThreadDpiAwarenessContext to force add-in CreateWindowEx calls to SystemDPIAwareness rather than MonitorDPIAwareness and I can't find anyway to indicate that Excel should notĭo so for our add-in. Unfortunately it is a very technical request and although the replies were as helpful as possible, it didn't get escalated to the Officeĭevelopers who are surely the only people who can answer such a request. We did submit a paid support incident, it was incident number 118062218441908 but we didn't get a suitable reply. MSDN Support, feel free to contact for your reply Fei. If you have any compliments or complaints to This can be beneficial to other community members reading this thread. Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. Please visit the below link to see the various paid support options that are available to better meet your needs. The support engineer determines that the issue is the result of a bug the service request will be a no-charge case and you won't be charged. Of its complexity your question falls into the paid support category which requires a more in-depth level of support. And if not you can submit a incident because This link? If yes, I suggest that you keep following it to get a workaround or solution. >I raised a support issue through our MSDN subscription but did not get us an answer either.ĭid you mean submit a incident like described in I assume the Office taskpane is not using that to determine DPI awareness?Ĭan a member from the Excel/Office developer team advise please? Is there a registry setting that tells Office that our taskpane ActiveX control is HDPI aware? The DLL hosting our ActiveX control has a manifest indicating support for Windows 10 and true so MonitorAware so we can then drawn our window in high resolution. The windows below the red line are all created as SystemAware (no doubt by changing the thread DPI awareness), but the windows above are all monitor aware. The following image shows the windows from Spy++ (see below). & GetWindowDpiAwarenessContext on the parent windows, I can see the parent window of our window (CMMOcxHost) is 96dpi/SystemAware, but the CMMOcxHostChildWindowMixedMode window and it's parents are all 144dpi/MonitorAware. We can scale our own dialog boxes, and get notifications when the DPI of our windows change, but the ActiveX control we use when calling ICTPFactory.CreateCTP is always created with 96 dpi and only SystemAware DPI awareness. We're changing our application to support HDPI on a per monitor basis, as the latest versions of Microsoft Excel 2016 support.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |