如何清除Win32 API中的屏幕

维斯瓦兰·纳加斯瓦姆

我有一个C ++ Windows API程序,该程序使用TextOut函数显示文本

TCHAR buffer[] = _T("Hello");
        TCHAR buffer1[] = _T("How to clear this one\?");
        TextOut(hdc,200,170,buffer,_tcslen(buffer));
        TextOut(hdc, 200, 185, buffer1, _tcslen(buffer1));

我的进一步文本输出已被这样覆盖在此处输入图片说明

如何清除上一个并添加此。

我发现在这样的相同位置上执行TextOut功能

TextOut(hdc,200,170,buffer,_tcslen(buffer));
        TextOut(hdc, 200, 170, buffer1, _tcslen(buffer1));

将取代上一个,但由于其他一些原因,我无法执行此操作,这是清除屏幕的实际方法。像system(“ cls”)这样的Windows窗口中是否有用于控制台的内容,谢谢

Matteo意大利

这个问题提出得不当,因为您似乎认为窗口的可绘制表面某种程度上是持久的-并非如此,系统可以自由地忽略其所有内容,并调用WM_PAINT处理程序以将其重新绘制回窗口。说明它在哪里。因此,这个问题感到很奇怪:不是您要擦除已经存在的某些内容(窗口内容是短暂的),而是要安排您的绘制代码不再绘制您不需要的内容并强制重新绘制。

所以,如果你正在做的图形中WM_PAINT应该像你,你应该设置一些种类标志(或者可能是,清除存储的元素绘制数据结构),它告诉你的重绘代码没有绘制文本,做一个InvalidateRect(hwnd, TRUE)有您的窗口背景被重新粉刷,并且您WM_PAINT被称为。

但是,我担心的是您没有按照要求进行绘画WM_PAINT,而是使用GetDC诸如此类的东西分散在其他地方(提示:在正常的应用中,几乎没有需要GetDC或的地方CreateDC);在这种情况下,您已经做错了(通过最小化和还原窗口可以看到),并且应该在继续之前学习正确的操作方法。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何禁用按钮-Win32 API

来自分类Dev

Windows:如何拦截Win32磁盘I / O API

来自分类Dev

如何为Win32 API声明变量?

来自分类Dev

在C ++ Win32程序中,如何修改菜单标题?

来自分类Dev

如何在Win32程序中设置以记住大小

来自分类Dev

检测屏幕锁定 - Win32 中的 FMX

来自分类Dev

WIN32 API中WM_MOUSEHOVER上的POPUP窗口-如何关闭它?

来自分类Dev

Win32 API:如何在Edit控件中捕获转义键?

来自分类Dev

Win32 API:如何在编辑控件中更改部分文本的颜色

来自分类Dev

如何在Win32中正确调用HeapSummary API?

来自分类Dev

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

来自分类Dev

Win32 API:如何在Edit控件中捕获转义键?

来自分类Dev

Win32 API:如何在编辑控件中更改部分文本的颜色

来自分类Dev

WIN32 API中WM_MOUSEHOVER上的POPUP窗口-如何关闭它?

来自分类Dev

如何使用Win32 API从INI文件中删除部分?

来自分类Dev

如何更改屏幕大小cocos2dx win32项目

来自分类Dev

如何使屏幕阅读器阅读WPF消息的方式类似于阅读Win32 MessageBox?

来自分类Dev

GetGuiResources WIn32 API使用

来自分类Dev

Win32 API SearchPath失败

来自分类Dev

GetGuiResources WIn32 API使用

来自分类Dev

Java到Win32加密API

来自分类Dev

Win32 API 无法 CreateWindowW()

来自分类Dev

Win32 API:如何读取序列,如果不是数据,如何在超时内退出

来自分类Dev

无法在Win32 API中读取HWND的内存

来自分类Dev

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

来自分类Dev

如何仅通过Win32 API实现.NET Process.Exited事件

来自分类Dev

如何从MFC应用程序调用函数的Win32 API版本?

来自分类Dev

如何确定两个Win32 API句柄代表同一对象?

来自分类Dev

Golang:如何在没有cgo的情况下调用win32 API?

Related 相关文章

  1. 1

    如何禁用按钮-Win32 API

  2. 2

    Windows:如何拦截Win32磁盘I / O API

  3. 3

    如何为Win32 API声明变量?

  4. 4

    在C ++ Win32程序中,如何修改菜单标题?

  5. 5

    如何在Win32程序中设置以记住大小

  6. 6

    检测屏幕锁定 - Win32 中的 FMX

  7. 7

    WIN32 API中WM_MOUSEHOVER上的POPUP窗口-如何关闭它?

  8. 8

    Win32 API:如何在Edit控件中捕获转义键?

  9. 9

    Win32 API:如何在编辑控件中更改部分文本的颜色

  10. 10

    如何在Win32中正确调用HeapSummary API?

  11. 11

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

  12. 12

    Win32 API:如何在Edit控件中捕获转义键?

  13. 13

    Win32 API:如何在编辑控件中更改部分文本的颜色

  14. 14

    WIN32 API中WM_MOUSEHOVER上的POPUP窗口-如何关闭它?

  15. 15

    如何使用Win32 API从INI文件中删除部分?

  16. 16

    如何更改屏幕大小cocos2dx win32项目

  17. 17

    如何使屏幕阅读器阅读WPF消息的方式类似于阅读Win32 MessageBox?

  18. 18

    GetGuiResources WIn32 API使用

  19. 19

    Win32 API SearchPath失败

  20. 20

    GetGuiResources WIn32 API使用

  21. 21

    Java到Win32加密API

  22. 22

    Win32 API 无法 CreateWindowW()

  23. 23

    Win32 API:如何读取序列,如果不是数据,如何在超时内退出

  24. 24

    无法在Win32 API中读取HWND的内存

  25. 25

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

  26. 26

    如何仅通过Win32 API实现.NET Process.Exited事件

  27. 27

    如何从MFC应用程序调用函数的Win32 API版本?

  28. 28

    如何确定两个Win32 API句柄代表同一对象?

  29. 29

    Golang:如何在没有cgo的情况下调用win32 API?

热门标签

归档