getOpenFile.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:7k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1996 Sun Microsystems, Inc.
  3. '"
  4. '" See the file "license.terms" for information on usage and redistribution
  5. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. '" 
  7. '" RCS: @(#) $Id: getOpenFile.n,v 1.10.2.2 2005/07/06 22:15:15 hobbs Exp $
  8. '" 
  9. .so man.macros
  10. .TH tk_getOpenFile n 4.2 Tk "Tk Built-In Commands"
  11. .BS
  12. '" Note:  do not modify the .SH NAME line immediately below!
  13. .SH NAME
  14. tk_getOpenFile, tk_getSaveFile - pop up a dialog box for the user to select a file to open or save.
  15. .SH SYNOPSIS
  16. fBtk_getOpenFile fR?fIoption value ...fR?
  17. .br
  18. fBtk_getSaveFile fR?fIoption value ...fR?
  19. .BE
  20. .SH DESCRIPTION
  21. .PP
  22. The procedures fBtk_getOpenFilefR and fBtk_getSaveFilefR pop up a
  23. dialog box for the user to select a file to open or save. The
  24. fBtk_getOpenFilefR command is usually associated with the fBOpenfR
  25. command in the fBFilefR menu. Its purpose is for the user to select an
  26. existing file fIonlyfR. If the user enters a non-existent file, the
  27. dialog box gives the user an error prompt and requires the user to give
  28. an alternative selection. If an application allows the user to create
  29. new files, it should do so by providing a separate fBNewfR menu command.
  30. .PP
  31. The fBtk_getSaveFilefR command is usually associated with the fBSave
  32. asfR command in the fBFilefR menu. If the user enters a file that
  33. already exists, the dialog box prompts the user for confirmation
  34. whether the existing file should be overwritten or not.
  35. .PP
  36. The following fIoption-valuefR pairs are possible as command line
  37. arguments to these two commands:
  38. .TP
  39. fB-defaultextensionfR fIextensionfR
  40. Specifies a string that will be appended to the filename if the user
  41. enters a filename without an extension. The default value is the empty
  42. string, which means no extension will be appended to the filename in
  43. any case. This option is ignored on the Macintosh platform, which
  44. does not require extensions to filenames,
  45. .VS 8.4
  46. and the UNIX implementation guesses reasonable values for this from
  47. the fB-filetypesfR option when this is not supplied.
  48. .VE 8.4
  49. .TP
  50. fB-filetypesfR fIfilePatternListfR
  51. If a fBFile typesfR listbox exists in the file dialog on the particular
  52. platform, this option gives the fIfiletypefRs in this listbox. When
  53. the user choose a filetype in the listbox, only the files of that type
  54. are listed. If this option is unspecified, or if it is set to the
  55. empty list, or if the fBFile typesfR listbox is not supported by the
  56. particular platform then all files are listed regardless of their
  57. types. See the section fBSPECIFYING FILE PATTERNSfR below for a
  58. discussion on the contents of fIfilePatternListfR.
  59. .TP
  60. fB-initialdirfR fIdirectoryfR
  61. Specifies that the files in fIdirectoryfR should be displayed
  62. when the dialog pops up. If this parameter is not specified, then
  63. the files in the current working directory are displayed. If the
  64. parameter specifies a relative path, the return value will convert the
  65. relative path to an absolute path.  This option may not always work on
  66. the Macintosh.  This is not a bug. Rather, the fIGeneral ControlsfR
  67. control panel on the Mac allows the end user to override the
  68. application default directory.
  69. .TP
  70. fB-initialfilefR fIfilenamefR
  71. Specifies a filename to be displayed in the dialog when it pops up.  This
  72. option is ignored on the Macintosh platform.
  73. .TP
  74. fB-multiplefR fIbooleanfR
  75. Allows the user to choose multiple files from the Open dialog.
  76. On the Macintosh, this is only available when Navigation Services are
  77. installed.
  78. .TP
  79. fB-messagefR fIstringfR
  80. Specifies a message to include in the client area of the dialog.
  81. This is only available on the Macintosh, and only when Navigation
  82. Services are installed.
  83. .TP
  84. fB-parentfR fIwindowfR
  85. Makes fIwindowfR the logical parent of the file dialog. The file
  86. dialog is displayed on top of its parent window.
  87. .TP
  88. fB-titlefR fItitleStringfR
  89. Specifies a string to display as the title of the dialog box. If this
  90. option is not specified, then a default title is displayed. 
  91. .PP
  92. If the user selects a file, both fBtk_getOpenFilefR and
  93. fBtk_getSaveFilefR return the full pathname of this file. If the
  94. user cancels the operation, both commands return the empty string.
  95. .SH "SPECIFYING FILE PATTERNS"
  96. The fIfilePatternListfR value given by the fB-filetypesfR option
  97. is a list of file patterns. Each file pattern is a list of the
  98. form
  99. .CS
  100. fItypeNamefR {fIextensionfR ?fIextension ...fR?} ?{fImacTypefR ?fImacType ...fR?}?
  101. .CE
  102. fItypeNamefR is the name of the file type described by this
  103. file pattern and is the text string that appears in the fBFile typesfR
  104. listbox. fIextensionfR is a file extension for this file pattern.
  105. fImacTypefR is a four-character Macintosh file type. The list of
  106. fImacTypefRs is optional and may be omitted for applications that do
  107. not need to execute on the Macintosh platform.
  108. .PP
  109. Several file patterns may have the same fItypeName,fR in which case
  110. they refer to the same file type and share the same entry in the
  111. listbox. When the user selects an entry in the listbox, all the files
  112. that match at least one of the file patterns corresponding
  113. to that entry are listed. Usually, each file pattern corresponds to a
  114. distinct type of file. The use of more than one file patterns for one
  115. type of file is necessary on the Macintosh platform only.
  116. .PP
  117. On the Macintosh platform, a file matches a file pattern if its
  118. name matches at least one of the fIextensionfR(s) AND it
  119. belongs to at least one of the fImacTypefR(s) of the
  120. file pattern. For example, the fBC Source FilesfR file pattern in the
  121. sample code matches with files that have a fB.cfR extension AND
  122. belong to the fImacTypefR fBTEXTfR. To use the OR rule instead,
  123. you can use two file patterns, one with the fIextensionsfR only and
  124. the other with the fImacTypefR only. The fBGIF FilesfR file type
  125. in the sample code matches files that EITHER have a fB.giffR
  126. extension OR belong to the fImacTypefR fBGIFFfR.
  127. .PP
  128. On the Unix and Windows platforms, a file matches a file pattern
  129. if its name matches at least one of the fIextensionfR(s) of
  130. the file pattern. The fImacTypefRs are ignored.
  131. .SH "SPECIFYING EXTENSIONS"
  132. .PP
  133. On the Unix and Macintosh platforms, extensions are matched using
  134. glob-style pattern matching. On the Windows platforms, extensions are
  135. matched by the underlying operating system. The types of possible
  136. extensions are: (1) the special extension * matches any
  137. file; (2) the special extension "" matches any files that
  138. do not have an extension (i.e., the filename contains no full stop
  139. character); (3) any character string that does not contain any wild
  140. card characters (* and ?).
  141. .PP
  142. Due to the different pattern matching rules on the various platforms,
  143. to ensure portability, wild card characters are not allowed in the
  144. extensions, except as in the special extension *. Extensions
  145. without a full stop character (e.g. ~) are allowed but may not
  146. work on all platforms.
  147. .SH EXAMPLE
  148. .CS
  149. set types {
  150.     {{Text Files}       {.txt}        }
  151.     {{TCL Scripts}      {.tcl}        }
  152.     {{C Source Files}   {.c}      TEXT}
  153.     {{GIF Files}        {.gif}        }
  154.     {{GIF Files}        {}        GIFF}
  155.     {{All Files}        *             }
  156. }
  157. set filename [tk_getOpenFile -filetypes $types]
  158. if {$filename != ""} {
  159.     # Open the file ...
  160. }
  161. .CE
  162. .SH "SEE ALSO"
  163. tk_chooseDirectory
  164. .SH KEYWORDS
  165. file selection dialog