我的问题:在 .ocx 中出现 has no parent window 错误,谁帮我解决分大大的。(300分)

  • 主题发起人 主题发起人 大文
  • 开始时间 开始时间
总得说一下吧?
 
我找了一下,将这几个地方改改就可以用了,但是有没有新的问题还不知道。
第一,将PrintDBGridEh的基类改为TWinControl如下所示:
// TPrintDBGridEh = class(TComponent) //大文改为如下所示
TPrintDBGridEh = class(TWinControl) //如果用TWinControl就可以建立可是在预览的时候还是有问题

第二,将PrintRichText过程中的Flush buffer去掉,因为在Dll程序中 RichText不能自动获得一个Parent window handle

procedure PrintRichText(Strings:TRichEditStrings); //大文改过
begin
.
.
.
//大文屏蔽掉 SendMessage(Strings.RichEdit.Handle, EM_FORMATRANGE, 0, 0); // flush buffer
//大文屏蔽掉 LastChar := SendMessage(Strings.RichEdit.Handle, EM_FORMATRANGE, RangeMode, Longint(@Range));
//大文屏蔽掉 SendMessage(Strings.RichEdit.Handle, EM_FORMATRANGE, 0, 0); // flush buffer
.
.
.
end;
 
后退
顶部