2

このコードを使用して長方形を作成しました。

var drawComponent = Ext.create('Ext.draw.Component', {
    autoSize: true,
    viewBox: false,
    x: 200,
    y: 100,
    draggable: true,
    viewBox: false,
    renderTo: document.body
}),
    surface = drawComponent.surface;

sprite = surface.add({
    type: 'rect',
    fill: 'white',
    stroke: 'red',
    x: 10,
    y: 5,
    'stroke-width': 3,
    width: 100,
    height: 50
});
sprite.show(true);​

その後、ウィンドウに追加しました。

多くの描画コンポーネントを作成したいので、次のようなカスタム クラスを作成しました。

Ext.define('DrawComponent', {
    extend: 'Ext.draw.Component',
    autoSize: true,
    viewBox: false,
    draggable: true,
    renderTo: document.body
});​

私はこのカスタムクラスを次のように使用しています:

var drawComponent = Ext.create('DrawComponent', {
    x: 200,
    y: 100
}),
    surface = drawComponent.surface;
sprite = surface.add({
    type: 'rect',
    fill: 'white',
    stroke: 'red',
    x: 10,
    y: 5,
    'stroke-width': 3,
    width: 100,
    height: 50
});
sprite.show(true);​

しかし、ここではサーフェスが表示されていundefinedます...私のカスタムクラスがクラスを拡張していることがわかります。Ext.draw.componentなぜエラーが表示されているのですか

4

1 に答える 1

1

Surfaceレンダリング後にのみ使用できます。afterrenderそのため、initComponent メソッドでイベントのイベント ハンドラーを追加し、サーフェスを使用することができます。

于 2012-10-13T13:09:38.727 に答える