- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想在窗口创建时使它无效。我怎样才能做到这一点?在 WM_CREATE 期间调用 InvalidateRect 无效。
问题是我在 WM_CREATE 中调用 SetWindowLongPtr 并设置 GWLP_USERDATA。 WM_PAINT 在 USER_DATA 中寻找一些指针,但我第一次收到 WM_PAINT 时,数据显然不在那里,所以它不会绘制我的东西。
也试过这个:
#define MyDefinedMsg (WM_APP+1)
//...//
case WM_CREATE:
//...//
SetWindowLongPtr(hWnd,GWLP_USERDATA,ptr);
PostMessage(hWnd,MyDefinedMsg,0,0);
break;
case MyDefinedMsg:
InvalidateRect(hWnd,NULL,TRUE);
break;
但没有成功。
提前致谢
最佳答案
WM_CREATE/WM_SIZE/WM_PAINT
等)之后到达。如果您的绘画由于 GWLP_USERDATA 为 NULL 而失败,那么其他事情正在发生......
关于c++ - WM_CREATE 中的 InvalidateRect 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/698967/
函数 InvalidateRect(hWnd: HWND; const lpRect: TRect; bErase: BOOL): BOOL; 函数 InvalidateRect(hWnd: HWND
我需要反复重绘一个窗口,显示某种形式的连续分析。现在: 1)如果我在绘画后在WM_PAINT中这样做,我基本上会杀死其他人的绘画,所以它不可用。 2)如果我在计时器中执行此操作,则会有点滞后。 那么最
如果我在父窗口上调用 InvalidateRect(),例如: InvalidateRect(hWnd, NULL, TRUE); 将会发生的是,在 WM_PAINT 处理程序中,BeginPaint
我创建了一个水平滚动条控件,我在 WM_HSCROLL 事件处理程序中有以下代码: case WM_HSCROLL: { InvalidateRect(hWnd, NULL,
我想在窗口创建时使它无效。我怎样才能做到这一点?在 WM_CREATE 期间调用 InvalidateRect 无效。 问题是我在 WM_CREATE 中调用 SetWindowLongPtr 并设置
当我想重绘一个窗口时,在 InvalidateRect 和 RedrawWindow 之间有什么首选的函数可以调用吗? 例如,这两个调用是否相等:(win 将是 HWND) RedrawWindow(
我仅在 iOS 7 上遇到无法重现的崩溃。我大量使用 MKOverlayRenderer 在 map 上绘制形状。此崩溃不会发生在 iOS 6 上。 关于这可能与之相关的任何想法都会很有用。 Exce
为了减少闪烁,我使用 WS_CLIPCHILDREN 标志创建我的父窗口,并在 WM_SIZE 事件期间调用 InvalidateRect。这种方法在 Windows XP 中运行良好。但是,我最近开
如果程序 CudaText 从终端运行(在 Ubuntu 14.04 上),则终端充满消息: 警告:TGtk2WidgetSet.InvalidateRect 在绘制消息期间拒绝无效 如何禁用它们的来
完整程序在这里: http://examples.oreilly.com/9781572319950/cd_contents/Chap07/Checker4/Checker4.c ChildWndPr
我的自定义绘图区的 WM_PAINT 看起来像这样: // TRUE to clear the background if (GetUpdateRect(hwnd, &r, TRUE) == 0)
我是一名优秀的程序员,十分优秀!