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

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

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 526712
          • 排名 - 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 交口稱贊 閱讀(1980) 評論(0)  編輯  收藏 所屬分類: Eclipse RCP SWT
          主站蜘蛛池模板: 灵璧县| 承德市| 石景山区| 门源| 山阴县| 南平市| 东宁县| 洪江市| 多伦县| 昌宁县| 灌阳县| 新龙县| 喀喇| 东光县| 华亭县| 凤冈县| 巧家县| 武隆县| 澄江县| 郁南县| 许昌市| 洪洞县| 牟定县| 灌云县| 攀枝花市| 洞口县| 兰溪市| 白水县| 岳阳市| 财经| 连江县| 天等县| 游戏| 鄄城县| 昌宁县| 隆昌县| 定日县| 梁河县| 华宁县| 阳朔县| 双峰县|