C cmd9x Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-12 #3 就是那个DrawFocusRect产生和效果,ListBox选中的那一个Item会有一个焦点框啊 我想完全由自己来绘制Canvas所以不想要那个焦点框,不知道怎样去除掉
X xiaohongna Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-12 #4 对~我也发现自绘的时候会出现那个讨厌的框框~不过没有想过消除它~就是有一点不好看`~ 我也想知道怎么消除它~不过在有框框的地方再画一次框框就没有了~
C cmd9x Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-12 #5 重画一次是不能清除掉的,因为最下面还有一层蓝色,用来表示有输入焦点的.所以楼上的方法不行.
A ANiDelphi Unregistered / Unconfirmed GUEST, unregistred user! 2006-12-13 #6 procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin //do something; { 下面这行就能消除所谓的焦点框了 } if odFocused in State then DrawFocusRect(ListBox1.Canvas.Handle, Rect); end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin //do something; { 下面这行就能消除所谓的焦点框了 } if odFocused in State then DrawFocusRect(ListBox1.Canvas.Handle, Rect); end;