<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
	
<!--***********************************************************
 * 
 * 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.
 * 
 ***********************************************************-->


 
	
<meta>
<topic id="textswriter0104130000xml" indexer="include">
<title id="tit" xml-lang="en-US">Frame</title>
<filename>/text/swriter/01/04130000.xhp</filename>
</topic>
</meta>
<body>
<bookmark xml-lang="en-US" branch="hid/.uno:InsertFrame" id="bm_id2796990" localize="false"/>
<bookmark xml-lang="en-US" branch="hid/.uno:InsertFrame" id="bm_id3154640" localize="false"/>
<paragraph role="heading" id="hd_id3151189" xml-lang="en-US" level="1" l10n="U" oldref="1">Frame</paragraph>
<paragraph role="paragraph" id="par_id3145420" xml-lang="en-US" l10n="CHG" oldref="2"><variable id="rahm"><ahelp hid=".uno:InsertFrame">Inserts a frame that you can use to create a layout of one or more columns of text and objects.</ahelp>
</variable></paragraph>
<section id="howtoget">
<embed href="text/swriter/00/00000404.xhp#rahmen"/>
</section>
<paragraph role="paragraph" id="par_id3153678" xml-lang="en-US" l10n="CHG" oldref="37">To edit a frame, click the border to select it, and then choose <emph>Format - Frame/Object</emph>. You can also resize or move a selected frame using special <link href="text/swriter/01/04130100.xhp" name="shortcut keys">shortcut keys</link>.</paragraph>
<paragraph role="paragraph" id="par_id3152952" xml-lang="en-US" l10n="U" oldref="38">To delete a frame, click the border of the frame, and then press Delete.</paragraph>
<paragraph role="paragraph" id="par_id3151311" xml-lang="en-US" l10n="U" oldref="23">If you see small red arrows at the beginning and the end of text in frame, use the arrow keys to scroll through the remaining text.</paragraph>
<paragraph role="paragraph" id="par_id3155896" xml-lang="en-US" l10n="U" oldref="25">In the preview area of the <emph>Frame</emph> dialog, the frame is represented by a green rectangle, and the reference area by a red rectangle.</paragraph>
<paragraph role="paragraph" id="par_id3149694" xml-lang="en-US" l10n="U" oldref="26">You can also preview the effects when you change the frame anchor to "As Character". The "Baseline" is drawn in red, "Character" is the font height, and "line" is the height of the line, including the frame.</paragraph>
<embed href="text/swriter/01/05060100.xhp#typ"/>
<embed href="text/swriter/01/05060900.xhp#zusaetze"/>
<embed href="text/swriter/01/05060200.xhp#umlauf"/>
<embed href="text/swriter/01/05060800.xhp#hyperlink"/>
<embed href="text/shared/01/05030500.xhp#umrandung"/>
<embed href="text/shared/01/05030600.xhp#hintergrund"/>
<embed href="text/swriter/01/05040500.xhp#spalten"/>
<embed href="text/swriter/01/05060700.xhp#makro"/>
<embed href="text/shared/00/00000001.xhp#zurueck"/>
<bookmark xml-lang="en-US" branch="hid/.uno:InsertFrameInteract" id="bm_id8960281" localize="false"/>
<bookmark xml-lang="en-US" branch="hid/.uno:InsertFrameInteract" id="bm_id3147096" localize="false"/>
<paragraph role="heading" id="hd_id3149107" xml-lang="en-US" level="3" l10n="CHG" oldref="5">Icon on the Insert toolbar:</paragraph>
<paragraph role="paragraph" id="par_id3148970" xml-lang="en-US" l10n="CHG" oldref="6"><variable id="syrahmentext"><ahelp hid=".uno:InsertFrameInteract">Draws a frame where you drag in the document. Click the arrow next to the icon to select the number of columns for the frame.</ahelp>
</variable></paragraph>
<embed href="text/swriter/00/00000404.xhp#syrahmen"/>
<embed href="text/shared/00/00000004.xhp#related"/>
<embed href="text/swriter/guide/keyboard.xhp#keyboard"/>
<embed href="text/swriter/guide/text_frame.xhp#text_frame"/>
</body>
</helpdocument>
