窗口控件

控件操作接口

设置窗口Alpha

void TwWindowSetAlpha(TWidget *widget, Tint alpha);

功能:设置窗口的透明度。

参数:

参数 说明
widget 窗口对象
alpha 窗口需要设置的透明度值(范围:0-255)

返回值:

示例:

TWidget *main_win = TObjectGetFromName("main_win");
TwWindowSetAlpha(main_win, 0);

获取窗口Alpha

Tint TwWindowGetAlpha(TWidget *widget);

功能:获取窗口的透明度值。

参数:

参数 说明
widget 窗口控件

返回值:控件的透明度值。

示例:

TWidget *main_win = TObjectGetFromName("main_win");
Tint alpha = TwWindowGetAlpha(main_win);
TLogP("alpha = %d\n",alpha);

提升窗口

void TwWindowRaise(TWidget *widget);

功能:系统默认后创建的窗口显示在上面,此函数的功能可以强行将先创建的窗口显示在后创建的窗口上面。

参数:

参数 说明
widget 窗口对象

返回值:

示例:

TWidget *main_win = TObjectGetFromName("main_win");
TwWindowRaise(main_win);

将窗口提升到above层

void TwWindowSetAbove(TWidget *widget, Tbool above);

功能:将窗口提升到above层

参数:

参数 说明
widget 窗口控件
above 为True将窗口提升到above层,为False则取消设置

返回值:

示例:

// 窗口事件的回调函数
void tip_window_show_func(void *obj, T_ID event, TTable *in, void *arg, TExist *exist)
{
    TwWindowSetAbove(obj, TRUE);
}

注解:窗口的层次自上而下依次为:dock_fullscreen、dock_above、dock、above、dock_below、normal、below、desktop;普通应用程序的窗口一般都在normal层。

将窗口降到below层

void TwWindowSetBelow(TWidget *widget, Tbool below);

功能:将窗口降到below层

参数:

参数 说明
widget 窗口控件
below 为TRUE将窗口降到below层,为False则取消设置

返回值:

示例:

// 窗口事件的回调函数
void window_show_func(void *obj, T_ID event, TTable *in, void *arg, TExist *exist)
{
    TwWindowSetBelow(obj, TRUE);
}

设置窗口最大化

void TwWindowSetMax(TWidget *widget, Tbool max);

功能:设置窗口最大化

参数:

参数 说明
widget 窗口控件
max 为TRUE则设置窗口最大化,为FALSE则取消设置

返回值:

示例:

TWidget *mainWin = TObjectGetFromName("mainWin");
TwWindowSetFullscreen(mainWin, True);

注解:设置窗口最大化是将不足root窗口大小的窗口通过stretch_tile拉伸方式,拉伸至root窗口大小。

设置窗口全屏

void TwWindowSetFullscreen(TWidget *widget, Tbool fullscreen);

功能:将窗口全屏显示

参数:

参数 说明
widget 窗口控件
fullscreen TRUE为设置窗口全屏,FALSE为取消设置

返回值:

示例:

TWidget *mainWin = TObjectGetFromName("mainWin");
TwWindowSetFullscreen(mainWin, True);

注解:设置窗口最大化是将不足root窗口大小的窗口通过stretch_tile拉伸方式,拉伸至root窗口大小,不是将运行窗口拉伸到和屏幕一样大。

以模态的方式显示窗口

void TwShowModelWindow(TWidget *window);

功能:模态窗口的特点是当模态窗口显示时,所属进程的其他控件不接收任何事件。

参数:

参数 说明
widget 窗口控件

返回值:

示例:

TWidget *dock_win = TObjectGetFromName("dock_win")
TwShowModelWindow(dock_win);

设置窗口最小尺寸

void TwWindowSetMinSize(TWidget *widget, Tint min_w, Tint min_h);

功能:设置窗口最小尺寸

参数:

参数 说明
widget 窗口控件
min_w 最小宽度
min_h 最小高度

返回值:

清除窗口区域,用背景填充,并重绘相关子控件

void TwWindowClear(TWidget *widget, Tint x, Tint y, Tint w, Tint h);

功能:清除窗口区域,用背景填充,并重回相关子控件

参数:

参数 说明
widget 窗口控件
x,y 要清除的窗口区域坐标
w,h 要清除的窗口区域的范围,如果传-1,就等于窗口的宽和高

返回值:

设置窗口滚动区域

void TwWindowSetScrollArea(TWidget *widget, Tint maxw, Tint maxh);

功能:设置窗口的滚动区域

参数:

参数 说明
widget 窗口控件
maxw 最大的宽度
maxh 最大的高度

返回值:

示例:

// 窗口的flag必须设置了window_scroll属性
TWidget *mainWin = TObjectGetFromName("mainWin");
TwWindowSetScrollArea(mainWin, 140, 1280);

设置窗口滚动位置

void TwWindowSetScrollPosOffset(TWidget *widget, Tint offx, Tint offy);

功能:设置窗口滚动位置

参数:

参数 说明
widget 窗口控件
offx 滚动位置相对于当前位置的x偏移量
offy 滚动位置相对于当前位置的y偏移量

返回值:

设置窗口滚动位置,窗口滚动时有滚动效果

void TwWindowSetScrollPos(TWidget *widget, Tint posx, Tint posy);

功能:设置窗口滚动位置

参数:

参数 说明
widget 窗口控件
posx 滚动位置相对于滚动区域的x坐标
posy 滚动位置相对于滚动区域的y坐标

返回值:

示例:

TWidget *mainWin = TObjectGetFromName("mainWin");
TwWindowSetScrollArea(mainWin, 140, 2000);
TwWindowSetScrollPos(mainWin, 0, 1890);

设置窗口滚动位置,窗口滚动时有滚动效果

void TwWindowSetScrollPos_no_animate(TWidget *widget, Tint posx, Tint posy);

功能:设置窗口滚动位置,窗口滚动时有滚动效果。

参数:

参数 说明
widget 窗口控件
posx 滚动位置想对于滚动区域的x坐标
posy 滚动位置相对于滚动区域的y坐标

返回值:

示例:

TWidget *mainWin = TObjectGetFromName("mainWin");
TwWindowSetScrollArea(mainWin, 1400, 2000);
TwWindowSetScrollPos_no_animate(mainWin, 100, 1890);

获取窗口滚动位置

void TwWindowGetScrollPos(TWidget widget, Tint *posx, Tint *posy);

功能:获取窗口的滚动位置

参数:

参数 说明
widget 控件对象
*posx 获取窗口滚动的x
*posy 获取窗口滚动的y

返回值:

示例:

int scroll_x = 0,scroll_y = 0;
TWidget *mainWin = TObjectGetFromName("mainWin");
TwWindowSetScrollArea(mainWin, 1400, 2000);
TwWindowGetScrollPos(mainWin,&scroll_x,&scroll_y);
TLogP("scroll_x=%d  scroll_y=%d\n",scroll_x,scroll_y);

设置窗口滚动位置对齐

void TwWindowSetScrollAlign(TWidget *widget, int align_x, int align_y);

功能:设置窗口滚动位置对齐

参数:

参数 说明
widget 控件对象
align_x align_x
align_y align_y

返回值:

设置窗口拖动滚动时的最大惯性滑动距离

void TwWindowSetScrollMaxStep(TWidget *widget, int max_step_x, int max_step_y);

功能:设置窗口拖动滚动条时的最大惯性滑动距离,手松开后,由于惯性最多滑动的像素单位,0表示没有限制。

参数:

参数 说明
widget 窗口控件
max_step_x 滑动距离相对原有位置的x坐标
max_step_y 滑动距离相对原有位置的y坐标

返回值:

设置窗口上焦点切换按键

void TwWindowSetFocusKey(TWidget *widget, int focus_type, KeySym prev_key, KeySym next_key);

功能:设置窗口上焦点切换按键

参数:

参数 说明
widget 窗口控件
focus_type 焦点切换类型,CIRCLE_FOCUS, NOCIRCLE_FOCUS
prev_key 向前切换焦点按键键值
next_key 向后切换焦点按键键值

返回值:

设置窗口字体字号

void TwWindowSetFont(TWidget *widget, Font font_id);

功能:设置窗口字体字号,设置后窗口上所有控件的caption大小均为font_id设置的字体。

参数:

参数 说明
widget 窗口控件
font_id 字体字号

返回值:

示例:

TWidget *mainWin = TObjectGetFromName("mainWin");
TwWindowSetFont(mainWin, XLoadFont(tw_display, "default-40"));

设置光标在窗口上的样式

void TwWindowSetCursor(TWidget *widget, Cursor c);

功能:设置光标在窗口上的样式

参数:

参数 说明
widget 窗口控件
c 光标样式

返回值:

示例:

Cursor c;
Pixmap cousorimage;
cousorimage = TwLoadImage(TGetExecutePath("../cursor.png"));
c = XCreateCursorFromPixmap(tw_display, cousorimage, 9, 0);
TwWindowSetCursor(myWin, c);   //在窗口myWin中设置光标样式

results matching ""

    No results matching ""