隨筆 - 119  文章 - 3173  trackbacks - 0
          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          交友莫獨酒,茅臺西鳳游。
          口干古井貢,心徜洋河流。
          稱多情杜康,趟無量雙溝。
          贊中華巍巍,無此不銷愁。

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 526768
          • 排名 - 92

          最新評論

          ??? 我們的日期控件有兩大部分組成:控件主體和下拉列表。要做成通用控件,控件主體必須要能自適應大小。
          老規矩,上圖:

          設計界面:



          在其它容器中自由使用的效果圖:




          那么怎么才能做到自寫的控件能自適應大小呢?CompositeFormLayout是實現這種效果的完美組合。通俗的說Composite就是一個容器,里面能放各種其它控件,當然Composite本身也能放到其它容器里面。FormLayout是一種布局方式,精髓是“相對位置”。( 跟我學之用FormLayout打造自適應窗體大小的控件布局)。
          Composite我們放置一個文本框和一個按鈕。

          這里我們設置
          文本框上邊相對
          Composite上邊,偏移量0。
          文本框左邊相對Composite左邊,偏移量0。
          文本框右邊相對按鈕,偏移量0。
          文本框下邊相對Composite下邊,偏移量0。


          按鈕上邊相對Composite上邊,偏移量0。
          按鈕左邊相對Composite右邊邊,偏移量17。
          按鈕右邊相對Composite右邊,偏移量0。
          按鈕下邊相對Composite下邊,偏移量0。

          這樣我們就整體實現文本框。按鈕的高度跟隨Composite變化。
          按鈕寬度固定。文本框寬度
          跟隨Composite變化。
          代碼片段:
          ????????arrow?=?new?Button(this,?arrowStyle);
          ????????arrow.addSelectionListener(arrowListener);
          ????????
          final?FormData?formData?=?new?FormData();
          ????????formData.left?
          =?new?FormAttachment(100,?-17);
          ????????formData.right?
          =?new?FormAttachment(100,?-0);
          ????????formData.top?
          =?new?FormAttachment(0,?0);
          ????????formData.bottom?
          =?new?FormAttachment(100,?-0);
          ????????arrow.setLayoutData(formData);

          ????????text?
          =?new?Text(this,?SWT.READ_ONLY);
          ????????
          final?FormData?formData_1?=?new?FormData();
          ????????formData_1.right?
          =?new?FormAttachment(arrow,?0,?SWT.LEFT);
          ????????formData_1.top?
          =?new?FormAttachment(0,?0);
          ????????formData_1.bottom?
          =?new?FormAttachment(100,?-0);
          ????????formData_1.left?
          =?new?FormAttachment(0,?0);
          ????????text.setLayoutData(formData_1);

          posted on 2006-12-25 13:26 交口稱贊 閱讀(1981) 評論(0)  編輯  收藏 所屬分類: Eclipse RCP SWT
          主站蜘蛛池模板: 永春县| 龙胜| 台北市| 镇赉县| 五原县| 元朗区| 四子王旗| 甘谷县| 青浦区| 渭南市| 京山县| 读书| 宾川县| 沙田区| 资中县| 五家渠市| 淳安县| 关岭| 如皋市| 吉安县| 张家港市| 凤凰县| 独山县| 林周县| 东乡县| 炎陵县| 宜城市| 石城县| 嘉峪关市| 昌吉市| 尼玛县| 乌兰察布市| 临颍县| 满洲里市| 喀喇| 班戈县| 吉木萨尔县| 平湖市| 忻城县| 鄂伦春自治旗| 遵化市|