1、一个主窗口,多个子窗口,子窗口通过修改CreateParams使子窗口最小化时能够最小化到WINDOWS的任务栏,而不是在任务栏的左上角。代码如下:
void  __fastcall  TForm2::CreateParams(TCreateParams & Params)
{
  TForm::CreateParams( Params);
  Params.WndParent = GetDesktopWindow();
}主窗口通过Hide()在最小化时隐藏。现在进入主窗口后,若不打开任何子窗口,则通过Hide()可以将主窗口隐藏,若已打开子窗口,则通过Hide()不能将主窗口隐藏,还会在任务栏有显示,此时若关闭子窗口,则主窗口就隐藏了。2、TRICHEDIT中的字体显示问题:
通过以下代码将RICHEDIT中的连接高亮显示:
  unsigned   mask=SendMessage(re->Handle,EM_GETEVENTMASK,0,0);  
  SendMessage(re->Handle,EM_SETEVENTMASK,0,mask|ENM_LINK);
  SendMessage(re->Handle,EM_AUTOURLDETECT,true,0);
然后进行如下操作:
输入一个网址:http://www.sina.com.cn,然后用re->Clear()将输入的内容清空,然后再再re中输入中文,结果输入的中文也变为高亮显示了,而若不输入中文,输入英文,则显示是正常的,即不会被高亮显示。问题困扰已久,求达人帮手!谢谢!

解决方案 »

  1.   

    第二个问题可以这样
      RichEdit1->Clear;
      RichEdit1->SelAttributes->Assign(RichEdit1->Font);
      

  2.   

    补充一下,所有的窗口都是设置为NORMAL,而并没有设置为MDIFORM
      

  3.   

    测试后,zswang(伴水清清)(专家门诊清洁工)的方法不能解决第二个问题!
      

  4.   

    Application->Minimize
    //
    这一句就可以做到最小化到任务条上了第二个问题:(可以到http://delphi.about.com/od/vclusing/l/aa111803a.htm这里去看)
    procedure TForm1.InitRichEditURLDetection(RE: TRichEdit);
    var
      mask: Word;
    begin
      mask := SendMessage(RE.Handle, EM_GETEVENTMASK, 0, 0);
      SendMessage(RE.Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
      SendMessage(RE.Handle, EM_AUTOURLDETECT, Integer(True), 0);
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      s: string;
    begin
      InitRichEditURLDetection(RichEdit1);  s:='Great Delphi tutorials and articles at ' +
         'http://www.delphi.about.com.' + #13#10 +
         'About Delphi Programming site!' + #13#10 +
         'Send an email to your Guide: mailto:[email protected]';
      RichEdit1.Text := s;  s:= 'http://www.delphi.about.com. ' +
          ' This Rich Edit does not recognize URLs!';
      RichEdit2.Text := s
    end;