我在将子窗体停靠在主窗体时碰到一个问题。
子窗体有一个DBGrid和一个ComboBox以及几个Button。在DBGrid的DrawDataCell事件中我写了一点代码,子窗体单独调试运行完全正常。然而当停靠到主窗体时子窗体DBGrid的DrawDataCell事件就不再触发了。我将主窗体的KeyPreview置为True也不管用。应该怎么解决呢?
再说得详细点儿:为了将子窗体的ComboBox1控件植入到DBGrid的Cell中,我在子窗体的DrawDataCell事件中这样写: if gdFocused in State then
if Field.FieldName = '中文名称' then
begin
ComboBox1.Left := Rect.Left + DBGrid1.Left;
ComboBox1.Top := Rect.Top + DBGrid1.Top;
ComboBox1.Width := Rect.Right - Rect.Left + 2;
ComboBox1.Visible := True;
end
else
ComboBox1.Visible := False;并且将子窗体的KeyPreview属性置为 True。子窗体单独运行很正常,ComboBox1会植入进DBGrid1中去。可是当子窗体停靠在主窗体时由于主窗体本身自己没有DBGrid控件,所以上面的事件就无法触发了,ComboBox1也就无法植入到DBGrid1中了。问题大概就是这样。请高手指教一二,谢了。
子窗体有一个DBGrid和一个ComboBox以及几个Button。在DBGrid的DrawDataCell事件中我写了一点代码,子窗体单独调试运行完全正常。然而当停靠到主窗体时子窗体DBGrid的DrawDataCell事件就不再触发了。我将主窗体的KeyPreview置为True也不管用。应该怎么解决呢?
再说得详细点儿:为了将子窗体的ComboBox1控件植入到DBGrid的Cell中,我在子窗体的DrawDataCell事件中这样写: if gdFocused in State then
if Field.FieldName = '中文名称' then
begin
ComboBox1.Left := Rect.Left + DBGrid1.Left;
ComboBox1.Top := Rect.Top + DBGrid1.Top;
ComboBox1.Width := Rect.Right - Rect.Left + 2;
ComboBox1.Visible := True;
end
else
ComboBox1.Visible := False;并且将子窗体的KeyPreview属性置为 True。子窗体单独运行很正常,ComboBox1会植入进DBGrid1中去。可是当子窗体停靠在主窗体时由于主窗体本身自己没有DBGrid控件,所以上面的事件就无法触发了,ComboBox1也就无法植入到DBGrid1中了。问题大概就是这样。请高手指教一二,谢了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货