|
我也是新手,进来跟你讨论讨论~~~
9 n% Q+ K2 s3 c) Y# @还望多多指教!, Y! E3 N; C/ S6 i# f& ~1 u# d( d
我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了!/ x& w1 U% m2 r( D" n" X( d. l
同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线、曲线。。。+ ~# a3 A5 v0 M) D% i
. ?& u, y4 G8 f$ ~3 @) f
我程序中用来选择点的部分程序:
. ^, c) \* B9 S: P$ n! P' U // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]
5 g* w$ W/ R- Y5 {# W! q char message[] = "请选择点作为放置点!";
W8 r' y S4 p& Z4 F9 ] char title[] = "放置点选择";5 }* _. Z3 o& F+ d
tag_t m_point_object;
2 \: q; M4 f" k* A6 Y4 q8 A/ |2 \- | int scope = UF_UI_SEL_SCOPE_NO_CHANGE;1 L5 ^' {2 I) T& c% p) C& t
int response = 0;9 T5 J2 Q! {( \: G; `
double cursor[3] = {0.0};7 d3 G6 S( d" n+ ?; k
tag_t view = NULL_TAG;
5 U7 i8 f) d0 ~* L. G- R: v p9 g1 o D* Y% c3 ]; W
//加锁" x8 r. n3 F# Y
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);
- A3 t, O4 J9 J( G# M3 h9 _/ e$ x
UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view); 6 {2 _* S5 S/ H2 m8 [& C
3 n3 i! T" D# L$ l0 i. @. B# j //解锁
+ u: ]9 t" Z# a$ ^( `! k UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
) q* o9 b% Q0 |, H: _5 y3 o. _
4 b$ r0 Q5 T( Q( r" [. d5 k6 O另外: 用来定义你需要选择的实体类型的那个函数如下。。。
' K! b5 i: r5 h4 p& E0 Y//设置Selection
$ n, `! |5 ~3 P5 ]# S; d/ g0 astatic int init_proc( UF_UI_selection_p_t select, void *user_data )' I6 ^: y$ m7 P- X F
{9 q( _" u# K9 `9 D; P/ x
int errorCode = 0;
- {& S6 P2 a8 j int num_triples = 1;
) D5 _5 ?6 q- W! L; h& B# _ UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0}; //修改这里,选择曲线类型
. w" x) K* l: W% C, ~* u" Q$ S3 A
2 l7 F# k7 u1 @0 s" ] //设置可选物体的类型
" G: K) B0 b, A2 [ errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,& [& w) r9 H) N! `. h4 Y2 E
num_triples, mask_triples);4 I( s. a4 K a) o$ A, s
if( errorCode == 0)$ n/ C3 D; Y9 \. ?/ x
{
5 T/ e+ t6 D; o4 B* _" Q9 t return UF_UI_SEL_SUCCESS;
* a* o/ V! ~3 V/ g( | }$ D( H& l1 r; m3 H* t# g
else
: i2 J8 Z7 [2 Q8 |. ~) f" O, n {
- Z/ [; l, v/ C. E return UF_UI_SEL_FAILURE;
- E7 F- f) Y# K9 r: N! T }: D+ j, z9 D$ w" R+ X: _
}
9 i# C- ?2 y$ D) \- D6 P. I" g1 j. C5 B% J$ ?. t' O2 d
希望有所帮助! |
评分
-
查看全部评分
|