Difference between revisions of "EN/Documentation/BASIC Guide/Working With Forms"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{EN/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Forms |NextPage=Documentation/BASIC Guide/Control Element Forms |form=block ...)
 
 
Line 6: Line 6:
 
|form=block
 
|form=block
 
}}
 
}}
{{DISPLAYTITLE:▼フォームの使用}}
+
{{DISPLAYTITLE:Uso dei formulari}}
 
   
 
   
{{OOo}} ▼ のフォームは、文章ドキュメントまたは\'95\'5c計算ドキュメントの上に、テキスト\'83\'7bックス、リスト\'83\'7bックス、ラジオ\'83\'7bタンをはじめとする各種のコントロール要素を直接配置することにより\'8d\'5c成されます。フォームの編集には、フォームの機能ツールバー を利用します。
 
  
{{OOo}} フォームには、デザインモードとディスプレイモードの 2 種類のモードが存在します。▼デザインモードでは、コントロール要素の\'95\'5c示位置を調整したり、属性ウィンドウにより属性 (プロパティー) を変更したりすることができます。
+
                    I formulari di {{OOo}} possono contenere campi di testo, caselle di riepilogo, pulsanti di scelta e una serie di altri elementi di controllo, che vengono inseriti direttamente in un testo o in un foglio elettronico. Per la modifica dei formulari viene utilizzata la barra dei simboli Funzioni formulario.
  
▼モードの切り替えは、フォームの機\'94\'5cツールバー から行えます。
+
Un formulario di {{OOo}} può usufruire di una delle due modalità seguenti: bozza e visualizzazione. Nel primo caso, la posizione degli elementi di controllo può essere modificata e le relative proprietà modificate utilizzando una finestra delle proprietà.
  
==▼オブジェクトフォームの指定==
+
Per passare da una modalità all'altra potete utilizzare anche la barra degli strumenti Funzioni formulario.
  
{{OOo}} ▼ のフォームで用いるコントロール要素は、\'90\'7d形描画オブジェクトと同じレベルに配置されます。実際のオブジェクトフォームには、図形描画レベルの Forms リストを利用してアクセスできます。▼文書ドキュメント上のオブジェクトへは、以下のサンプルコードのようにしてアクセスします。
+
== Determinazione degli oggetti formulario ==
 +
 
 +
{{OOo}} posiziona gli elementi di controllo di un formulario al livello degli oggetti di disegno. Si accede all'oggetto formulario dall'elenco Forms al livello disegno. Nei documenti di testo si accede agli oggetti nel modo seguente:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 28: Line 29:
 
</source>
 
</source>
  
<tt>ここで GetByIndex</tt> メソッドの戻り値としては、インデックス値 0 のフォームが返されます。
+
Il metodo <tt>GetByIndex</tt> restituisce il formulario con il numero d'indice 0.
  
表計算ドキュメントの場合は、図形描画レベルが表計算ドキュメントの直下ではなく個々のシート (表) に置かれているため、Sheets リストを経由してアクセスする必要があります。
+
Quando si lavora con i fogli elettronici, è necessaria una fase intermedia tramite l'elenco Sheets perché i livelli di disegno non sono situati direttamente nel documento, ma nei singoli fogli:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 44: Line 45:
 
</source>
 
</source>
  
<tt>GetByIndex</tt> というメソッド名からも分かるように、1 つのドキュメントで複数のフォームを利用することができます。▼こうした機\'94\'5cは、複数のデータベースの内容を 1 つのドキュメント上に\'95\'5c示させたり、1 対 n のリレーション関係にあるデータベース情報を 1 つのフォームで\'95\'5c示させる場合に便利です。▼またこの種の処理に関しては、サブフォームの作成機\'94\'5cも用意されています。
+
Come suggerito dal nome del metodo <tt>GetByIndex</tt> un documento può contenere diversi formulari. Ciò risulta utile, ad esempio, se all'interno di un unico documento vengono visualizzati i contenuti di diversi database o se è visualizzata in un formulario una relazione di database 1:n. A tal fine è disponibile anche l'opzione di creare formulari secondari.
  
==▼フォーム用コントロール要素の\'8d\'5c成==
+
== I tre aspetti degli elementi di controllo di un formulario ==
  
▼フォーム用のコントロール要素は、以下のような 3 段階\'8d\'5c成になっています。
+
Gli elementi di controllo di un formulario sono composti da tre aspetti:
  
*コントロール要素の '''モデル'''は、フォーム用コントロール要素を操作する場合、{{OOo}} Basic のプログラマにとって重要なオブジェクトです。
+
* Il '''modello''' dell'elemento di controllo è l'oggetto chiave per il programmatore in {{OOo}} Basic che opera con gli elementi di controllo dei formulari.
*▼これに対して各コントロール要素の '''View''' (ビュー) オブジェクトは、実際に\'95\'5c示する情報を扱います。
+
* La sua controparte è la '''vista''' dell'elemento di controllo, che gestisce le informazioni da visualizzare.
*▼そして、ドキュメントに配置するフォーム用のコントロール要素は、一種の特殊な\'90\'7d形描画要素として扱われるため、\'90\'7d形描画要素に固有のコントロール要素属性を、'''Shape''' (シェイプ) オブジェクトというものを用いて処理しています (主として位置とサイズ)
+
* Dato che gli elementi di controllo dei formulari nei documenti vengono gestiti come un elemento di disegno di tipo speciale, esiste anche un '''oggetto forma''' che riflette le proprietà specifiche dell'elemento disegno dell'elemento di controllo (in particolare, la sua posizione e le dimensioni).
  
==▼フォーム用コントロール要素のモデルへのアクセス==
+
== Accesso al modello degli elementi di controllo dei formulari ==
  
フォーム用コントロール要素のモデルへのアクセスには、フォームオブジェクトの <tt>GetByName</tt> メソッドを利用します。
+
I modelli degli elementi di controllo di un formulario sono disponibili tramite il metodo <tt>GetByName</tt> dell'Object form:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 68: Line 69:
 
</source>
 
</source>
  
上記のサンプルコードでは、現在開いている文書ドキュメントの最初のフォームにある <tt>MyListBox</tt> というコントロール要素のモデルへアクセスするものとしています。
+
L'esempio determina il modello dell'elemento di controllo <tt>MyListBox</tt>, situato nel primo formulario del documento di testo attualmente aperto.
  
コントロール要素の配置されたフォームがどれであるか不明な場合は、すべてのフォームを対象として該当するコントロール要素を検索することもできます。
+
Se non si è certi dell'elemento di controllo, utilizzate l'opzione di ricerca in tutti i formulari per individuare l'elemento di controllo richiesto:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 91: Line 92:
 
</source>
 
</source>
  
上記のサンプルコードでは、<tt>HasByName</tt> メソッドを用いて、<tt>MyListBox</tt> というコントロール要素モデルがあるかを、文書ドキュメント上のすべてのフォームを対象にチェックしています。▼そして該当するモデルを検出した段階で、変数 <tt>Ctl</tt> にその参照情報を格納して、検索処理を終了しています。
+
L'esempio utilizza il metodo <tt>HasByName</tt> per controllare tutti i formulari di un documento di testo per determinare se contengono un modello di elemento di  controllo denominato <tt>MyListBox</tt>. Se viene individuato un modello corrispondente, il riferimento a questo modello viene salvato nella variabile <tt>Ctl</tt> e la ricerca è terminata.
  
==▼フォーム用コントロール要素のビューへのアクセス==
+
== Accesso alla vista degli elementi di controllo dei formulari ==
  
フォーム用コントロール要素のビューにアクセスするには、関連付けられたモデルが必要です。▼そしてこのモデルをドキュメントコントローラに指定することにより、コントロール要素のビューを取得します。
+
Per accedere alla vista degli elementi di controllo di un formulario, è necessario prima disporre del modello associato. La vista dell'elemento di controllo può essere determinata con l'ausilio del modello e utilizzando il controller del documento.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 120: Line 121:
 
</source>
 
</source>
  
▼上記のサンプルコードは、1 つ前に見たコントロール要素のモデル検索用サンプルコードと非常によく似ています。▼ただしこのサンプルコードでは <tt>Doc</tt> というドキュメントオブジェクトに加えて、現在のドキュメントウィンドウの参照用に <tt>DocCrl というドキュメントコントローラオブジェクトを用意しています。</tt>そして、このコントローラオブジェクトに対して、先に用意したコントロール要素のモデルを渡すことにより、<tt>GetControl</tt> メソッドを使用して、フォーム用コントロール要素のビュー (ここでは変数 <tt>CtlView</tt>) を特定しています。
+
Il codice riportato nell'esempio è molto simile al codice dell'esempio precedente per determinare un modello di elemento di controllo. Utilizza non solo l'oggetto documento <tt>Doc</tt> ma anche l'oggetto controller <tt>DocCrl</tt> del documento che fa riferimento alla finestra del documento corrente. Con l'ausilio di questo oggetto controller e del modello dell'elemento di controllo, utilizza il metodo <tt>GetControl</tt> per determinare la vista (variabile <tt>CtlView</tt>) degli elementi di controllo dei formulari.
  
==▼フォーム用コントロール要素のシェイプオブジェクトへのアクセス==
+
== Accesso all'oggetto forma degli elementi di controllo dei formulari ==
  
▼コントロール要素のシェイプオブジェクトへアクセスする場合も、ドキュメントの\'90\'7d形描画レベルを使用します。▼特定のコントロール要素を特定するには、\'90\'7d形描画レベルにあるすべての\'90\'7d形描画要素を検索する必要があります。
+
Il metodo per accedere agli oggetti forma di un elemento di controllo si avvale anche del livello disegno corrispondente del documento. Per determinare uno speciale elemento di controllo, occorre eseguire una ricerca tra tutti gli elementi del livello disegno.
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 143: Line 144:
 
</source>
 
</source>
  
上記のサンプルコードでは、すべての図形描画要素をチェックして、フォーム用コントロール要素に必要な <idl>com.sun.star.drawing.XControlShape</idl> インターフェースをサポートしているものがあるかを確認しています。該当するものがある場合は、<tt>Control.Name</tt> 属性を用いて、<tt>MyListBox</tt> という名前のコントロール要素があるかをチェックします。▼そしてこの条件も満たされたならば、検索処理を終了します。
+
L'esempio controlla tutti gli elementi di disegno per determinare se supportano l'interfaccia <idl>com.sun.star.drawing.XControlShape</idl> necessaria per gli elementi di controllo dei formulari. In caso positivo, la proprietà <tt>Control.Name</tt> controlla se il nome dell'elemento di controllo è <tt>MyListBox</tt>. Se sì, la funzione termina la ricerca.
  
===▼コントロール要素のサイズと位置===
+
=== Determinazione delle dimensioni e della posizione degli elementi di controllo ===
  
先に述べたように、コントロール要素のサイズと位置の処理には、<tt>shape</tt> オブジェクトを利用します。このような処理を行うため、コントロール要素のシェイプには、他のすべての <tt>shape</tt> オブジェクトと同じように、<tt>Size</tt> および <tt>Position</tt> という属性が用意されています。
+
Come menzionato in precedenza, è possibile determinare le dimensioni e la posizione degli elementi di controllo utilizzando l'oggetto <tt>shape</tt>. La forma dell'elemento di controllo, come molti altri oggetti <tt>shape</tt>, fornisce a tal fine le proprietà <tt>Size</tt> e <tt>Position</tt>:
  
;<tt>Size (struct)</tt>:コントロール要素のサイズ (<idl>com.sun.star.awt.Size</idl> データ構造)
+
;<tt>Size (struct)</tt>:Dimensioni dell'elemento di controllo (struttura di dati <idl>com.sun.star.awt.Size</idl>)
;<tt>Position (struct)</tt>:コントロール要素の位置 (<idl>com.sun.star.awt.Point</idl> データ構造)
+
;<tt>Position (struct)</tt>:Posizione dell'elemento di controllo (struttura di dati <idl>com.sun.star.awt.Point</idl>)
  
▼以下のサンプルコードでは、シェイプオブジェクトを用いた、コントロール要素のサイズと位置の指定方法を示します。
+
L'esempio seguente mostra come impostare la posizione e le dimensioni di un elemento di controllo utilizzando l'oggetto forma associato:
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 166: Line 167:
 
</source>
 
</source>
  
このサンプルコードは、コントロール要素の <tt>shape</tt> オブジェクトは既知であることを前提としています。▼既知でない場合は、先のコードを利用して必要な判定処理を行う必要があります。
+
Perché il codice funzioni, l'oggetto <tt>shape</tt> dell'elemento di controllo deve già essere noto. In caso contrario, dovrete determinarlo utilizzando il codice di cui sopra.
  
 
{{PDL1}}
 
{{PDL1}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Working With Forms}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Working With Forms}}

Latest revision as of 18:22, 25 June 2009

Template:EN/Documentation/BASICGuideTOC/v2


                   I formulari di Apache OpenOffice possono contenere campi di testo, caselle di riepilogo, pulsanti di scelta e una serie di altri elementi di controllo, che vengono inseriti direttamente in un testo o in un foglio elettronico. Per la modifica dei formulari viene utilizzata la barra dei simboli Funzioni formulario.

Un formulario di Apache OpenOffice può usufruire di una delle due modalità seguenti: bozza e visualizzazione. Nel primo caso, la posizione degli elementi di controllo può essere modificata e le relative proprietà modificate utilizzando una finestra delle proprietà.

Per passare da una modalità all'altra potete utilizzare anche la barra degli strumenti Funzioni formulario.

Determinazione degli oggetti formulario

Apache OpenOffice posiziona gli elementi di controllo di un formulario al livello degli oggetti di disegno. Si accede all'oggetto formulario dall'elenco Forms al livello disegno. Nei documenti di testo si accede agli oggetti nel modo seguente:

Dim Doc As Object
Dim DrawPage As Object
Dim Form As Object
 
Doc = StarDesktop.CurrentComponent
DrawPage = Doc.DrawPage
Form = DrawPage.Forms.GetByIndex(0)

Il metodo GetByIndex restituisce il formulario con il numero d'indice 0.

Quando si lavora con i fogli elettronici, è necessaria una fase intermedia tramite l'elenco Sheets perché i livelli di disegno non sono situati direttamente nel documento, ma nei singoli fogli:

Dim Doc As Object
Dim Sheet As Object
Dim DrawPage As Object
Dim Form As Object
 
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets.GetByIndex(0)
DrawPage = Sheet.DrawPage
Form = DrawPage.Forms.GetByIndex(0)

Come suggerito dal nome del metodo GetByIndex un documento può contenere diversi formulari. Ciò risulta utile, ad esempio, se all'interno di un unico documento vengono visualizzati i contenuti di diversi database o se è visualizzata in un formulario una relazione di database 1:n. A tal fine è disponibile anche l'opzione di creare formulari secondari.

I tre aspetti degli elementi di controllo di un formulario

Gli elementi di controllo di un formulario sono composti da tre aspetti:

  • Il modello dell'elemento di controllo è l'oggetto chiave per il programmatore in Apache OpenOffice Basic che opera con gli elementi di controllo dei formulari.
  • La sua controparte è la vista dell'elemento di controllo, che gestisce le informazioni da visualizzare.
  • Dato che gli elementi di controllo dei formulari nei documenti vengono gestiti come un elemento di disegno di tipo speciale, esiste anche un oggetto forma che riflette le proprietà specifiche dell'elemento disegno dell'elemento di controllo (in particolare, la sua posizione e le dimensioni).

Accesso al modello degli elementi di controllo dei formulari

I modelli degli elementi di controllo di un formulario sono disponibili tramite il metodo GetByName dell'Object form:

Dim Doc As Object
Dim Form As Object
Dim Ctl As Object
 
Doc = StarDesktop.CurrentComponent
Form = Doc.DrawPage.Forms.GetByIndex(0)
Ctl = Form.getByName("MyListBox")

L'esempio determina il modello dell'elemento di controllo MyListBox, situato nel primo formulario del documento di testo attualmente aperto.

Se non si è certi dell'elemento di controllo, utilizzate l'opzione di ricerca in tutti i formulari per individuare l'elemento di controllo richiesto:

Dim Doc As Object
Dim Forms As Object
Dim Form As Object
Dim Ctl As Object
Dim I as Integer
 
Doc = StarDesktop.CurrentComponent
Forms = Doc.Drawpage.Forms
 
For I = 0 To Forms.Count - 1
  Form = Forms.GetbyIndex(I)
  If Form.HasByName("MyListBox") Then
    Ctl = Form.GetbyName("MyListBox")
    Exit Function
  End If
Next I

L'esempio utilizza il metodo HasByName per controllare tutti i formulari di un documento di testo per determinare se contengono un modello di elemento di controllo denominato MyListBox. Se viene individuato un modello corrispondente, il riferimento a questo modello viene salvato nella variabile Ctl e la ricerca è terminata.

Accesso alla vista degli elementi di controllo dei formulari

Per accedere alla vista degli elementi di controllo di un formulario, è necessario prima disporre del modello associato. La vista dell'elemento di controllo può essere determinata con l'ausilio del modello e utilizzando il controller del documento.

Dim Doc As Object
Dim DocCrl As Object
Dim Forms As Object
Dim Form As Object
Dim Ctl As Object
Dim CtlView As Object
Dim I as Integer
 
Doc = StarDesktop.CurrentComponent
DocCrl = Doc.getCurrentControler()
Forms = Doc.Drawpage.Forms
 
For I = 0 To Forms.Count - 1
  Form = Forms.GetbyIndex(I)
  If Form.HasByName("MyListBox") Then
    Ctl = Form.GetbyName("MyListBox")
    CtlView = DocCrl.GetControl(Ctl)
    Exit Function
  End If
Next I

Il codice riportato nell'esempio è molto simile al codice dell'esempio precedente per determinare un modello di elemento di controllo. Utilizza non solo l'oggetto documento Doc ma anche l'oggetto controller DocCrl del documento che fa riferimento alla finestra del documento corrente. Con l'ausilio di questo oggetto controller e del modello dell'elemento di controllo, utilizza il metodo GetControl per determinare la vista (variabile CtlView) degli elementi di controllo dei formulari.

Accesso all'oggetto forma degli elementi di controllo dei formulari

Il metodo per accedere agli oggetti forma di un elemento di controllo si avvale anche del livello disegno corrispondente del documento. Per determinare uno speciale elemento di controllo, occorre eseguire una ricerca tra tutti gli elementi del livello disegno.

Dim Doc As Object
Dim Shape as Object
Dim I as integer
 
Doc = StarDesktop.CurrentComponent
 
For i = 0 to Doc.DrawPage.Count - 1
  Shape = Doc.DrawPage(i)
  If HasUnoInterfaces(Shape, "com.sun.star.drawing.XControlShape") Then
    If Shape.Control.Name = "MyListBox" Then
      Exit Function
    End If
  End If
Next

L'esempio controlla tutti gli elementi di disegno per determinare se supportano l'interfaccia com.sun.star.drawing.XControlShape necessaria per gli elementi di controllo dei formulari. In caso positivo, la proprietà Control.Name controlla se il nome dell'elemento di controllo è MyListBox. Se sì, la funzione termina la ricerca.

Determinazione delle dimensioni e della posizione degli elementi di controllo

Come menzionato in precedenza, è possibile determinare le dimensioni e la posizione degli elementi di controllo utilizzando l'oggetto shape. La forma dell'elemento di controllo, come molti altri oggetti shape, fornisce a tal fine le proprietà Size e Position:

Size (struct)
Dimensioni dell'elemento di controllo (struttura di dati com.sun.star.awt.Size)
Position (struct)
Posizione dell'elemento di controllo (struttura di dati com.sun.star.awt.Point)

L'esempio seguente mostra come impostare la posizione e le dimensioni di un elemento di controllo utilizzando l'oggetto forma associato:

Dim Shape As Object
 
Point.x = 1000
Point.y = 1000
Size.Width = 10000
Size.Height = 10000
 
Shape.Size = Size
Shape.Position = Point

Perché il codice funzioni, l'oggetto shape dell'elemento di controllo deve già essere noto. In caso contrario, dovrete determinarlo utilizzando il codice di cui sopra.

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools