DrawStatustext仅在后续呼叫上不在第一次呼叫上绘制文本
DrawStatusText does not draw text on first call, only on subsequent calls
我有一个程序在WM_PAINT
消息中使用DrawStatusTextW()
功能。当它被称为时,没有绘制文本。但是,在随后的呼叫中,例如将窗口移动任务栏下的窗口然后将其撤回,绘制了文本。
我尝试使用该功能使用不同的标志,并尝试将其放入WM_CREATE
消息中。无效。
RECT status_rect;
HDC status_dc;
SNDMSG(controls.status_bar, SB_GETRECT, 0, reinterpret_cast<LPARAM>(&status_rect));
status_dc = GetDC(controls.status_bar);
SelectObject(status_dc, status_font);
DrawStatusText(status_dc, &status_rect, L"Ready.", SBT_NOBORDERS);
ReleaseDC(controls.status_bar, status_dc);
它应该在第一个呼叫上绘制状态文本。我不必在窗户上移动,以便重新绘制自己。
每个HWND
都可以处理自己的绘画。如果您在绘画父窗口时画在状态栏上,那么状态栏自己的油漆处理将消除您的画。
如果要自定义油漆状态栏,请绘制状态栏并在其父窗口中处理WM_DRAWITEM
消息。
相关文章:
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 我必须构建我的项目 2 次,第一次失败,因为它无法打开库
- 是什么导致我的循环在第一次迭代中运行得更慢
- QLibrary 函数在第一次调用时工作缓慢
- 第一次尝试使用new动态创建结构数组,程序挂起没有错误
- 为什么第一次迭代后的指针指向随机值?
- 如何防止GUI挂起,同时允许第二次操作与Qt中的第一次操作一起执行
- LAPACK函数在第一次迭代后变慢
- 为什么 Boost unordered_map 在第一次插入时需要太多时间?
- EGL 在第一次 opengl 函数调用时崩溃
- 提升 Asio SSL 无法第二次接收数据(第一次确定)
- 数组仅在第一次返回错误值
- C++程序在第一次尝试时会给出垃圾,但如果它捕获异常并重试,则会给出适当的值
- 为什么字符串的长度在第一次读取文件时相差 1?
- 为什么 new 第一次分配 1040 个额外的字节?
- 插入多音符:在该值的第一次发生之前,而不是在上次发生之后
- 第一次尝试在线编程给出错误的答案
- 第一次运行时,用CL挂起的代码挂太长
- 第一次捕获捕获任何类型的
- DrawStatustext仅在后续呼叫上不在第一次呼叫上绘制文本