○ペインとボックス
■ペインは、垂直方向にタイルで埋めるように配置します
ペインの取っ手を消したい時は上側のウィジットに XtNshowGrip,False リソースを追加します
ペインに一つしかウィジットが配置されていない場合は、ペインが有っても無くてもレイアウトに変化はありません
Widget paned = XtCreateManagedWidget ("paned",panedWidgetClass,top,NULL,0);
■ボックスはウィジットが重ならないように配置します
Widget box=XtCreateManagedWidget("box1", boxWidgetClass,paned,NULL,0);
○ペインの上側にフォームを貼り付けて下側にボックスを貼り付けます
フォームにはformと書いたラベルを貼り付けます
ボックスには20個のラベルを貼り付けます
#include <X11/StringDefs.h>
#include <X11/Intrinsic.h>
#include <X11/Xaw/Form.h>
#include <X11/Xaw/Label.h>
#include <X11/Xaw/Box.h>
#include <X11/Xaw/Paned.h>
main( int argc, char **argv )
{
XtAppContext app_context;
Widget top;
top = XtVaAppInitialize( &app_context, "test", NULL, 0, &argc, argv, NULL,
//XtNwidth,500,
//XtNheight,500,
NULL);
//ペインは、垂直方向にタイルで埋めるように配置
Widget paned = XtCreateManagedWidget ("paned",panedWidgetClass,top,NULL,0);
Widget form = XtVaCreateManagedWidget("form",formWidgetClass,paned,
//XtNshowGrip,False,//上側のリソースに追加してペインの取っ手を消す
NULL);
XtVaCreateManagedWidget("Label",labelWidgetClass,form,XtNlabel,"form",NULL);
Arg ar[16];
int arc=0;
XtSetArg(ar[arc],XtNborderWidth,(XtArgVal)0);arc++;//線を消す
//ボックスはウィジットが重ならないように配置
Widget box=XtCreateManagedWidget("box1", boxWidgetClass,paned,ar,arc);
int i;
for(i=0;i<20;i++){
char str[10];
sprintf(str,"%d",i);
XtVaCreateManagedWidget("Label",//ウィジット名
labelWidgetClass,//ラベルクラスを指定
box,
//リソースの直接入力(どんどん追加できる)
XtNlabel,str,//表示される文字
//XtNwidth, 200,//横幅
XtNborderWidth,1,//境界線
//リソースここまで
NULL);
}
XtRealizeWidget( top );
XtAppMainLoop( app_context );
}
▲トップページ
>
Linux と C