|
我也是新手,进来跟你讨论讨论~~~
: ]8 g* L# @; V6 B还望多多指教!
7 g1 y7 m, A ]我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了!1 C6 H# w/ l! K ]* ~8 c
同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线。。。
9 I2 Y+ n# t& k# `# h. h6 A5 {' z D. g" [! x
我程序中用来选择点的部分程序:
* Y/ C) D7 H9 k. S // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]
\" J( G7 }$ @" b" y; h4 u) k char message[] = "请选择点作为放置点!";, X, R x3 ~& o% j9 G
char title[] = "放置点选择";
' ]1 g; e2 k7 x2 l" g0 r tag_t m_point_object;" ]& S5 `- K0 y7 V+ ^; N5 c
int scope = UF_UI_SEL_SCOPE_NO_CHANGE;" b. a9 F. z. ?" n2 |. D% t/ [8 }/ F$ I
int response = 0;
1 H/ j8 S* i- k6 Y double cursor[3] = {0.0};
# f7 q+ D5 Q* h1 w: Q& Y tag_t view = NULL_TAG;
C6 M# E- ]( Q/ A
% r0 z. B) h, c" x //加锁
! n2 R: K% |, x6 a+ c UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);; `/ `/ }+ s* |# f9 j
. [% [$ v& s0 ~9 L6 m' _
UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view);
& m$ ^4 t& N" z) v- z }% B) H0 o- \
//解锁
& r% b. I2 k/ J3 M+ D) I' C UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
1 }; w+ `3 b) t! Q
" g E1 L( E. R6 y另外: 用来定义你需要选择的实体类型的那个函数如下。。。
7 m/ |2 }. {- L' }! F) O//设置Selection6 d& n( i( t' P b) M! {
static int init_proc( UF_UI_selection_p_t select, void *user_data )
$ i8 p l9 L8 |9 Y% Y{% i* H" g3 x( s4 ^7 m% S
int errorCode = 0;9 q# r( \# e/ m
int num_triples = 1;
+ E/ b/ p' @" }7 z UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0};7 ?9 S8 |' d( t0 H3 M0 f
/ a; r, P% ~" D: \/ J% ` //设置可选物体的类型3 b) k2 f Y5 Q
errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
5 T% u' B6 d5 [$ B+ t; x9 b8 F num_triples, mask_triples);
: t+ D" G# p0 P; ]1 i3 | if( errorCode == 0)
, o: z1 }% @( Q* Q4 ~ {
3 ?7 ^$ ?' S: S' f1 d* b return UF_UI_SEL_SUCCESS;5 z3 d. b& K# W5 ~+ R
}* t' U. ^! [ D/ f1 a, I* j5 m$ B
else
: J8 H) ?; I F$ S* u! E {
+ ]9 T9 e2 U, J3 `$ Y3 c return UF_UI_SEL_FAILURE;
2 I6 ~" ` Y% Z c/ q8 ] }
- H2 D# z9 f0 n8 t& Z3 o$ C}
5 y0 }# ?) @' p+ G9 g4 g; \, v0 _; H( ]- d- Y2 R1 f: m
希望有所帮助! |
|