|
GUIX很强大,强大到虽然例程大致能看懂,但迟迟不敢动手的程度。举个简单例子。下面这段代码实现了从文本框取数,赋值给list组件的selected选项。
static void set_selected_index()
{
GX_SINGLE_LINE_TEXT_INPUT *input;
GX_CHAR *input_string;
int string_size;
int index;
input = &main_screen.main_screen_text_input_selected_set;
// 获取文本框内容
gx_single_line_text_input_buffer_get(input, &input_string, (UINT *)&string_size, GX_NULL);
// 字符串转数值
string_to_int(input_string, string_size, &index);
// 设置list当前条目=index
if ((index >= 0) && (index < LIST_ROWS))
{
gx_vertical_list_selected_set(&main_screen.main_screen_vertical_list_scroll, index);
}
}
而早先windows代码风格有可能是这样的:
static void set_selected_index()
{
index = StrToInt(Form1->Edit1->Text);
Form1->List1->SelectedId = index;
}
GUIX的语法风格如此设计,是否真的是有什么玄机在里面?比如出于体现组件灵活性的需要,又或者出于安全性的需要?
但作为使用者,总感觉是很别扭。
又或者需要使用者把常用组件API函数按自己的习惯,自行再包装一次?
|
|