使用Win32 API绘制笛卡尔系统

用户名

我正在尝试使用Win32 API绘制正弦波。我做到了

hDC = GetDC(hWnd);

while (TRUE)
{
    while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
        DispatchMessage(&msg);
    }

    if (msg.message == WM_QUIT)
        break;

    wavefunc(hWnd, hDC);
}

void wavefunc(HWND hWnd, HDC hDC)
{
    double full = 2 * pi * _freq;
    static double _x = 0;
    short int _y = 0;

    short _y = (short)(sin(_x / _freq)*_amp) + 300;
    if (_x >= full)
        _x -= full;
    SetPixel(hDC, 600, _y, blue);
    ScrollWindow(hWnd, -1, 0, NULL, NULL);
    Sleep(_sTime);
    _x++;
}

现在,我试图找出如何绘制笛卡尔系统。但是没有结果。

我有一个在每个sin值上滚动的窗口。

我尝试在hdc上画线。滚动窗口时,无法停止hdc使其不滚动。

然后,我从Windows创建另一个hDc,但没有成功。这该怎么做?问题是可以滚动窗口,但有一些点修复。

阿德里安·麦卡锡(Adrian McCarthy)

这样做的方法是一次绘制所有内容:清除窗口,绘制网格,然后在网格上绘制整个波形(而不仅仅是下一个点)。为了使波形滚动,您可以使用不同的偏移量重新绘制波形。

为避免闪烁,您可能需要做一些双重缓冲。

典型的WinAPI程序在处理WM_PAINT命令时会绘制窗口WM_PAINT当任何或所有窗口无效且需要重新绘制时,将生成消息。每次滚动窗口时,您都在创建一个无效的区域,但是由于忽略了该WM_PAINT消息,因此什么也没有发生。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

GetGuiResources WIn32 API使用

来自分类Dev

GetGuiResources WIn32 API使用

来自分类Dev

在Python中使用WIN32 API CreateProcessAsUser

来自分类Dev

使用C ++ Win32 API启用视觉样式吗?

来自分类Dev

PRINTER_INFO_6无法使用WIn32 API

来自分类Dev

如何禁用按钮-Win32 API

来自分类Dev

Win32 API SearchPath失败

来自分类Dev

Java到Win32加密API

来自分类Dev

Win32 API 无法 CreateWindowW()

来自分类Dev

如何使用Win32 TextOut绘制波浪形下划线

来自分类Dev

当我使用Windows 64位操作系统时,“ win32”从何而来

来自分类Dev

如何使用Win32或MFC获得Windows系统的正确关机时间

来自分类Dev

使用Win32 API时,要使用哪些数据类型?

来自分类Dev

使用Win32 API使用Windows属性存储(元数据)创建文件

来自分类Dev

使用Win32 / C ++ API更改Windows 7墙纸(未实现操作异常)

来自分类Dev

使用Win32 API找出图标资源中的图标数量

来自分类Dev

检查菜单项是否在Delphi中使用API Win32启用

来自分类Dev

如何使用Win32 API获取任何线程的堆栈大小和堆栈限制

来自分类Dev

使用Win32 API拒绝UWP文件夹访问权限

来自分类Dev

在哪里可以找到Win32 API中ManagementObjectSearcher中使用的所有表

来自分类Dev

使用Win32 Api在C程序中进行串行连接

来自分类Dev

在Win32程序中使用XAML Hosting API导航到页面会导致访问冲突

来自分类Dev

如何使用WIN32 API for C ++更改文本的颜色和大小?

来自分类Dev

使用自定义绘图在Win32 API中设置按钮文本颜色

来自分类Dev

(C ++)使用g ++返回“对WinMain @ 16的未定义引用”的Win32 API示例代码

来自分类Dev

C ++如何使用Win32 API通过线程从文本框中获取文本

来自分类Dev

如何使用Win32 API获取任何线程的堆栈大小和堆栈限制

来自分类Dev

有什么办法使用win32 api通过其标题获取窗口句柄?

来自分类Dev

Masm程序不起作用。(使用Win32 API-CreateFile)

Related 相关文章

  1. 1

    GetGuiResources WIn32 API使用

  2. 2

    GetGuiResources WIn32 API使用

  3. 3

    在Python中使用WIN32 API CreateProcessAsUser

  4. 4

    使用C ++ Win32 API启用视觉样式吗?

  5. 5

    PRINTER_INFO_6无法使用WIn32 API

  6. 6

    如何禁用按钮-Win32 API

  7. 7

    Win32 API SearchPath失败

  8. 8

    Java到Win32加密API

  9. 9

    Win32 API 无法 CreateWindowW()

  10. 10

    如何使用Win32 TextOut绘制波浪形下划线

  11. 11

    当我使用Windows 64位操作系统时,“ win32”从何而来

  12. 12

    如何使用Win32或MFC获得Windows系统的正确关机时间

  13. 13

    使用Win32 API时,要使用哪些数据类型?

  14. 14

    使用Win32 API使用Windows属性存储(元数据)创建文件

  15. 15

    使用Win32 / C ++ API更改Windows 7墙纸(未实现操作异常)

  16. 16

    使用Win32 API找出图标资源中的图标数量

  17. 17

    检查菜单项是否在Delphi中使用API Win32启用

  18. 18

    如何使用Win32 API获取任何线程的堆栈大小和堆栈限制

  19. 19

    使用Win32 API拒绝UWP文件夹访问权限

  20. 20

    在哪里可以找到Win32 API中ManagementObjectSearcher中使用的所有表

  21. 21

    使用Win32 Api在C程序中进行串行连接

  22. 22

    在Win32程序中使用XAML Hosting API导航到页面会导致访问冲突

  23. 23

    如何使用WIN32 API for C ++更改文本的颜色和大小?

  24. 24

    使用自定义绘图在Win32 API中设置按钮文本颜色

  25. 25

    (C ++)使用g ++返回“对WinMain @ 16的未定义引用”的Win32 API示例代码

  26. 26

    C ++如何使用Win32 API通过线程从文本框中获取文本

  27. 27

    如何使用Win32 API获取任何线程的堆栈大小和堆栈限制

  28. 28

    有什么办法使用win32 api通过其标题获取窗口句柄?

  29. 29

    Masm程序不起作用。(使用Win32 API-CreateFile)

热门标签

归档