OpenDCL Forums

OpenDCL => Runtime/AutoLISP => Topic started by: XDCAD on August 12, 2012, 10:54:39 PM

Title: Help,How to get the type of form ?
Post by: XDCAD on August 12, 2012, 10:54:39 PM
HI,ALL.

Code (autolisp) Select
  (setq _forms (vl-remove-if-not 'dcl_form_isactive (apply
      'append
      (mapcar
'dcl_project_getforms
(dcl_getprojects)
      )
    )
       )
  )



Through the above code get form variables, how to further the type of form?
exp:  Modeless ? Control Bar? .....

Thanks...
Title: Re: Help,How to get the type of form ?
Post by: roy_043 on August 12, 2012, 11:53:52 PM
Perhaps this is what you are looking for?:
(dcl_Control_Dump <CONTROL> {Deep [as Boolean]})
Title: Re: Help,How to get the type of form ?
Post by: XDCAD on August 13, 2012, 03:03:07 AM
Thanks roy_043.

Quote命令: (setq d (dcl_Control_Dump (cadar a) t))
CDclControlobject [_CtlForm: XDOB_LayerAssistant_图层上停靠Bar (DlgControl:
XDOB_LayerAssistant_图层上停靠Bar)]
  #   0: Property [              (Name)] = [PropString/0] "图层上停靠Bar"
  #   1: Property [               Close] (hidden) = [PropEvent/0]
c:LayerTopBar_OnClose
  #   2: Property [        DocActivated] (hidden) = [PropEvent/0]
c:LayerTopBar_OnDocActivated
  #   3: Property [  EnteringNoDocState] (hidden) = [PropEvent/0]
c:LayerTopBar_OnEnteringNoDocState
  #   4: Property [                Help] (hidden) = [PropEvent/0]
  #   5: Property [          Initialize] (hidden) = [PropEvent/0]
c:LayerTopBar_OnInitialize
  #   6: Property [        MouseEntered] (hidden) = [PropEvent/0]
  #   7: Property [       MouseMovedOff] (hidden) = [PropEvent/0]
  #   8: Property [                Move] (hidden) = [PropEvent/0]
  #   9: Property [                Size] (hidden) = [PropEvent/0]
  #  10: Property [    (ControlBrowser)] = [PropActiveXMethods/0/""] {Prop:
<null>, PropGet: <null>, PropPut: <null>, PropPutRef: <null>, Event: <null>,
Methods: {<null>}}
  #  11: Property [       AllowResizing] = [PropBool/0] False
  #  12: Property [           BackColor] = [PropLong/0] -24
  #  13: Property [       DockableSides] = [PropEnum/0] 1
  #  14: Property [         EventInvoke] = [PropEnum/0] 1
  #  15: Property [              Height] = [PropLong/0] 32
  #  16: Property [           KeepFocus] = [PropBool/0] False
  #  17: Property [           MaxHeight] = [PropLong/0] 30
  #  18: Property [            MaxWidth] = [PropLong/0] 0
  #  19: Property [           MinHeight] = [PropLong/0] 30
  #  20: Property [            MinWidth] = [PropLong/0] 0
  #  21: Property [        TitleBarText] = [PropString/0] "图层助手TopBar"
  #  22: Property [             VarName] = [PropString/0] "LayerTopBar"
  #  23: Property [               Width] = [PropLong/0] 1080
T

The return value is T, how to identify which types of form?


Thanks again...

Title: Re: Help,How to get the type of form ?
Post by: Fred Tomke on August 14, 2012, 06:01:28 AM
Hi, there's no direct way but you can compare the returning values of (dcl_Control_GetProperties form) of each form type. There are some special properties and events of each form type. You only have to search for the relevant ones...

Regards, Fred