zoukankan      html  css  js  c++  java
  • 建立子窗体时出现错误“cannot make a visible window modal”

    建立子窗体时出现错误“cannot make a visible window modal”

    (1)首先在project的options中,将子窗口改为不自动创建,即“Available forms”。
    (2)如果窗体是MDIChild的话,是不可以ShowModal的,可以Show。因为ShowModal与Show是不同的。
             ShowModal时,要求Visiable=False,假使你设置为Visiable=True就会产生错误,而子窗体设置为MDIChild时Visiable自动设置为True;
              Show时,要求Visiable=True或False都不会错。

    ShowModal函数定义:
     function TCustomForm.ShowModal: Integer; 
     var 
         WindowList: Pointer; 
         SaveFocusCount: Integer; 
         SaveCursor: TCursor; 
         SaveCount: Integer; 
         ActiveWindow: HWnd; 
     begin 
         CancelDrag; 

         if Visible //Form.visible=True.
            or not Enabled or (fsModal in FFormState) or
            (FormStyle = fsMDIChild) then
        raise EInvalidOperation.Create(SCannotShowModal); //产生一个raise,出错误。
            其中SCannotShowModal = 'Cannot make a visible window modal';
                ...
             end   
    Show函数定义: 
    procedure TCustomForm.Show; 
    begin 
        Visible := True; 
        BringToFront; 
    end;

    研究备忘录,Q:340066709共同学习。
  • 相关阅读:
    【编程题目】左旋转字符串 ☆
    360測试开发笔试题(2016内推)
    start_kernel——boot_cpu_init及PER_CPU
    UVa 10673
    【面试】-Java基础知识
    Navgationcontroller 的pop
    别拿接口不当开发
    C++基础学习教程(三)
    安卓版微信自带浏览器和IE6浏览器ajax请求abort错误处理
    【动态树问题】LCT学习笔记
  • 原文地址:https://www.cnblogs.com/foyemeizhe/p/6877305.html
Copyright © 2011-2022 走看看