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

📄 00000003.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 4 页
字号:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XChangeProperty&nbsp;会产生一个&nbsp;PropertyNotify&nbsp;事件给悬挂该性质的视窗。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;性质一旦被应用程式所定义,即使当初定义该性质的应用程式结束,该性质的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;定义依然有效,除非有下列三种情况之一发生,该性质的定义才会被释放,这&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;三种情况是:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一、当初定义该性质的应用程式,呼叫&nbsp;XDeleteProperty&nbsp;函式删除该性质的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;定义。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;二、悬挂该性质的视窗已被关掉(已不存在)。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;三、和&nbsp;X&nbsp;伺服器的连线(connection)已被结束掉。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;性质内能存放资料的大小是和伺服器相关的(server-dependent),如果伺服器上&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的记忆体空间够大的话,可以调整性质内能存放资料的空间大小。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>由视窗上的性质中读取资料&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当应用程式知道某个视窗上有某个性质时,可以透过呼叫&nbsp;XGetWindowProperty&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个函式去读取该视窗上该性质内的资料,其函式的型式如下:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;*display;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Window&nbsp;&nbsp;window;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Atom&nbsp;&nbsp;&nbsp;&nbsp;prop_name;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;&nbsp;&nbsp;&nbsp;offset;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;&nbsp;&nbsp;&nbsp;length;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bool&nbsp;&nbsp;&nbsp;&nbsp;delete;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Atom&nbsp;&nbsp;&nbsp;&nbsp;prop_type;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Atom&nbsp;&nbsp;&nbsp;&nbsp;ret_prop_type;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_format;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;ret_length;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;bytes_left;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;*ret_prop;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XGetWindowProperty(display,&nbsp;window,&nbsp;prop_name,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offset,&nbsp;length,&nbsp;delete,&nbsp;prop_type,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;ret_prop_type,&nbsp;&amp;ret_format,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;ret_length,&nbsp;&amp;bytes_left,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;ret_prop);&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display&nbsp;为应用程式和&nbsp;X&nbsp;伺服器的连线(connection),通常&nbsp;X&nbsp;视窗的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应用程式一开始就会建立这条连线。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window&nbsp;为悬挂该性质的视窗的视窗识别码。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prop_name&nbsp;为该视窗上该性质名字相对应的原子。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;offset&nbsp;指明应用程式要从那个起始位置读取资料。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;length&nbsp;指明应用程式一次要读取多少笔资料。。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete&nbsp;表示应用程式在读取性质内的资料後,要不要删除该性质,其值可为&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True&nbsp;或&nbsp;False,当&nbsp;delete&nbsp;之值为&nbsp;False&nbsp;时,表示应用程式在读取完性质内的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;资料後,不会去删除该性质;当&nbsp;delete&nbsp;之值为&nbsp;True&nbsp;时,表示应用程式在读取&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;完该性质内的资料後,如果&nbsp;bytes_left&nbsp;的值为零(表示性质内已无尚未读取的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;资料),则删除该视窗上的性质,并产生一个&nbsp;PropertyNotify&nbsp;事件给该视窗。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prop_type&nbsp;表示应用程式所期望的性质是哪一种资料型态,以原子来表示。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_prop_type&nbsp;表示该视窗上该性质之真正的资料型态,以原子来表示,此参数&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是结果回传值。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_format&nbsp;表示该视窗上该性质内的资料格式,可能的值为&nbsp;8、16&nbsp;或&nbsp;32,此&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参数是结果回传值。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_length&nbsp;表示该性质内的资料,如果以&nbsp;ret_format&nbsp;的单位来计算,总共有多&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;少笔,此参数是结果回传值。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes_left&nbsp;表示应用程式在执行一次读取该性质内的资料後,性质内还有多少&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;尚未被读取的资料;如果性质内还有尚未被读取的资料,应用程式可以再呼叫&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XGetWindowProperty&nbsp;函式去撷取尚未被读取的资料,此参数是结果回传值。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_prop&nbsp;为指向该性质内资料的一个字元指标,此参数是结果回传值。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果应用程式指明的性质不在该视窗上,则该函式呼叫完後,&nbsp;ret_prop_type&nbsp;之值&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为&nbsp;None,&nbsp;ret_format&nbsp;之值为零,&nbsp;bytes_left&nbsp;之值为零,ret_length&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;之值为零。如果应用程式指明的性质的确悬挂在该视窗上,但是应用程式所期望&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的性质资料型态和该性质的真正资料型态不一致时,则该函式呼叫完後,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_prop_type&nbsp;表明性质真正的资料型态,&nbsp;ret_format&nbsp;表明性质内的资料格式&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(绝不会为零),&nbsp;bytes_left&nbsp;表明该性质内有多少个位元组(byte)的资料(即使&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_format&nbsp;的值为&nbsp;16&nbsp;或&nbsp;32),&nbsp;ret_length&nbsp;之值为零。如果应用程式指明的性质&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的确悬挂在该视窗上且应用程式所期望的性质资料型态和该性质的真正资料型态一致&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,或该性质的真正资料型态为&nbsp;AnyPropertyType&nbsp;时,则在该函式呼叫完後,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret_prop_type&nbsp;表明性质真正的资料型态,&nbsp;ret_format&nbsp;表明性质内的资料格式&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(绝不会为零),而&nbsp;ret_length&nbsp;及&nbsp;bytes_left&nbsp;的计算公式如下:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&nbsp;=&nbsp;表示性质内的资料,以位元组来计算的话有多少笔。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I&nbsp;=&nbsp;4&nbsp;*&nbsp;offset&nbsp;(将单位由&nbsp;long&nbsp;转换为&nbsp;byte)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;L&nbsp;=&nbsp;min(&nbsp;(N-I)&nbsp;,&nbsp;4&nbsp;*&nbsp;length&nbsp;),如果&nbsp;L&nbsp;小於零,则为&nbsp;BadValue,如果&nbsp;L&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;大於或等於零,则将&nbsp;L&nbsp;除以&nbsp;ret_format&nbsp;後的值指定给&nbsp;ret_length。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytes_left&nbsp;=&nbsp;N&nbsp;-&nbsp;(I+L)&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;综合上述,可以归纳出:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一、如果&nbsp;ret_format&nbsp;的值为零的话,表示该视窗上没有应用程式所指明的性质。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;二、如果&nbsp;ret_format&nbsp;的值不为零,但是&nbsp;ret_length&nbsp;的值为零,表示应用程式&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所期望的性质资料型态与悬挂在该视窗上性质的真正资料型态不一致。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;三、如果&nbsp;bytes_left&nbsp;的值不为零,表示该性质中还有尚未被取的资料,应用程式&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应该分段地把性质内的资料全部读取出来。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当&nbsp;XGetWindowProperty&nbsp;执行成功时,传回值为&nbsp;Success(其值为零),失败时&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;传回值为&nbsp;1&nbsp;。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>删除性质的定义&nbsp;<BR>&nbsp;<BR>如果应用程式打算删除性质的定义,可呼叫&nbsp;XDeleteProperty&nbsp;来完成这项工作,&nbsp;<BR>其函式的型式如下:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;*display;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Widnow&nbsp;window;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Atom&nbsp;prop_name;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XDeleteProperty(display,&nbsp;window,&nbsp;prop_name);&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display&nbsp;为应用程式和&nbsp;X&nbsp;伺服器的连线(connection),通常&nbsp;X&nbsp;视窗的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应用程式一开始就会建立这条连线。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window&nbsp;为悬挂该性质的视窗的视窗识别码。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prop_name&nbsp;为应用程式要删除的性质名字的原子。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此函式执行成功後,会送出&nbsp;PropertyNotify&nbsp;事件给原来悬挂该性质的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;视窗。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>什麽时候会产生&nbsp;PropertyNotify&nbsp;事件&nbsp;<BR>&nbsp;<BR>在&nbsp;X&nbsp;视窗函式呼叫中,共有四个函式呼叫会产生&nbsp;PropertyNotify&nbsp;事件,&nbsp;<BR>这四个函式为:&nbsp;<BR>一、&nbsp;XChangeProperty&nbsp;<BR>二、&nbsp;XDeleteProperty&nbsp;<BR>三、&nbsp;XGetWindowProperty&nbsp;<BR>四、&nbsp;XRotateWindowProperty&nbsp;<BR>&nbsp;<BR>因此,当应用程式叫用其中一个系统呼叫时,需记得其已产生了一个&nbsp;<BR>PropertyNotify&nbsp;事件,而选择此事件的事件遮罩(event&nbsp;mask)为&nbsp;<BR>PropertyChangeMask,应用程式可藉由呼叫&nbsp;XSelectInput&nbsp;函式来选择&nbsp;<BR>PropertyNotify&nbsp;事件。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>对&nbsp;PropertyNotify&nbsp;事件执行相对应的运作程序&nbsp;<BR>&nbsp;<BR>在&nbsp;X&nbsp;视窗系统中,所有的运作都是根据事件发生的与否来决定要不要&nbsp;<BR>执行相对应的运作程序(operation&nbsp;procedure),即所有的运作都是&nbsp;<BR>由事件来导动的(event-driven)。在&nbsp;X&nbsp;视窗的系统呼叫中,部份的系&nbsp;<BR>统呼叫会产生特定的事件而後送给特定的视窗,应用程式必须自己决定&nbsp;<BR>是否对这些事件做出必要的反应。举例来说,在前面所介绍的&nbsp;X&nbsp;系统&nbsp;<BR>呼叫中,&nbsp;XChangeProperty&nbsp;就会产生一个&nbsp;PropertyNotify&nbsp;事件,送给&nbsp;<BR>悬挂该性质的视窗,此举在通知相关的应用程式,悬挂在该视窗上的性质&nbsp;<BR>内的资料已被更改或性质已被删除,接下来的就是这些相关的应用程式&nbsp;<BR>必须决定当&nbsp;PropertyNotify&nbsp;事件发生时,要不要执行相对应的运作&nbsp;<BR>程序,而这相对应的运作程序是由应用程式定义的。因此,如果应用程式&nbsp;<BR>想知道某视窗上的性质内的资料是否被更动,必须在该视窗的事件回圈&nbsp;<BR>中选择&nbsp;(select&nbsp;or&nbsp;solicit)&nbsp;PropertyNotify&nbsp;事件,以便当&nbsp;PropertyNotify&nbsp;<BR>事件发生时,能执行其所定义的运作程序。&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>PropertyNotify&nbsp;事件的结构&nbsp;<BR>&nbsp;<BR>PropertyNotify&nbsp;事件的结构定义如下:&nbsp;<BR>&nbsp;<BR>typedef&nbsp;struct&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;type;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;serial;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bool&nbsp;send_event;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display&nbsp;*display;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Widnow&nbsp;window;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Atom&nbsp;atom;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Time&nbsp;time;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;state;&nbsp;<BR>}&nbsp;XPropertyEvent;&nbsp;<BR>&nbsp;<BR>typedef&nbsp;union&nbsp;_XEvent&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;XPropertyEvent&nbsp;xproperty;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;<BR>}&nbsp;XEvent;&nbsp;<BR>&nbsp;<BR>XPropertyEvent&nbsp;的各栏位意义如下:&nbsp;<BR>type&nbsp;&nbsp;&nbsp;&nbsp;为发生的事件型态。&nbsp;<BR>serial&nbsp;&nbsp;为上一个被服务的请求的序列编号(serial&nbsp;number),此乃因&nbsp;X&nbsp;视窗系统将&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应用程式送给&nbsp;X&nbsp;伺服器的所有请求做了序列化处理(serialization),以&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;避免在存取系统资源时发生竞争现象。&nbsp;<BR>display&nbsp;为指向&nbsp;X&nbsp;伺服器的连线(connection)。&nbsp;<BR>window&nbsp;&nbsp;为悬挂该性质视窗的视窗识别码。&nbsp;<BR>atom&nbsp;&nbsp;&nbsp;&nbsp;为该性质名字的原子。&nbsp;<BR>time&nbsp;&nbsp;&nbsp;&nbsp;表示性质内的资料被更动时,X&nbsp;视窗的系统时间。&nbsp;<BR>state&nbsp;&nbsp;&nbsp;表示性质的变化状态,其值有二,分别是&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一、PropertyNewValue&nbsp;表示性质内的资料是一个新值。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;二、PropertyDeleted&nbsp;表示性质的定义已被删除。&nbsp;<BR>&nbsp;<BR>程式说明&nbsp;<BR>&nbsp;<BR>程式的发展平台为&nbsp;Solaris&nbsp;2.4,&nbsp;Solaris&nbsp;Software&nbsp;Developer&nbsp;Kit,&nbsp;X11R5,&nbsp;<BR>Motif&nbsp;1.2.3&nbsp;run&nbsp;time&nbsp;environment。&nbsp;□例程式有两支,分述如下:&nbsp;<BR>&nbsp;<BR>【&nbsp;put_to_prop.c&nbsp;】&nbsp;<BR>&nbsp;<BR>

⌨️ 快捷键说明

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