Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
3.9 KiB

  1. *****Where it's at.
  2. The reduced-fat deskmovr that is part of shdocvw implements the Beta-1 functionality.
  3. There are two ActiveX controls which work together to provide a move and a size handle
  4. for components on the active desktop. These controls are added to the desktop html file
  5. as OBJECT tags by the deskhtml code via the deskmovr.htx template file. There are a dozen
  6. bugs RAIDed against these controls which are divided between drag perf/flicker bugs and
  7. miscellaneous quiet failures and work items.
  8. *****Where it's going.
  9. The new UI under design by ChristoB and MarkEn involves substantial changes to the
  10. appearance and operation of the deskmovr. The two handles are replaced by a frame
  11. and caption bar, which in turn has buttons to 'close' the component and provide a menu.
  12. The basics of the new UI are checked-in under #ifdef NEWVO_UI. The frame-like affordances appear
  13. and allow the components, both windowed and not, to be moved and resized. The #ifdef code
  14. reads a bunch of PARAMs that tell it what system metrics to use for size and color of the
  15. frame and caption.
  16. *****What needs to happen for it to get the rest of the way there.
  17. Resolve painting/flickering bugs. These may be tied to Trident. GaryBu and DinarteM could help.
  18. Resolve z-ordering bugs. The zIndex style attribute isn't working as expected. LyleC could help.
  19. Once this is under control, the click-on-caption==bring-to-front can be implemented. Need deskhtml
  20. support for this. The code formerly known as DeskHTML.dll will need to add zIndex
  21. style attributes to the desktop components.
  22. Add close box. Need help from deskhtml.dll to make this work.
  23. Add menu. Work here is a function of how much ChristoB puts in the menu. Restore to original size
  24. will require help from deskhtml.dll.
  25. Porting to CShellOcx, or whatever.
  26. Remove DeskSizr.cpp/.h from build. With the new UI, it is no longer necessary. It can be dropped from the build
  27. and removed from the class factory table in sccls.c
  28. With the NEWVO_UI, the notion of a "partner" control is obsolete. The m_pidmPartner and
  29. m_pidsPartner members, the get_Engaged and GrabYourPartner methods, and the SizrID
  30. PARAM are unnecessary.
  31. Multi-monitor stuff. Unknown at this point, but the window-frame UI should behave consistently with real
  32. windows in a multi-monitor environment.
  33. Need deskhtml to name= components by whether they are windowed ( IFRAMEs ) or windowless ( IMG, DIV ).
  34. The TargetName params of the OBJECTs below should match the names deskhtml assigns.
  35. This will allow the windowed and windowless instances of the control to target appropriately.
  36. deskmovr.htx update. The object tags below replace the ones in shell\ext\html\construc\deskmovr.htx.
  37. After the coloring and metrics are nailed down, most of the new params can go away
  38. <OBJECT
  39. classid="clsid:72267F6A-A6F9-11D0-BC94-00C04FB67863"
  40. id=ActiveDesktopMover
  41. STYLE="position:absolute; container:positioned; LEFT: 0;TOP: 0; WIDTH: 0; HEIGHT: 0;zIndex: 5"
  42. >
  43. <param name="Interval" value=500>
  44. <param name="SizerID" value="ActiveDesktopMoverW">
  45. <param name="Enabled" value="True">
  46. <param name="TargetName" value="DeskMovr">
  47. <param name="BorderXMetric" value=45>
  48. <param name="BorderYMetric" value=46>
  49. <param name="CaptionShow" value=20>
  50. <param name="CaptionColorIndex" value=10>
  51. <param name="BorderColorIndex" value=10>
  52. <param name="3D" value="False">
  53. <param name="WindowOnly" value="True">
  54. </OBJECT>
  55. <OBJECT
  56. classid="clsid:72267F6A-A6F9-11D0-BC94-00C04FB67863"
  57. id=ActiveDesktopMoverW
  58. STYLE="position:absolute; container:positioned; LEFT: 0;TOP: 0; WIDTH: 0; HEIGHT: 0;zIndex 19"
  59. >
  60. <param name="Interval" value=500>
  61. <param name="SizerID" value="ActiveDesktopMover">
  62. <param name="Enabled" value="True">
  63. <param name="TargetName" value="DeskMovrW">
  64. <param name="BorderXMetric" value=45>
  65. <param name="BorderYMetric" value=46>
  66. <param name="CaptionShow" value=20>
  67. <param name="CaptionColorIndex" value=10>
  68. <param name="BorderColorIndex" value=10>
  69. <param name="3D" value="False">
  70. <param name="WindowOnly" value="False">
  71. </OBJECT>