○formの配置
formに貼り付けるウィジットのリソースで配置を管理します
■ウィジットの開始位置を指定
XtNhorizDistance,50,//開始位置
XtNvertDistance,50,
■ウィジットの相対的な配置位置を指定
XtNfromHoriz,label1,XtNvertDistance, 2,//label1ウィジットの2ピクセル横に配置
XtNfromVert,label1,XtNvertDistance, 2,//label1ウィジットの2ピクセル下に配置
■ウィジットの幅と高さを指定
XtNwidth,50,//幅と高さ
XtNheight,50,
■その他
XtNmappedWhenManaged,False,//不可視にする
○Widgetをformに貼り付けます
不可視ラベル label2 を貼り付けて配置しています
#include <X11/StringDefs.h>
#include <X11/Intrinsic.h>
#include <X11/Xaw/Form.h>
#include <X11/Xaw/Label.h>
main( int argc, char **argv )
{
XtAppContext app_context;
Widget top;
top = XtVaAppInitialize( &app_context, "test", NULL, 0, &argc, argv, NULL,NULL);
Widget form = XtVaCreateManagedWidget("form",formWidgetClass,top,NULL);
Widget label1 = XtVaCreateManagedWidget("Label1",labelWidgetClass,form,XtNlabel,"label1",
XtNhorizDistance,50,//開始位置
XtNvertDistance,50,
XtNwidth,50,//幅と高さ
XtNheight,50,
NULL);
Widget label2 = XtVaCreateManagedWidget("Label2",labelWidgetClass,form,XtNlabel,"label2",
XtNwidth,50,//幅と高さ
XtNheight,50,
XtNfromHoriz,label1,XtNvertDistance, 2,//label1ウィジットの2ピクセル横に配置
XtNfromVert,label1,XtNvertDistance, 2,//label1ウィジットの2ピクセル下に配置
XtNmappedWhenManaged,False,//不可視にする
NULL);
Widget label3 = XtVaCreateManagedWidget("Label3",labelWidgetClass,form,XtNlabel,"label3",
XtNwidth,50,//幅と高さ
XtNheight,50,
XtNfromHoriz,label1,XtNvertDistance, 1,//label2ウィジットの2ピクセル横に配置
XtNfromVert,label2,XtNvertDistance, 2,//label2ウィジットの2ピクセル下に配置
NULL);
Widget label4 = XtVaCreateManagedWidget("Label4",labelWidgetClass,form,XtNlabel,"label4",
XtNwidth,50,//幅と高さ
XtNheight,50,
XtNfromHoriz,label2,XtNvertDistance, 2,//label2ウィジットの2ピクセル横に配置
XtNfromVert,label1,XtNvertDistance, 2,//label1ウィジットの2ピクセル下に配置
NULL);
XtRealizeWidget( top );
XtAppMainLoop( app_context );
}
▲トップページ
>
Linux と C