请选择 进入手机版 | 继续访问电脑版

EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 774|回复: 0

[转帖] FORM创建函数 - axlFormCreate

[复制链接]

48

主题

0

回帖

399

E币

技术员

Rank: 2

积分
96
发表于 2017-5-8 10:19:11 | 显示全部楼层 |阅读模式
axlFormCreate函数用于加载一个FORM,并返回创建FORM的DBID,axlFormCreate一般结构为:
axlFormCreate(
s_formHandle
t_formfile
[lt_placement]
g_formAction
g_nonBlock
[g_stringOption]
)
⇒ r_form/nil

注意,FORM必须为FIXED类型,否则将不能使用axlFormCreate创建form,使用该函数创建FORM后,并不会立即将FORM显示出来,必须使用axlFormDisplay函数显示FORM。

各个参数详解:
s_formHandle : 这个代表FORM的句柄,简单的理解,就是该FORM在那个窗口上显示,一般这个参数我们使用 (gensym)

t_formfile :这个指定FORM文件的完整路径。

[lt_placement] :可选参数,这个代表FORM的显示位置。当使用nil 时,allegro会调用默认的位置显示。
下面是位置参数(注,使用的时候选择括号中的字母即可)
north(n) northeast(ne) east(e) southeast(se)
south(s) southwest(sw) west(w) northwest(nw)
center(c)

Inner or Outer 设置FORM显示在ALLEGRO里面还是外面,默认为里面即 Inner
Canvas or Window 设置FORM显示在drawing area还是整个windows,drawing area即allegro中绘制PCB的区域(简单理解,就是黑色的那个大区域)
其他还包括Border or NoBorder、MsgLines (Default 1),这儿就不说了,基本上很少用到。

比如我想显示在左上角,即northwest(nw),且在drawing area区域显示,那么lt_placement参数就使用(nw Canvas)
g_formAction :对FORM所有触发事件响应的函数,比如对点击某个按钮,则会执行该函数。

g_nonBlock :可设置FORM是否在non-blocking模式下运行。

[g_stringOption] :可选参数,如果为t,那么form返回的所有值都为string格式。一般设置为nil

返回值:
r_form/nil ,加载成功则返回form的dbid,否则返回nil


例子:
  1. form = axlFormCreate( (gensym) "formtest.form" '(se outer) '_formtestCallBk t )
复制代码

这里加载一个FORM,显示在southeast(se),事件函数为_formtestCallBk。

积分规则
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-3-29 00:41 , Processed in 0.039300 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表