- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我开始用 C 语言编写一个程序,该程序需要大量精美的绘图,但我严格使用 Windows,因此我决定使用 Direct2D。
到目前为止,我在 DLL 中创建了一个自定义控件,程序像任何其他 Win32 控件一样使用和使用该控件。自定义控件在其窗口内设置一个 D2D 上下文,并根据需要绘制到其中,这工作得很好。
我意识到这将在未来的项目中成为一个非常有用的 DLL,用于通过传统的控件接口(interface)轻松设置和拆除 Direct2D,因此我让控件在绘制时向父窗口发送通知,而不是在需要绘制时向父窗口发送通知。调用它自己的内部绘图代码(基本上就像所有者绘制的控件)。它调用 BeginDraw,然后使用包含指向 ID2D1DCRenderTarget 的指针的自定义 NMHDR 将通知发送给父级,然后调用 EndDraw。在我的主窗口中,我创建控件,然后响应通知,然后调用方法来绘制内容,然后返回。
问题是,当在 DLL 中调用 EndDraw 时,我收到错误“对象未处于处理该方法的正确状态”。这让我觉得跨越 DLL 边界肯定会影响操作。 DLL 是否始终与附加进程在同一线程中运行?跨越 DLL 边界是否还有其他一些奇怪的地方,特别是在 Direct2D 方面?
谢谢。
最佳答案
This makes me think that crossing DLL boundaries must muck with the operation. Do DLLs always run in the same thread as the attached process? Is there some other oddity about crossing through DLL boundaries, especially with respect to Direct2D?
不,调用位于不同 DLL 中的函数与调用与调用者相同的模块中的函数没有什么不同。请记住,标准 Windows 控件始终存在于与其主机不同的模块中,例如user32.dll、comctl32.dll等。
代码中的问题与其驻留在不同模块中无关。
关于c++ - 跨 DLL 边界使用 Direct2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20230487/
我编写了一个应用程序,它有一个 UIViewController,它在纵向模式下显示另一个 UIViewController,在横向模式下显示不同的 UIViewController。 当我去风景时,
我想为 UISegmentedControl 提供以下方面: 注意灰色背景 View ,以及分段控件未选定项目的白色背景。 但是,如果我为 UISegmentedControl 提供白色背景,我会得到
我正在尝试为我的可排序项目创建边界。我看过这个问题/答案: jquery sortable keep within container Boundary 并尝试将我的 JS 以此为基础,但无论出于何种
我正在尝试编写执行以下操作的代码:如果我单击起始位置为 (100,100) 的字符串 C(JLabel),该字符串将在 JFrame 的边界内移动。代码本身并不难实现,但我遇到了问题为 JLabel
我有一个 .xib 文件,其中包含我想用来播放视频文件的 View 。该 View 具有配置其大小和位置的约束。现在我需要获取这些来配置我的视频播放器: let slide1: OnboardingS
我将从 Google map 转到 Apple map 。 Google map 能够根据东北和西南坐标更新相机,如下所示: let bounds = GMSCameraUpdate.fit(GMSC
这个问题在这里已经有了答案: Border over a bitmap with rounded corners in Android (6 个答案) 关闭 6 年前。 如何为我的图片添加圆角边框?
我有一个任务是使用java.awt.Graphics绘制一定数量的圆圈。 绘制圆圈相当简单,但我只应该在圆圈出现在可见区域内时绘制圆圈。我知道我可以调用方法 getClipBounds() 来确定绘图
我在设置过渡时遇到问题,目前它是从上到下(它是悬停时显示的边框)。我希望过渡从中间开始并传播到侧面,或者至少从任何一侧开始并传播到另一侧... 我的导航菜单 anchor 使用导航链接类! * {
我来自 Java,目前正在学习 C++。我正在使用 Stroustrup 的 Progamming Principles and Practice of Using C++。我现在正在使用 vecto
我有一个要展开的循环: for(int i = 0; i < N; i++) do_stuff_for(i); 展开: for(int i = 0; i < N; i += CHUNK) {
Scala 中是否有类似 View 绑定(bind)但可以匹配子类型的东西? 由于 Scala 中的 View 没有链接,我目前有以下内容: implicit def pimpIterable[A,
网站用户输入地址。 如果地址在边界内,则“合格”。如果地址超出边界,则“不合格”。 是否有现有的小部件或代码可以执行此操作?有人知道实现这一目标的第一步吗?感谢您的任何意见。 最佳答案 哇,反对票是怎
我有以下测试应用程序: import Codec.Crypto.AES import qualified Data.ByteString.Char8 as B key = B.pack "Thisis
我正在尝试添加一个 JButton,但它与进度条水平对齐。如何将 JButton 对齐到下面的线上? 另外,我试图将所有组件分组到不同的组中,但我不确定如何执行此操作。有谁知道吗? 最佳答案 要简单分
假设我们有一个像上面这样的相框。从中心开始,如何找到可用于绘制的面积最大的矩形(矩形中的所有像素必须为 rgb(255,255,255)? 我需要找到图中所示的A点和B点的x和y坐标。 我的方法之一是
这可能是一个愚蠢的问题,但当我创建一个类时,我应该如何正确设置其中属性的边界。 例子:如果我有这门课 class Product { private string name; publ
我正在从 leaflet 迁移回来,如果我需要 map 绑定(bind),我使用以下代码: var b = map.getBounds(); $scope.filtromapa.lat1 = b.ge
我正在学习如何创建自定义 UIView。我正在制作的这个特定 View 包含几个按钮。我注意到,当我从惰性实例化 block 中调用frame/height属性时,我得到的值是128,但是当我调用dr
我正在尝试制作一个弹跳球。设置的边界允许球在超出框架边界后从起点开始。我无法让球弹起来。一旦击中边界(框架的外边缘),如何让球弹起?我相信问题出在 moveBall() 方法中。 主类 导入 java
我是一名优秀的程序员,十分优秀!