我需要在Compact Framework应用程序中绘制文本框,但直接使用Graphics对象。
我找到了Control.DrawToBitmap方法,我可以用它来绘制GDI,但它在Compact Framework上不可用。
任何提示?
答案 0 :(得分:1)
Control.DrawToBitmap()是通过将WM_PRINT发送到控件以使其在内存设备上下文中绘制自身来实现的。如果您使用的是非标准控件,那么程序员没有实现此消息的可能性很大。我不认为它是由标准Windows Mobile控件实现的。
您唯一的其他办法就是将像素复制到屏幕上。 Graphics.CopyFromScreen()是禁止的,你必须P / Invoke BitBlt()API函数。可能在this thread.和pinvoke.net
中提供了有用的示例代码答案 1 :(得分:0)
通常你只是继承自:Control,覆盖OnPaint并使用参数提供的图形对象。你试过这个吗?
答案 2 :(得分:0)
我不知道这是否可行....但从技术上讲,你可以使用反射来调用控件的OnPaint方法,并在一组新的PaintEventArgs中传入你自己的图形对象(Graphics.FromImage)。
它很丑陋.....但它可能工作。