那个兰条跟 MDIForm 没关系,是 Splitter 的“影子”,你如果把它 parentcolor =true 就看不到了:)<br>只要你设成别的颜色,而且 splitter 不是界面上最左上角的控件,“影子”就会出现<br>我看了一下 VCL 源码, 应该是个VCL 的 Bug,Splitter 被画了两次,<br>第二次画的时候 Canvas.ClientRect 位置计算不对。<br>我看了一下,应该是 Forms 中的<br>procedure TCustomForm.ClientWndProc(var Message: TMessage); <br><br>过程中消息响应产生了问题。<br>我试着拷贝一个 Forms.pas 到当前目录,把 当前工程 关闭打开一次(确保 Delphi 使用我当前目录的Forms)。<br>然后在 Forms.pas 中注释一些代码,就是<br>procedure TCustomForm.ClientWndProc(var Message: TMessage); <br>中的如下所示代码:<br>{ WM_PAINT:<br> begin<br> DC := TWMPaint(Message).DC;<br> if DC = 0 then TWMPaint(Message).DC := BeginPaint(ClientHandle, PS);<br> try<br> PaintHandler(TWMPaint(Message));<br> finally<br> if DC = 0 then EndPaint(ClientHandle, PS);<br> end;<br> end;<br>}<br>把这段代码注释后,结果蓝色条带消失<br>我猜测是不是这里响应 WMPaint 造成重复。<br>当然让大家都来改 Forms.pas 显然不是好办法,不知道谁有 D7 的代码,看看这里是不是改过?<br>