|
我也是新手,进来跟你讨论讨论~~~; E; P4 j( u; |3 L. ~2 M
还望多多指教!
1 p( c' U. s$ Y1 K我最近做的一个小程序是要选定点的,我是用了UF_UI_select_with_single_dialog()函数,从界面上选择你需要的实体就可以了! J* Q) b5 u1 R! W' `) f
同时,如果用这个函数的话,要先定义个初始化进进程函数init_proc(),在这个函数里设定你需要选择的实体,比如:直线、曲线。。。
1 d# N6 t* J+ H" ]% ?, N2 D' O- [7 T) W6 n
我程序中用来选择点的部分程序:
6 L3 j: R. n l0 K0 V // 调用选择对话框 [1/4/2009 %CREATED BY AUDREY LEE%]
" k1 P' h G- Q0 _ char message[] = "请选择点作为放置点!";
) K) k: N0 [+ Q/ y+ p* |8 A char title[] = "放置点选择";4 p/ L) H& D- Q( |* P1 S+ T( c) j
tag_t m_point_object;
; G) L7 B8 t9 a: p int scope = UF_UI_SEL_SCOPE_NO_CHANGE;- Y/ q% ?* C; S8 h, \
int response = 0;& g; y( @% m+ Y
double cursor[3] = {0.0};: {9 R+ t1 Z- e9 ]# |9 \8 a: {3 ?
tag_t view = NULL_TAG;
& h; u! t# w; r/ m 1 G0 h7 I6 h8 _6 h) |& P! P3 Z& K4 K
//加锁8 B# x, |; e: x6 u1 |$ e7 A
UF_UI_lock_ug_access (UF_UI_FROM_CUSTOM);! i/ M O% t) e0 ?
$ l4 U. Y4 K+ p8 _7 E" q
UF_UI_select_with_single_dialog(message, title, scope, init_proc, NULL, &response, &m_point_object, cursor, &view); ' {2 P% K$ |* n; \& m0 V1 |7 M
% H2 L( G+ O: y2 w3 }! O
//解锁$ ], H1 J6 @4 n4 M& y% Y
UF_UI_unlock_ug_access (UF_UI_FROM_CUSTOM);
9 u, Q, ^( `4 @2 |) @/ {
- h7 v4 j" _: u7 A. p% A! w$ a另外: 用来定义你需要选择的实体类型的那个函数如下。。。
% s4 R! k2 l' ?' v//设置Selection
$ C/ Q( f; L0 a9 Hstatic int init_proc( UF_UI_selection_p_t select, void *user_data )2 N* w0 j n- i
{/ T" j$ ^; W& [4 R
int errorCode = 0;; V# H8 H1 J8 i- Z: r3 E+ L' q b. w
int num_triples = 1;
& i& Y. D6 l* M f' _ UF_UI_mask_t mask_triples[] = {UF_point_type, 0, 0}; //修改这里,选择曲线类型
' P: S4 X9 m' z
y: f% q+ e' q+ P3 ] //设置可选物体的类型
0 e# p" I/ ?+ r5 E* |7 z. Y errorCode = UF_UI_set_sel_mask(select, UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
6 S6 Q& s6 b+ j. \5 J% f num_triples, mask_triples);
' u$ t" ]/ G8 O if( errorCode == 0)
0 ]7 L' m3 h( W! C- S' X' ?7 ^8 @ {7 `5 m# u, U2 B, C( E, M
return UF_UI_SEL_SUCCESS;
9 |, T9 I# T. m5 ?3 ~7 ] }1 \; [" ~" u5 k
else
# [1 H) K+ ]; T0 s7 s" P {/ J' A& |# ~' p+ V% @ z) `0 f* q
return UF_UI_SEL_FAILURE;
q8 Q# M, W8 `6 `; a/ _* { }
2 x; B' E% N8 ?8 n}
, ]! |" K4 l( h% E0 D' @5 o& k( a( u4 K. D* U
希望有所帮助! |
评分
-
查看全部评分
|