UpdateWindow(Form1.Handle);
我用TextOut写的字为什么用UpdateWindow刷新不掉呢?
但是当我用其他的窗口把文字覆盖下,这文字马上就没有了.闷啊

解决方案 »

  1.   

    UpdateWindow的作用是将WM_PAINT从消息队列中提出来提前刷新窗口,
    如果没有WM_PAINT消息当然就不会有效果,所以要先调用InvalidateRect函数产生WM_PAINT消息,
    再用UpdateWindow函数刷新窗口procedure TForm1.Button2Click(Sender: TObject);
    var
      s: PRect;
    begin
      New(s);
      with ClientRect do begin
        s.Left := Left;
        s.Top := Top;
        s.Right := Right;
        s.Bottom := Bottom;
    {    s.TopLeft := TopLeft;
        s.BottomRight := BottomRight;}
      end;
      InvalidateRect(Handle,s,True);
      UpdateWindow(Handle);
      Dispose(s);
    end;上面的废话只是为了说明道理,最简单的方法还是 ReFresh 方法啊。