1
창이있어서 표시되는 위치를 제어하고 싶습니다. 그러나 "XMoveWindow"를 호출하면 효과가없는 것으로 보입니다.XMapWindow가 작동하지 않습니다. XMapWindow가 작동하지 않습니다.
docs 아무 말도하지 않습니다. 도움?
창이있어서 표시되는 위치를 제어하고 싶습니다. 그러나 "XMoveWindow"를 호출하면 효과가없는 것으로 보입니다.XMapWindow가 작동하지 않습니다. XMapWindow가 작동하지 않습니다.
docs 아무 말도하지 않습니다. 도움?
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을 참조하십시오.