2013-02-10 15 views

답변

1

XtCreateWindow에는 x 및 y 좌표가 있으므로 만들 때 위치를 지정할 수 있습니다. X 서버는 윈도우가 처음으로 매핑되기 전에 윈도우에 대해 알 필요가 없기 때문에 맵핑되지 않은 윈도우를 움직이면 아무 효과가 없을 수도 있습니다.

그러나 XtCreateWindow는 주 윈도우의 하위 창에서만 작동합니다. 최상위 창 (주 앱 또는 팝업 대화 상자)을 배치하려면 창 관리자와상의하여 창을 배치해야합니다. 다음 코드 스 니펫은 Xt 라이브러리를 사용하여 기본 창을 엽니 다.

Arg args[] = { 
    { XtNx, (dis_width - WIN_WIDTH)/2}, 
    { XtNy, (dis_height - WIN_HEIGHT)/2}, 
    { XtNwidth, WIN_WIDTH}, 
    { XtNheight, WIN_HEIGHT}, 
    { XtNborderWidth, 10}, 
    { "minWidth", WIN_WIDTH}, 
    { "minHeight", WIN_HEIGHT}, 
    { "maxWidth", WIN_WIDTH}, 
    { "maxHeight", WIN_HEIGHT}, 
    { "mwmDecorations", 0xA}, // border + title; see MWM_DECOR_ constants 
    { "mappedWhenManaged", False}, 
    }; 

    shell = XtAppCreateShell (_ ("Welcome"), NULL, applicationShellWidgetClass, Dis, args, XtNumber (args)); 

화면 중앙에 창을 만듭니다.

팝업창의 경우 인수가있는 유사한 배열을 사용하는 XtCreatePopupShell을 참조하십시오.

관련 문제