⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elibtypes.pas

📁 支持库类 / 模块控件 / 支持库类 eLIB++支持库 源代码 Delphi
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    //   2、逻辑型:1 代表真,0 代表假;
    //   3、文本型:本变量此时为PChar指针,指向默认文本串;
    //   4、其它所有类型参数一律无默认指定值。
    //
    ////////////////////////////////////////////////////////////////////////////
  end;

const
  //////////////////////////////////////////////////////////////////////////////
  // 以下常量用于LIB_DATA_TYPE_ELEMENT结构的m_dwState成员

  LES_HAS_DEFAULT_VALUE = (1 shl 0);    // 本数据成员有默认值,默认值在m_nDefault中说明。

type
  //////////////////////////////////////////////////////////////////////////////
  // “窗口单元属性”:UNIT_PROPERTY

  pUNIT_PROPERTY = ^UNIT_PROPERTY;
  UNIT_PROPERTY  = record
    m_szName     : PChar;     // 属性名称,注意为利于在属性表中同时设置多对象的属性,相同意义属性的名称最好一致。
    m_szEGName   : PChar;     // 英文名称。
    m_szExplain  : PChar;     // 属性解释。

    m_shtType    : SmallInt;  // 属性的数据类型,见下面的常量定义
    m_wState     : Word;      // 状态值,见下面的常量定义
    m_szzPickStr : PChar;     // 顺序记录以"\0"分隔的所有备选文本(除开UD_FILE_NAME为所说明的特殊格式),最后以一个"\0"结束。当m_nType为UP_PICK_INT、UP_PICK_TEXT、UD_EDIT_PICK_TEXT、UD_FILE_NAME时不能为NULL。
  end;
  //////////////////////////////////////////////////////////////////////////////

const
  //////////////////////////////////////////////////////////////////////////////
  // 以下常量用于UNIT_PROPERTY结构的m_shtType和m_wState成员

  // “窗口单元属性”的数据类型(m_shtType)
  UD_INT              = 1001;  // 数据为INT值
  UD_DOUBLE           = 1002;  // 数据为DOUBLE值
  UD_BOOL             = 1003;  // 数据为BOOL值
  UD_DATE_TIME        = 1004;  // 数据为DATE值
  UD_TEXT             = 1005;  // 数据为字符串
  UD_PICK_INT         = 1006;  // 数据为INT值,用户只能选择,不能编辑。
  UD_PICK_TEXT        = 1007;  // 数据为待选字符串,用户只能选择,不能编辑。
  UD_EDIT_PICK_TEXT   = 1008;  // 数据为待选字符串,用户可以编辑。
  UD_PIC              = 1009;  // 为图片文件数据
  UD_ICON             = 1010;  // 为图标文件数据
  UD_CURSOR           = 1011;  // 第一个INT记录鼠标指针类型,具体值见Windows API的LoadCursor函数。如为-1,则为自定义鼠标指针,此时后跟相应长度的鼠标指针文件内容。
  UD_MUSIC            = 1012;  // 为声音文件数据
  UD_FONT             = 1013;  // 为一个LOGFONT数据结构,不能再改。
  UD_COLOR            = 1014;  // 数据为COLORREF值。
  UD_COLOR_TRANS      = 1015;  // 数据为COLORREF值,允许透明颜色(用CLR_DEFAULT代表,CLR_DEFAULT在VC++的COMMCTRL.H头文件中定义)。
  UD_FILE_NAME        = 1016;  // 数据为文件名字符串。此时m_szzPickStr中的数据为:对话框标题 + "\0" + 文件过滤器串 + "\0" + 默认后缀 + "\0" + "1"(取保存文件名)或"0"(取读入文件名)+ "\0" 。
  UD_COLOR_BACK       = 1017;  // 数据为COLORREF值,允许系统默认背景颜色(用CLR_DEFAULT代表)。
  UD_ODBC_CONNECT_STR = 1021;  // ODBC数据连接文本
  UD_ODBC_SELECT_STR  = 1022;  // ODBC数据查询SQL文本
  UD_IMAGE_LIST       = 1023;  // 图片组,数据结构为
    {  #define	IMAGE_LIST_DATA_MARK	(MAKELONG ('IM', 'LT'))
	/*
	DWORD: 标志数据:为 IMAGE_LIST_DATA_MARK
	COLORREF: 透明颜色(可以为CLR_DEFAULT)
	后面为图片组数据,用CImageList::Read和CImageList::Write读写。
	*/
    }
  UD_CUSTOMIZE        = 1024;  // 自定义类型属性


  // “窗口单元属性”的状态值(m_wState)
  UW_HAS_INDENT  = (1 shl 0);  // 在属性表中显示时向外缩进一段,一般用于子属性。
  UW_GROUP_LINE  = (1 shl 1);  // 在属性表中本属性下显示分组底封线。
  UW_ONLY_READ   = (1 shl 2);  // 只读属性,设计时不可用,运行时不能写。
  UW_CANNOT_INIT = (1 shl 3);  // 设计时不可用,但运行时可以正常读写。与上标志互斥。

  //////////////////////////////////////////////////////////////////////////////

const
  // 固定属性的数目
  FIXED_WIN_UNIT_PROPERTY_COUNT = 8;

  // 每个固定属性定义
  FIXED_WIN_UNIT_PROPERTY : array[0..FIXED_WIN_UNIT_PROPERTY_COUNT-1] of UNIT_PROPERTY =
   (( m_szName: PChar('左边');     m_szEGName: PChar('left');         m_szExplain: nil; m_shtType: UD_INT;    m_wState: 0; m_szzPickStr: nil ),
    ( m_szName: PChar('顶边');     m_szEGName: PChar('top');          m_szExplain: nil; m_shtType: UD_INT;    m_wState: 0; m_szzPickStr: nil ),
    ( m_szName: PChar('宽度');     m_szEGName: PChar('width');        m_szExplain: nil; m_shtType: UD_INT;    m_wState: 0; m_szzPickStr: nil ),
    ( m_szName: PChar('高度');     m_szEGName: PChar('height');       m_szExplain: nil; m_shtType: UD_INT;    m_wState: 0; m_szzPickStr: nil ),
    ( m_szName: PChar('标记');     m_szEGName: PChar('tag');          m_szExplain: nil; m_shtType: UD_TEXT;   m_wState: 0; m_szzPickStr: nil ),
    ( m_szName: PChar('可视');     m_szEGName: PChar('visible');      m_szExplain: nil; m_shtType: UD_BOOL;   m_wState: 0; m_szzPickStr: nil ),
    ( m_szName: PChar('禁止');     m_szEGName: PChar('disable');      m_szExplain: nil; m_shtType: UD_BOOL;   m_wState: 0; m_szzPickStr: nil ),
    ( m_szName: PChar('鼠标指针'); m_szEGName: PChar('MousePointer'); m_szExplain: nil; m_shtType: UD_CURSOR; m_wState: 0; m_szzPickStr: nil ));

  //////////////////////////////////////////////////////////////////////////////

type
  //////////////////////////////////////////////////////////////////////////////
  // “事件参数信息”EVENT_ARG_INFO结构

  pEVENT_ARG_INFO = ^EVENT_ARG_INFO;
  EVENT_ARG_INFO  = record
    m_szName    : PChar;  // 参数名称
    m_szExplain : PChar;  // 参数详细解释
    m_dwState   : Word;   // 状态值,见下面的常量定义(const EAS_IS_BOOL_ARG = (1 shl 0);)
  end;

const
  //////////////////////////////////////////////////////////////////////////////
  // 以下常量用于在EVENT_ARG_INFO结构的m_dwState成员

  EAS_IS_BOOL_ARG = (1 shl 0); // 为逻辑型参数,如无此标志,则认为是整数型参数

type
  //////////////////////////////////////////////////////////////////////////////
  //

  pEVENT_INFO = ^EVENT_INFO;
  EVENT_INFO  = record
    m_szName        : PChar;           // 事件名称
    m_szExplain     : PChar;           // 事件详细解释
    m_dwState       : Longword;        // 状态值,见下面的常量定义
    m_nArgCount     : Integer;         // 事件的参数数目
    m_pEventArgInfo : PEVENT_ARG_INFO; // 事件参数
  end;
  //////////////////////////////////////////////////////////////////////////////

const
  //////////////////////////////////////////////////////////////////////////////
  // 以下常量用于EVENT_INFO结构的m_dwState成员

  EV_IS_HIDED    = (1 shl 0);   // 本事件是否为隐含事件(即不能被一般用户所使用或被废弃但为了保持兼容性又要存在的事件)。
  EV_RETURN_INT  = (1 shl 3);   // 本事件的处理子程序需要返回一个整数值,与下标志互斥。
  EV_RETURN_BOOL = (1 shl 4);   // 本事件的处理子程序需要返回一个逻辑值,与上标志互斥。

  //////////////////////////////////////////////////////////////////////////////


type HUNIT = LongWord;

type pFN_INTERFACE = procedure(); stdcall;  // 通用接口指针

  
const
  //////////////////////////////////////////////////////////////////////////////
  // 窗口单元对外接口ID

  ITF_CREATE_UNIT             = 1;  // 创建单元

  // 下面两个接口仅在可视化设计窗口界面时使用。
  ITF_PROPERTY_UPDATE_UI      = 2;  // 说明属性目前可否被修改
  ITF_DLG_INIT_CUSTOMIZE_DATA = 3;  // 使用对话框设置自定义数据

  ITF_NOTIFY_PROPERTY_CHANGED = 4;  // 通知某属性数据被修改
  ITF_GET_ALL_PROPERTY_DATA   = 5;  // 取全部属性数据
  ITF_GET_PROPERTY_DATA       = 6;  // 取某属性数据
  ITF_IS_NEED_THIS_KEY        = 8;  // 询问单元是否需要指定的按键信息,用作窗口单元截获处理默认为运行时环境处理的按键,如TAB、SHIFT+TAB、UP、DOWN等。

type

  pFN_GET_INTERFACE = function (nInterfaceNO:Integer) : PFN_INTERFACE; stdcall;

  //////////////////////////////////////////////////////////////////////////////
  // 接口:

  // 创建单元,成功时返回HUNIT,失败返回NULL。
  pFN_CREATE_UNIT = function (
    pAllPropertyData     : PByte;      // 指向本窗口单元的已有属性数据,由本窗口单元的
    nAllPropertyDataSize : Integer;    // 提供pAllPropertyData所指向数据的尺寸,如果没有则为0。
    dwStyle        : LongWord;         // 预先设置的窗口风格。
    hParentWnd     : LongWord;         // 父窗口句柄。
    uID            : LongWord;         // 在父窗口中的ID。
    hMenu          : LongWord;         // 未使用。
    x, y           : Integer;          // 位置
    cx, cy         : Integer;          // 尺寸
    dwWinFormID    : LongWord;         // 本窗口单元所在窗口的ID,用作通知到系统。
    dwUnitID       : LongWord;         // 本窗口单元的ID,用作通知到系统。
    hDesignWnd     : LongWord = 0;     // 如果blInDesignMode为真,则hDesignWnd提供所设计窗口的窗口句柄。
    blInDesignMode : LongBool = false  // 说明是否被易语言IDE调用以进行可视化设计,运行时为假。
  ) : LongWord; stdcall;

  // 如果指定属性目前可以被操作,返回真,否则返回假。
  pFN_PROPERTY_UPDATE_UI = function (
    hUnit          : LongWord;         // 由PFN_CREATE_UNIT返回的已创建窗口单元的句柄,下同。
    nPropertyIndex : Integer           // 所需要查询属性的索引值,下同。
  ) : LongBool; stdcall;

  // 用作设置类型为UD_CUSTOMIZE的单元属性。如果需要重新创建该单元才能修改单元外形,请返回真。
  pFN_DLG_INIT_CUSTOMIZE_DATA = function (
    hUnit          : LongWord;
    nPropertyIndex : Integer;
    pblModified    : PLongBool= nil;   // 如果pblModified不为nil,请在其中返回是否被用户真正修改(便于易语言IDE建立UNDO记录)。
    pReserved      : Pointer = nil     // 保留未用。LPVOID
  ) : LongBool; stdcall;   

type
  // 临时结构,仅在UNIT_PROPERTY_VALUE结构中用于定义m_data成员
  T_UNIT_PROPERTY_VALUE__m_data  = record
    m_pData     : PByte;
    m_nDataSize : Integer;
  end;

  // 用作记录某属性的具体属性值。 (In VC6, UNIT_PROPERTY_VALUE is defined as a UNION)
  pUNIT_PROPERTY_VALUE = ^UNIT_PROPERTY_VALUE;
  UNIT_PROPERTY_VALUE  = record
    case Integer of
      0: (m_int        : Integer);   // 对应的属性类别:UD_INT、UD_PICK_INT,下同。
      1: (m_double     : Double);    // UD_DOUBLE
      3: (m_bool       : LongBool);  // UD_BOOL
      4: (m_dtDateTime : TDateTime); // UD_DATE_TIME
      5: (m_clr        : Longword);  // UD_COLOR、UD_COLOR_TRANS、UD_COLOR_BACK
      6: (m_szText     : PChar);     // UD_TEXT、UD_PICK_TEXT、UD_EDIT_PICK_TEXT、UD_ODBC_CONNECT_STR、UD_ODBC_SELECT_STR
      7: (m_szFileName : PChar);     // UD_FILE_NAME

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -