<?xml version="1.0" encoding="UTF-8"?>


<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->

<helpdocument version="1.0">
<meta>
<topic id="textsimpress0113160000xml" indexer="include" status="PUBLISH">
<title xml-lang="en-US" id="tit">Connect</title>
<filename>/text/simpress/01/13160000.xhp</filename>
</topic>
<history>
<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created>
<lastedited date="2003-10-31T00:00:00">converted from old format - fpe</lastedited>
</history>
</meta>
<body>
  
  
  <section id="verbinden">
  <bookmark xml-lang="en-US" branch="hid/.uno:Connect" id="bm_id692158" localize="false"/><!-- HID added by script -->
<bookmark branch="hid/.uno:Connect" xml-lang="en-US" id="bm_id3154319"/><paragraph id="hd_id3153768" role="heading" level="1" oldref="1" l10n="U" xml-lang="en-US"><link href="text/simpress/01/13160000.xhp" name="Connect">Connect</link></paragraph>
  <paragraph l10n="U" role="paragraph" id="par_id3152598" xml-lang="en-US" oldref="2"><ahelp hid=".uno:Connect" visibility="visible">Creates a line or Bézier curve by connecting two or more lines, Bézier curves, or other objects with a line.</ahelp> Closed objects containing a fill are converted to lines and lose their fill.</paragraph>
  </section>
  <section id="howtoget">
  <embed href="text/simpress/00/00000413.xhp#adnvbd"/>
</section>
 </body>
</helpdocument>
