我对 Direct2D 还是有点陌生,所以这可能是一个愚蠢的问题。
我希望我的应用程序的 UI 支持部分透明和硬件加速等功能。要做到适当的透明度,我需要使用UpdateLayeredWindow API,它需要源设备上下文。所以我使用 Direct2D 创建一个ID2D1DCRenderTarget并简单地绘制到它。到目前为止一切顺利,它似乎工作得很好。
现在,我想在此设置中使用一些常用控件。使用普通的 Direct2D 绘图功能重新创建一个简单的按钮会相对容易,但像编辑控件这样的操作需要更多的工作。特别是当您想要执行用户期望从编辑控件中进行的常规文本处理时。所以我想为此使用现有的 Windows 功能。
通过阅读 MSDN,可以通过发送WM_PRINT消息获得通用控件以将自身绘制到设备上下文中。但是,我怎么知道何时发送此消息?当然,当用户输入编辑控件时,我可以从编辑控件中获得通知,但是我仍然需要弄清楚何时应该绘制闪烁的光标,例如。
这通常是怎么做的?我有哪些选择?在此先感谢您的任何指点。