S shangshang Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-16 #2 这样吗? procedure TForm1.BitBtn1Click(Sender: TObject); var re: Trect; begin re := rect(0, 0, 50, 50); //InvalidateRect(Canvas.Handle, @re, true);//此处我写错了,见下面指正,应为下句 InvalidateRect(Handle,@re,true); end;
这样吗? procedure TForm1.BitBtn1Click(Sender: TObject); var re: Trect; begin re := rect(0, 0, 50, 50); //InvalidateRect(Canvas.Handle, @re, true);//此处我写错了,见下面指正,应为下句 InvalidateRect(Handle,@re,true); end;
网 网中戏 Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-14 #4 二楼正确。你问的是区域失效,迫使其重画。 如果重画内容不变化。肯定没有反应
我 我爱PASCAL Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-15 #5 >>如果重画内容不变化。肯定没有反应 我觉得不对,失效就是向它发送wm_paint 然后由它自已调用相应的代吗,所以重画出来的可能不一样。 我的目的就是要它画出来与原来不一样。
S shangshang Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-15 #6 你能否写个例子出来,让偶们瞅瞅,到底是怎样一个要求,怎样一个实现。
W wk_knife Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-15 #9 InvalidateRect 要窗口句柄HWND,不是HDC
S shangshang Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-16 #10 汗+寒+惭愧中。。。。呵呵,谢谢楼上. 我改过了。
我 我爱PASCAL Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-15 #11 是这样的,主窗口中有一drawgrid, 我在drawgrid的ondrawgridcell事件中写有代吗,让每个cell显示的内容都不一样, 当窗口被挡后,重新移开后,每个cell都很听话的还原了,当我在程序中改了某个 cell的图像后又要恢复,就要调用ondrawgridcell,但是不好调,我想到当窗口被挡后,重新移开后能自动触发ondrawgridcell,我就想invalidrect. 但是改用窗口的handle,如mainform.handle,还是application.handle,都无反应,不知是 何原因。
是这样的,主窗口中有一drawgrid, 我在drawgrid的ondrawgridcell事件中写有代吗,让每个cell显示的内容都不一样, 当窗口被挡后,重新移开后,每个cell都很听话的还原了,当我在程序中改了某个 cell的图像后又要恢复,就要调用ondrawgridcell,但是不好调,我想到当窗口被挡后,重新移开后能自动触发ondrawgridcell,我就想invalidrect. 但是改用窗口的handle,如mainform.handle,还是application.handle,都无反应,不知是 何原因。
Z zhenxin0603 Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-15 #12 控件的Handle啊,就是那个DrawGrid的 注:如果是在控件内部的话,那就是Handle或self.handle
我 我爱PASCAL Unregistered / Unconfirmed GUEST, unregistred user! 2006-06-18 #15 如zhenxin0603说的用: InvalidateRect(DrawGrid.Handle,@re,true); 这样就对了, 也就是要用canvas所在的twinctrol的handle