wnd-commit Mailing List for wnd (Page 2)
Status: Alpha
Brought to you by:
jurner
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(125) |
Jun
|
Jul
(138) |
Aug
(13) |
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: jürgen u. <cer...@us...> - 2005-07-23 20:09:30
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/window classes/dialog In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6712 Modified Files: dialog.dtpl Log Message: bit of this and a bit of that Index: dialog.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/window classes/dialog/dialog.dtpl,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** dialog.dtpl 29 Apr 2005 15:19:20 -0000 1.1.1.1 --- dialog.dtpl 23 Jul 2005 20:09:21 -0000 1.2 *************** *** 89,92 **** --- 89,93 ---- template. tools\\dlgeditor folder contains some modules to create one of these templates. + </P> *************** *** 94,97 **** --- 95,99 ---- + ::folder:: Dialog methods Dialogs support the following methods: *************** *** 99,102 **** --- 101,120 ---- <a HREF="||method-ctrl||">Common methods</a> + + ::item:: GetTemplate + <code>GetTemplate()</code><br> + <P>Returns the template used to create the dialog or None. + <br><br> + <a HREF="../Dialog.html">Dialog</a> and <a HREF="../DialogFromTemplate.html">DialogFromTemplate</a> + instances are based on templates in memory, so for a instance of these + classes return value should always be non None + </P> + + ::item:: GetDlgProc + <code>GetTemplate()</code><br> + <P>Returns a pointer to the dialogproc of the dialog + </P> + + ::item:: onINITDIALOG <code>onINITDIALOG(hwnd, msg, wp, lp)</code><br> *************** *** 141,145 **** ! --- 159,165 ---- ! ::item:: GetDlgItem ! <code>GetDlgItem(ID)</code><br> ! <P>Returns the hwnd of a dialog item given its ID *************** *** 259,268 **** </P> ! # ::item:: ! # <code></code><br> ! # <P> ! # <br><br> ! # ! # </P> --- 279,288 ---- </P> ! ::item:: GetMainWindow ! <code>GetMainWindow()</code><br> ! <P>Returns the hwnd of the mainwindow of the process or 0 ! <br><br> ! ! </P> *************** *** 398,401 **** --- 418,434 ---- <br><br> + + <DT>'prop_querysiblings' + <DD>send by a property sheet in response to a call to the 'QuerySiblings' method of property sheets<br> + wp=any application defined value<br> + lp=any application defined value + <br><br> + You may return a nonzero value here to return it to the property + sheet and stop the property sheet from sending the message to + subsequent siblings. All othe rreturn values will return zero + to the property sheet + <br><br> + + <DT>'syscolorchanged' <DD>the system notifies you, a system color has changed. *************** *** 652,658 **** <TR> <TD>'dialoglike'</TD> ! <TD>enables modal-dialog-like keyboard handling for a main ! window or a modeless dialog box. ! This style can not be changed at runtime</TD> </TR> <TR> --- 685,696 ---- <TR> <TD>'dialoglike'</TD> ! <TD>Use this style to enables modal dialogbox like keyboard handling for ! modeless dialog boxes. ! <br> ! To make the keyboard interface work the modeless dialog must be a child ! of a mainwindow and the mainwindow must have the 'dialoglike' style set aswell. ! 'modal' dialogboxes provide a standard keyboard interface by default. ! <br> ! This style can not be changed at runtime.</TD> </TR> <TR> |
From: jürgen u. <cer...@us...> - 2005-07-23 20:08:01
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/window classes/mdiframe In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6455/mdiframe Log Message: Directory /cvsroot/wnd/wnd/wnd_doc/doc/controls/window classes/mdiframe added to the repository |
From: jürgen u. <cer...@us...> - 2005-07-23 20:07:38
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/miscelaneous classes and functions/WindowClass In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6365 Modified Files: windowclass.dtpl Log Message: bit of this and a bit of that Index: windowclass.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/miscelaneous classes and functions/WindowClass/windowclass.dtpl,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** windowclass.dtpl 29 Apr 2005 15:17:04 -0000 1.1.1.1 --- windowclass.dtpl 23 Jul 2005 20:07:27 -0000 1.2 *************** *** 238,242 **** ::item:: SetIcons ! <code>SetIcons(IconLarge, IconSmall)</code><br> <P>Sets the icon to be displayed on the caption of the window (IconLarge) and/or the icon to be used for the window when its minimized --- 238,242 ---- ::item:: SetIcons ! <code>SetIcons(IconLarge, IconSmall=None)</code><br> <P>Sets the icon to be displayed on the caption of the window (IconLarge) and/or the icon to be used for the window when its minimized |
From: jürgen u. <cer...@us...> - 2005-07-23 20:07:07
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/replacetext In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6257 Added Files: .CVSIGNORE replacetext.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: replacetext.dtpl --- ::defaultpage:: ReplaceText ::site:: ReplaceText <IMG SRC="ReplaceText.gif"></IMG> <br><br> <a HREF="contents.html">ReplaceText contents</a> <br><br> ::site:: class ReplaceText <code class=import>defined in: wnd.dlgs.openfile</code><br><br> <code>ReplaceText(*flags)</code><br> Creates an modeless replace text dialogbox. <br><br> <br> flags can be a combination of the following flags: flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <br><br> <b>NOTE</b><br> Due to the fact that the ReplaceText dialog is a nodeless dialogbox you have to create its parent window with the 'dialoglike' style set to enable keyboard support for the dialog. <P> ::site:: class ReplaceTextFromTemplate <code class=import>defined in: wnd.dlgs.openfile</code><br><br> <code>ReplaceTextFromTemplate(template, *flags)</code><br> Inits a replace text dialog class from a custom template. <br><br> Template should be a string containing the raw bytes of the template to create the dialog from. <br> flags can be a combination of the following flags: flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <br><br> <b>NOTE</b><br> Due to the fact that the ReplaceText dialog is a nodeless dialogbox you have to create its parent window with the 'dialoglike' style set to enable keyboard support for the dialog. <P> ::site:: class ReplaceTextFromInstance <code class=import>defined in: wnd.dlgs.choosefont</code><br><br> <code>ReplaceTextFromInstance(instance, templatename, *flags)</code><br> <P> Inits a replace text dialog class from a custom template in a dll. <br><br> instance should be the handle to a dll containing the template or a sll loaded with ctypes. templatename its resource identifier. <br><br> <b>Note</b><br> <b>(!!) This class is currently not tested, so please report any missbehaviour.</b> <br><br> flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <br><br> <b>NOTE</b><br> Due to the fact that the ReplaceText dialog is a nodeless dialogbox you have to create its parent window with the 'dialoglike' style set to enable keyboard support for the dialog. <P> ::site:: ReplaceText messages A ReplaceText dialog the following messages to the message handler:<br><br> <DL> <DT>'fr_findnext' <DD>the user has cklicked the 'find' button<br> wp=tuple(text to find, text-to-replace-with)<br> lp=flags <br><br> 'flags' is a list containing none one or more of the following flags: <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'matchcase'</TD> <TD>the search should be case sensitive. If 'matchcase' is not in lisr seach should be performed case insensitive</TD> </TR> <TR> <TD>'wholeword'</TD> <TD>the search should match whole word only. If 'wholeword' is not in list the search should be performed matching any occurences chars specified</TD> </TR> </TABLE> <br><br> <DT>'fr_replace' <DD>the user has cklicked the 'replace' button<br> wp=tuple(text to find, text-to-replace-with)<br> lp=flags <br><br> 'flags' is a list containing none one or more of the flags as defined for the 'fr_findtext' message <br> <br><br> <DT>'fr_replaceall' <DD>the user has cklicked the 'replace all' button<br> wp=tuple(text to find, text-to-replace-with)<br> lp=flags <br><br> 'flags' is a list containing none one or more of the flags as defined for the 'fr_findtext' message <br> <br><br> <DT>'fr_buffererror' <DD>Send if the buffer intended to hold the string the user specified as search string is not large enough to hold all the chars<br> wp='find' or 'replace', according to the buffer affected<br> lp=tuple(required-buffer-size, actual-buffer-size) <br><br> Its up to you how to react on receiving this messaqge. One way is call <a HREF="ReplaceText methods/SetBufferSize.html">SetBufferSize</a> and adjust the buffer. After doing so you will receive the 'fr_ReplaceText' message with the correct number of chars. You may aswell return False here to cancel the 'fr_ReplaceText' message, or process the 'fr_ReplaceText' message with the truncated number of chars. <br><br> </DL> ::folder:: ReplaceText methods ReplaceText instances support all dialog methods except RunModal and RunModeless. (no link currently available) plus the following methods: ::item:: Run <code>Run(hwnd, what, *flags, **kwargs)</code><br> <P> Runs the ReplaceText dialog <DL> <DT>hwnd <DD>hwnd of the parent window. You have to specify a valid hwnd, otherwise the dialog can not be created <br><br> <DT>what <DD>the searchstring you want to initialize the dialogbox with. Can be '' (empty string) <br><br> <DT>*flags <DD>One or more of the following flags: <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'hidematchcase'</TD> <TD>hides the match case checkbox</TD> </TR> <TR> <TD>'nowholeword'</TD> <TD>disables the the whole word checkbox</TD> </TR> <TR> <TD>'nomatchcase'</TD> <TD>disables the match case checkbox</TD> </TR> <TR> <TD>'hidewholeword'</TD> <TD>hides the the whole word checkbox</TD> </TR> <TR> <TD>'hook'</TD> <TD>hooks the dialog, so you can process messages like for any othe rdialog</TD> </TR> <TR> <TD>'showhelp'</TD> <TD>shows the help button</TD> </TR> </TABLE> <DT>kwargs <DD>The following keyword arguments are recognised: <TABLE class="table1" BORDER="1"> <TR> <TD>'buffersize'</TD> <TD>the size of the buffer containing the search and the size buffer dor the replace stringstring.</TD> </TR> <br><br> <b>Return value</b><br> The hwnd of the dialogbox if it coulg sucefully created </P> ::item:: SetBufferSize <code>SetBufferSize(n)</code><br> <P>Sets the size of the buffer used to hold the find string and the size for the buffer holding the replacement string <br><br> This method works only if the dialog is actually running <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: CheckWholeWord <code>CheckWholeWord()</code><br> <P>Checks the whole word checkbox <br><br> This method works only if the dialog is actually running <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: isWholeWordChecked <code>isWholeWordChecked()</code><br> <P>Returns True if the whole word checkbox is checked, False otherwise <br><br> This method works only if the dialog is actually running </P> ::item:: CheckMatchCase <code>CheckMatchCase()</code><br> <P>Checks the match case checkbox <br><br> This method works only if the dialog is actually running <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: IsMatchCaseChecked <code>IsMatchCaseChecked()</code><br> <P>Returns True if the match case checkbox is checked, False otherwise <br><br> This method works only if the dialog is actually running </P> ::site:: customizing ReplaceText There are two ways to customize the ReplaceText dialog: <P> <OL> <LI>by hooking it <LI>by passing a custom dialog template to it (with or without hooking) </OL> </P> <H3>hooking</H3> This will subclass the dialog. You can process all messages like for any other dialog. Create controls in response to the onINIT handler play around with the default controls or whatever. <br><br> The rules are like this. If you return 0 from a message handler the systems dialog proc will process the message as usual, if you return 1 it will not. <H3>custom template</H3> You can pass a custom template to the dialog, to be used as template for the dialog. The following table shows the controls the standard dialog hosts. <br><br> In 'wnd/dlgs/templates/openfile.py' you will find the default template for the OpenSaveFile dialog. You can use this template to base your customized template upon. <br><br> <b>Notes</b><br> <OL> <LI>The ids for the controls you will find in <code class=import>wnd.consts.dlgs</code> <LI>the classname for the main-form should not be specifyed in the template <LI>before you start massive typing work, see <i>'wnd/dlgs/templates/replacetext.py'</I> for a default template of the dialogbox <LI> </OL> The ReplaceText dialog contains the following controls: <TABLE class="table1" BORDER="1"> <TH colspan=4>default font used is: 8 (size)</TH> <TR> <TD><b>classname</b></TD> <TD><b>id</b></TD> <TD><b>title</b></TD> <TD><b>size</b></TD> <TD><b>style</b></TD> </TR> <TR> <TD>>'MS Shell Dlg' (mainform)</TD> <TD>-</TD> <TD>'Replace'</TD> <TD>36, 44, 230, 94</TD> <TD>WS_BORDER | WS_CAPTION | DS_MODALFRAME | WS_POPUP | WS_SYSMENU | DS_3DLOOK | DS_CONTEXTHELP</TD> </TR> <TR> <TD>'static'</TD> <TD>0xFFFFFFFF</TD> <TD>'Fi&nd what:'</TD> <TD>4, 9, 48, 8</TD> <TD>SS_LEFT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>edt1</TD> <TD>''</TD> <TD>54, 7, 114, 12</TD> <TD>WS_GROUP | WS_TABSTOP | ES_AUTOHSCROLL | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'static'</TD> <TD>0xFFFFFFFF</TD> <TD>'Re&place with:'</TD> <TD>4, 26, 48, 8</TD> <TD>SS_LEFT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>edt2</TD> <TD>''</TD> <TD>454, 24, 114, 12</TD> <TD>WS_GROUP | WS_TABSTOP | ES_AUTOHSCROLL | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'button'</TD> <TD>chx1</TD> <TD>'Match &whole word only'</TD> <TD>5, 46, 104, 12</TD> <TD>WS_GROUP | BS_AUTOCHECKBOX | WS_VISIBLE | WS_TABSTOP</TD> </TR> <TR> <TD>'button'</TD> <TD>chx1</TD> <TD>'Match &case'</TD> <TD>5, 46, 104, 12</TD> <TD>BS_AUTOCHECKBOX | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>IDOK</TD> <TD>'&Find Next'</TD> <TD>174, 4, 50, 14</TD> <TD>WS_GROUP | WS_VISIBLE | WS_TABSTOP</TD> </TR> <TR> <TD>'button'</TD> <TD>psh1</TD> <TD>'&Replace'</TD> <TD>182, 5, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>psh2</TD> <TD>'Replace &All'</TD> <TD>174, 38, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>'Cancel'</TD> <TD>IDCANCEL</TD> <TD>174, 55, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>pshHelp</TD> <TD>'&Help'</TD> <TD>174, 75, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> </TABLE> |
From: jürgen u. <cer...@us...> - 2005-07-23 20:06:15
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/opensavefile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6025 Added Files: .CVSIGNORE opensavefile.dtpl Log Message: bit of this and a bit of that --- NEW FILE: opensavefile.dtpl --- ::defaultpage:: OpenSaveFile ::site:: OpenSaveFile <IMG SRC="opensavefile.gif"></IMG> <br><br> <a HREF="contents.html">OpenSaveFile contents</a> <br><br> ::site:: class OpenSaveFile <code class=import>defined in: wnd.dlgs.openfile</code><br><br> <code>OpenSaveFile(*flags)</code><br> Creates an open or save file dialog. <br><br> <br> flags can be a combination of the following flags: flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <P> ::site:: class OpenSaveFileFromTemplate <code class=import>defined in: wnd.dlgs.openfile</code><br><br> <code>OpenSaveFileFromTemplate(template, *flags)</code><br> Inits a OpenSaveFile dialog class from a custom template. <br><br> Template should be a string containing the raw bytes of the template to create the dialog from. <br> flags can be a combination of the following flags: flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <P> ::site:: class OpenSaveFileFromInstance <code class=import>defined in: wnd.dlgs.choosefont</code><br><br> <code>OpenSaveFileFromInstance(instance, templatename, *flags)</code><br> <P> Inits a OpenSaveFile dialog class from a custom template in a dll. <br><br> instance should be the handle to a dll containing the template or a sll loaded with ctypes. templatename its resource identifier. <br><br> <b>Note</b><br> <b>(!!) This class is currently not tested, so please report any missbehaviour.</b> <br><br> flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <P> ::site:: customizing OpenSaveFile There are two ways to customize the OpenSaveFile dialog: <P> <OL> <LI>by hooking it <LI>by passing a custom dialog template to it (with or without hooking) </OL> </P> <H3>hooking</H3> This will subclass the dialog. You can process all messages like for any other dialog. Create controls in response to the onINIT handler play around with the default controls or whatever. <br><br> The rules are like this. If you return 0 from a message handler the systems dialog proc will process the message as usual, if you return 1 it will not. <H3>custom template</H3> You can pass a custom template to the dialog, to be used as template for the dialog. The following table shows the controls the standard dialog hosts. <br><br> In 'wnd/dlgs/templates/openfile.py' you will find the default template for the OpenSaveFile dialog. You can use this template to base your customized template upon. <br><br> <b>Notes</b><br> <OL> <LI>The ids for the controls you will find in <code class=import>wnd.consts.dlgs</code> <LI>the classname for the main-form should not be specifyed in the template <LI>before you start massive typing work, see <i>'wnd/dlgs/templates/opensavefile.py'</I> for a default template of the dialogbox <LI> </OL> The OpenSaveFile dialog contains the following controls: <TABLE class="table1" BORDER="1"> <TH colspan=4>default font used is: 8 (size)</TH> <TR> <TD><b>classname</b></TD> <TD><b>id</b></TD> <TD><b>title</b></TD> <TD><b>size</b></TD> <TD><b>style</b></TD> </TR> <TR> <TD>'MS Shell Dlg' (mainform)</TD> <TD>-</TD> <TD>'Open'</TD> <TD>0, 0, 280, 164</TD> <TD>DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | DS_CONTEXTHELP | WS_CLIPCHILDREN</TD> </TR> <TR> <TD>'static'</TD> <TD>stc4</TD> <TD>'Look &in:'</TD> <TD>7, 6, 27, 8</TD> <TD>SS_LEFT | SS_NOTIFY | WS_VISIBLE</TD> </TR> <TR> <TD>'combobox'</TD> <TD>-</TD> <TD>cmb2</TD> <TD>36, 3, 138, 300</TD> <TD>CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD></TD> <TD>stc1</TD> <TD>172, 2, 102, 17</TD> <TD></TD> </TR> <TR> <TD>'listbox'</TD> <TD>lst1</TD> <TD>-</TD> <TD>4, 20, 272, 85</TD> <TD> LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | WS_HSCROLL</TD> </TR> <TR> <TD>'static'</TD> <TD>stc3</TD> <TD>'File &name:'</TD> <TD>5, 112, 48, 8</TD> <TD>SS_NOTIFY | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>edt1</TD> <TD>-</TD> <TD>54, 111, 155, 12</TD> <TD>ES_AUTOHSCROLL | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD>stc2</TD> <TD>'File &type:'</TD> <TD>5, 131, 48, 8</TD> <TD>SS_NOTIFY | WS_VISIBLE</TD> </TR> <TR> <TD>'combobox'</TD> <TD>cmb1</TD> <TD>-</TD> <TD>54, 129, 155, 100</TD> <TD>CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP |WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>chx1</TD> <TD>'Open as &read-only'</TD> <TD>54, 148, 74, 10</TD> <TD>WS_TABSTOP | BS_AUTOCHECKBOX | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>IDOK</TD> <TD>'&Open'</TD> <TD>222, 110, 50, 14</TD> <TD>BS_DEFPUSHBUTTON | WS_VISIBLE | WS_TABSTOP</TD> </TR> <TR> <TD>'button'</TD> <TD>IDCANCEL</TD> <TD>'Cancel'</TD> <TD>222, 128, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>pshHelp</TD> <TD>'&Help'</TD> <TD>222, 145, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> </TABLE> ::folder:: OpenSaveFile methods OpenSaveFile instances support all dialog methods except RunModal and RunModeless. (no link currently available) plus the following methods: ::item:: SaveFile <code>SaveFile(hwnd, *flags, **kwargs)</code><br> <P>Runs the dialog to return the path of a file to save to. <br><br> For the parameters to this method see <a HREF="OpenFile.html">OpenFile</a> <br><br> <b>Return value</b><br> None if the user canceled th edialog, The full path to a file to save to otherwise </P> ::item:: OpenFile <code>OpenFile(hwnd, *flags, **kwargs)</code><br> <P>Runs the dialog to return the path of one or more files to open <DL> <DT>hwnd <DD>hwnd of the parent window or None <br><br> <DT>*flags <DD>If the dialog is hooked the view flags as defined in <a HREF="SetView.html">SetView</a> are recognized.<br> In any case you can pass one or more of the following flags: <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'allowmultiselect'</TD> <TD>allows the user to select multiple files.</TD> </TR> <TR> <TD>'createpropmt'</TD> <TD>prompts the user for permission before creating the file if the filename he typed in does not exist</TD> </TR> <TR> <TD>'dontaddtorecent'</TD> <TD>Let me guess here. The file chosen is not added to recent docs</TD> </TR> <TR> <TD>'filemustexist'</TD> <TD>throws a messagebox if the file the user typed in does not exist</TD> </TR> <TR> <TD>'hidereadonly'</TD> <TD>hides the readonly box</TD> </TR> <TR> <TD>'hook'</TD> <TD>rhooks the dialog. This is usefull for further customizing the dialog. See <a HREF="../customizing Openfile.html">customizing OpenSaveFile</a>. If the dialog is not hooked any attempt to call any dialog methods for the dialog will fail. </TD> </TR> <TR> <TD>'nochangedir'</TD> <TD>restores the current working directory if the user changed it while searching for as file</TD> </TR> <TR> <TD>'nodereferencelinks'</TD> <TD>if the user chooses a link (*.LNK) with this flag set the path of the link is returnd, without the path of the file pointed to by the link</TD> </TR> <TR> <TD>'nonetworkbutton'</TD> <TD>hides the network button</TD> </TR> <TR> <TD>'novalidate'</TD> <TD>allows the user to type in chars not allowed in filenames</TD> </TR> <TR> <TD>'noreadonlyreturn'</TD> <TD>does not allow the user to choose read only files</TD> </TR> <TR> <TD>'overwriteprompt'</TD> <TD>prompts the user for permission if the file already exists (SaveFile)</TD> </TR> <TR> <TD>'pathmustexist'</TD> <TD>throws an error if the path the user typed in does not exist</TD> </TR> <TR> <TD>'readonly'</TD> <TD>checks the readonly box</TD> </TR> <TR> <TD>'shareaware'</TD> <TD>ignores network sharing violations</TD> </TR> <TR> <TD>'showhelp'</TD> <TD>shows the 'Help' button</TD> </TR> </TABLE> <br><br> <DT>kwargs <DD>The following keyword arguments are recognised: <TABLE class="table1" BORDER="1"> <TR> <TD>'buffersize'</TD> <TD>the size of the return buffer for the file(s) selected. Default is OFN_FILEBUFFERSIZE chars.</TD> </TR> <TR> <TD>'defext'</TD> <TD>the default extension to add to the file if the user does not specify one. <br><br> According to windows standards the extension may be three chars long (no period) </TD> </TR> <TR> <TD>'deffile'</TD> <TD>the suggested default file to open</TD> </TR> <TR> <TD>'deffilter'</TD> <TD>the one based index of the filter to apply</TD> </TR> <TR> <TD>'filters'</TD> <TD>the filters the user may choose from <br><br> deffilter should be a string of '\x00' sparated filters, double '\x00' terminated. <b>'Python (py)\x00*.py\x00Text (txt)\x00*.txt\x00\x00'</b> will result in the following filters to be displayed: <br> Python (py)<br> Text (txt) <br><br> A filter consists of a '\x00' separeted pair, filter-name, filter-pattern. To use more then one pattern for the same filter-name separate the patterns by semicolon: <b>'Python (py, pyc, pyo)\x00*.py;*.pyc;*.pyo'</b> (no spaces allowed in the pattern part) <br><br> This open file implemenation uses 'All Files (*.*)\x00*.*\x00\x00' by default. You may clear this by specifying '' (empty string) as filter. </TD> </TR> <TR> <TD>'initialdir'</TD> <TD>path of the initial directory</TD> </TR> <TR> <TD>'title'</TD> <TD>Overwrites the default title of the open file dialogbox</TD> </TR> </TABLE> <DT> <DD> </DL> <br><br> <b>Return value</b><br> <P> If the user canceled the dialog, return value is always None. <br><br> If the dialog is run with the 'allowmultiselect' flag set return value is a list of files chosen by the user. If one file was selected the first member of the list is the complete filepath of the file chosen. If multiple files where selected the first member of the list is the directory path, followed by the filenames of the files selected <br><br> If the dialog was run without the 'allowmultiselect' flag set, return value is the filepath of the file selected. </P> </P> ::item:: IsReadonlyChecked <code>IsReadonlyChecked()</code><br> <P>Returns true if the readonly checkbox was checked the last time the dialog was run, False otherwise. <br><br> Use this to determine the state of the checkbox emidiately after the dialog was run. If the user canceled the dialog, return value is always False </P> ::item:: GetBufferError <code>GetBufferError()</code><br> <P>If something goes wrong with the dialog, an exception is raised. For the special case that the buffer used to return the filenames is to small you can use this method to check for the required buffersize. <br><br> This value is always updated the next time the dialog is run. <br><br> <b>Return value</b><br> Zero if no buffer error was encountered, the count in bytes of the buffer required to return the files the user selected otherwise <br><br> <b>Note</b><br> Dono wether this is usefull or not. But as long as the user does not select even more files the next time the dialog is run it may be worth while giving him or her or it a second chance. </P> ::item:: SetView <code>SetView(view)</code><br> <P>Changes the view for the dialog <br><br> You can use this method if the dialog is hooked, to set the view for the listview displaying the files and folders. 'view' can be': <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'largeicon'</TD> <TD>causes the listview to display large icons</TD> </TR> <TR> <TD>list'</TD> <TD>causes the listview to display the items as list</TD> </TR> <TR> <TD>'report'</TD> <TD>causes the listview to display the items in report view (showing details)</TD> </TR> <TR> <TD>'smallicon'</TD> <TD>causes the listview to display small icons</TD> </TR> <TR> <TD>'thumbnails'</TD> <TD>??</TD> </TR> </TABLE> </P> --- NEW FILE: .CVSIGNORE --- *.html *.gif |
From: jürgen u. <cer...@us...> - 2005-07-23 20:05:31
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/findtext In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5898 Added Files: .CVSIGNORE findtext.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: findtext.dtpl --- ::defaultpage:: FindText ::site:: FindText <IMG SRC="findtext.gif"></IMG> <br><br> <a HREF="contents.html">FindText contents</a> <br><br> ::site:: class FindText <code class=import>defined in: wnd.dlgs.openfile</code><br><br> <code>FindText(*flags)</code><br> Creates an modeless find text dialogbox. <br><br> <br> flags can be a combination of the following flags: flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <br><br> <b>NOTE</b><br> Due to the fact that the FindText dialog is a nodeless dialogbox you have to create its parent window with the 'dialoglike' style set to enable keyboard support for the dialog. <P> ::site:: class FindTextFromTemplate <code class=import>defined in: wnd.dlgs.openfile</code><br><br> <code>FindTextFromTemplate(template, *flags)</code><br> Inits a find text dialog class from a custom template. <br><br> Template should be a string containing the raw bytes of the template to create the dialog from. <br> flags can be a combination of the following flags: flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <br><br> <b>NOTE</b><br> Due to the fact that the FindText dialog is a nodeless dialogbox you have to create its parent window with the 'dialoglike' style set to enable keyboard support for the dialog. <P> ::site:: class FindTextFromInstance <code class=import>defined in: wnd.dlgs.choosefont</code><br><br> <code>FindTextFromInstance(instance, templatename, *flags)</code><br> <P> Inits a find text dialog class from a custom template in a dll. <br><br> instance should be the handle to a dll containing the template or a sll loaded with ctypes. templatename its resource identifier. <br><br> <b>Note</b><br> <b>(!!) This class is currently not tested, so please report any missbehaviour.</b> <br><br> flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <br><br> <b>NOTE</b><br> Due to the fact that the FindText dialog is a nodeless dialogbox you have to create its parent window with the 'dialoglike' style set to enable keyboard support for the dialog. <P> ::site:: FindText messages A FindText dialog the following messages to the message handler:<br><br> <DL> <DT>'fr_findtext' <DD>the user has cklicked the 'find' button<br> wp=text to find<br> lp=flags <br><br> 'flags' is a list containing none one or more of the following flags: <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'down'</TD> <TD>search direction is down. If 'down' is not in list, search direction is up</TD> </TR> <TR> <TD>'matchcase'</TD> <TD>the search should be case sensitive. If 'matchcase' is not in lisr seach should be performed case insensitive</TD> </TR> <TR> <TD>'wholeword'</TD> <TD>the search should match whole word only. If 'wholeword' is not in list the search should be performed matching any occurences chars specified</TD> </TR> </TABLE> <br><br> <DT>'fr_buffererror' <DD>Send if the buffer intended to hold the string the user specified as search string is not large enough to hold all the chars<br> wp='find'<br> lp=tuple(required-buffer-size, actual-buffer-size) <br><br> Its up to you how to react on receiving this messaqge. One way is call <a HREF="FindText methods/SetBufferSize.html">SetBufferSize</a> and adjust the buffer. After doing so you will receive the 'fr_findtext' message with the correct number of chars. You may aswell return False here to cancel the 'fr_findtext' message, or process the 'fr_findtext' message with the truncated number of chars. <br><br> </DL> ::folder:: FindText methods FindText instances support all dialog methods except RunModal and RunModeless. (no link currently available) plus the following methods: ::item:: Run <code>Run(hwnd, what, *flags, **kwargs)</code><br> <P> Runs the FindText dialog <DL> <DT>hwnd <DD>hwnd of the parent window. You have to specify a valid hwnd, otherwise the dialog can not be created <br><br> <DT>what <DD>the searchstring you want to initialize the dialogbox with. Can be '' (empty string) <br><br> <DT>*flags <DD>One or more of the following flags: <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'hidematchcase'</TD> <TD>hides the match case checkbox</TD> </TR> <TR> <TD>'hideupdown'</TD> <TD>hides the search direction radioboxes</TD> </TR> <TR> <TD>'nowholeword'</TD> <TD>disables the the whole word checkbox</TD> </TR> <TR> <TD>'nomatchcase'</TD> <TD>disables the match case checkbox</TD> </TR> <TR> <TD>noupdown'</TD> <TD>hides the the search direction radioboxes</TD> </TR> <TR> <TD>'hidewholeword'</TD> <TD>hides the the whole word checkbox</TD> </TR> <TR> <TD>'hook'</TD> <TD>hooks the dialog, so you can process messages like for any othe rdialog</TD> </TR> <TR> <TD>'showhelp'</TD> <TD>shows the help button</TD> </TR> </TABLE> <DT>kwargs <DD>The following keyword arguments are recognised: <TABLE class="table1" BORDER="1"> <TR> <TD>'buffersize'</TD> <TD>the size of the buffer containing the search string.</TD> </TR> <br><br> <b>Return value</b><br> The hwnd of the dialogbox if it coulg sucefully created </P> ::item:: SetBufferSize <code>SetBufferSize(n)</code><br> <P>Sets the size of the buffer used to hold the find string <br><br> This method works only if the dialog is actually running <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: SetSearchDirectionn <code>SetSearchDirection(direction)</code><br> <P>Checks the 'up' search direction radiobox if you pass 'up' as direction, the 'down' radiobox if you pass 'down' as direction. <br><br> This method works only if the dialog is actually running <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: GetSearchDirection <code>GetSearchDirection()</code><br> <P>Returns either 'up' or 'down', according to the search direction currently selected <br><br> This method works only if the dialog is actually running. If the dialog is not running, return value is always False <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: CheckWholeWord <code>CheckWholeWord()</code><br> <P>Checks the whole word checkbox <br><br> This method works only if the dialog is actually running <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: isWholeWordChecked <code>isWholeWordChecked()</code><br> <P>Returns True if the whole word checkbox is checked, False otherwise <br><br> This method works only if the dialog is actually running </P> ::item:: CheckMatchCase <code>CheckMatchCase()</code><br> <P>Checks the match case checkbox <br><br> This method works only if the dialog is actually running <br><br> <b>Return value</b><br> True on successs, False otherwise </P> ::item:: IsMatchCaseChecked <code>IsMatchCaseChecked()</code><br> <P>Returns True if the match case checkbox is checked, False otherwise <br><br> This method works only if the dialog is actually running </P> ::site:: customizing FindText There are two ways to customize the FindText dialog: <P> <OL> <LI>by hooking it <LI>by passing a custom dialog template to it (with or without hooking) </OL> </P> <H3>hooking</H3> This will subclass the dialog. You can process all messages like for any other dialog. Create controls in response to the onINIT handler play around with the default controls or whatever. <br><br> The rules are like this. If you return 0 from a message handler the systems dialog proc will process the message as usual, if you return 1 it will not. <H3>custom template</H3> You can pass a custom template to the dialog, to be used as template for the dialog. The following table shows the controls the standard dialog hosts. <br><br> In 'wnd/dlgs/templates/openfile.py' you will find the default template for the OpenSaveFile dialog. You can use this template to base your customized template upon. <br><br> <b>Notes</b><br> <OL> <LI>The ids for the controls you will find in <code class=import>wnd.consts.dlgs</code> <LI>the classname for the main-form should not be specifyed in the template <LI>before you start massive typing work, see <i>'wnd/dlgs/templates/findtext.py'</I> for a default template of the dialogbox <LI> </OL> The FindText dialog contains the following controls: <TABLE class="table1" BORDER="1"> <TH colspan=4>default font used is: 8 (size)</TH> <TR> <TD><b>classname</b></TD> <TD><b>id</b></TD> <TD><b>title</b></TD> <TD><b>size</b></TD> <TD><b>style</b></TD> </TR> <TR> <TD>>'MS Shell Dlg' (mainform)</TD> <TD>-</TD> <TD>'Find'</TD> <TD>30, 73, 236, 62</TD> <TD>WS_BORDER | WS_CAPTION | DS_MODALFRAME | WS_POPUP | WS_SYSMENU | DS_3DLOOK | DS_CONTEXTHELP</TD> </TR> <TR> <TD>'static'</TD> <TD>0xFFFFFFFF</TD> <TD>'Fi&nd what:'</TD> <TD>4, 8, 42, 8</TD> <TD>SS_LEFT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>edt1</TD> <TD>''</TD> <TD>47, 7, 128, 12</TD> <TD>WS_GROUP | WS_TABSTOP | ES_AUTOHSCROLL | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'button'</TD> <TD>chx1</TD> <TD>'Match &whole word only'</TD> <TD>4, 26, 100, 12</TD> <TD>WS_GROUP | BS_AUTOCHECKBOX | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>chx1</TD> <TD>'Match &case'</TD> <TD>4, 42, 64, 12</TD> <TD>BS_AUTOCHECKBOX | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>grp1</TD> <TD>'Direction'</TD> <TD>107, 26, 68, 28</TD> <TD>WS_GROUP | BS_GROUPBOX | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>rad1</TD> <TD>'&Up'</TD> <TD>111, 38, 25, 12</TD> <TD>WS_GROUP | BS_AUTORADIOBOX | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>rad2</TD> <TD>'&Down'</TD> <TD>138, 38, 35, 12</TD> <TD>BS_AUTORADIOBOX | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>IDOK</TD> <TD>'&Find Next'</TD> <TD>182, 5, 50, 14</TD> <TD>WS_GROUP | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>'Cancel'</TD> <TD>IDCANCEL</TD> <TD>182, 23, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>pshHelp</TD> <TD>'&Help'</TD> <TD>182, 45, 50, 14</TD> <TD>WS_VISIBLE</TD> </TR> </TABLE> |
From: jürgen u. <cer...@us...> - 2005-07-23 20:04:48
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/choosefont In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5706 Modified Files: choosefont.dtpl Log Message: bit of this and a bit of that Index: choosefont.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/choosefont/choosefont.dtpl,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** choosefont.dtpl 29 Apr 2005 15:19:32 -0000 1.1.1.1 --- choosefont.dtpl 23 Jul 2005 20:04:39 -0000 1.2 *************** *** 1,4 **** --- 1,11 ---- + + ::defaultpage:: ChooseFont + + ::site:: ChooseFont <IMG SRC="choosefont.gif"></IMG> + <br><br> + <a HREF="contents.html">ChooseFont contents</a> + <br><br> ::site:: class ChooseFont *************** *** 6,20 **** <code>ChooseFont(*flags)</code><br> ! Inits a ChooseFont instance. <br><br> flags can be a combination of the following flags: <DL> - <DT>'hook' - <DD>hooks the dialog. This is usefull for customizing the dialog. - See <a HREF="customizing Choosefont.html">customizing Choosefont</a>. If the dialog is not hooked any attempt to - use one of the common methods for the dialog will fail. - <br><br> - <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. --- 13,21 ---- <code>ChooseFont(*flags)</code><br> ! Creates a ChooseFont dialog. <br><br> flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. *************** *** 30,34 **** </DL> ! --- 31,35 ---- </DL> ! <P> *************** *** 45,67 **** <DL> - <DT>'hook' - <DD>hooks the dialog. This is usefull for further customizing the dialog. - See <a HREF="customizing Choosefont.html">customizing Choosefont</a>. If the dialog is not hooked any attempt to - call common methods for the dialog will fail. - <br><br> - <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> ! lp= the message ID<br> ! wp= formated message string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages ! <br><br> ! </DL> ::site:: class ChooseFontFromInstance --- 46,63 ---- <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> ! lp= the message ID<br> ! wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages ! <br><br> + </DL> + <P> ::site:: class ChooseFontFromInstance *************** *** 76,97 **** <br><br> <b>Note</b><br> ! <b>(!!) This is currently not tested, so please report any missbehaviour.</b> ! <br> ! flags can be a combination of the following flags: ! ! <DL> ! <DT>'hook' ! <DD>hooks the dialog. This is usefull for further customizing the dialog. ! See <a HREF="customizing Choosefont.html">customizing Choosefont</a>. If the dialog is not hooked any attempt to ! call common methods for the dialog will fail. ! <br><br> ! <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> ! lp= the message ID<br> wp= formated message as string <br><br> --- 72,85 ---- <br><br> <b>Note</b><br> ! <b>(!!) This class is currently not tested, so please report any missbehaviour.</b> ! <br><br> ! <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> ! lp= the message ID<br> wp= formated message as string <br><br> *************** *** 117,126 **** <br><br> This is allways the color the user selected the last time the dialog ! was run </P> ::item:: Run ! <code>Run(hwnd, logfont, hDC, limitsize, *flags)</code><br> <P> Dislpays the choose font dialog.<br> --- 105,114 ---- <br><br> This is allways the color the user selected the last time the dialog ! was run. Default value returned is zero. </P> ::item:: Run ! <code>Run(hwnd, *flags, **kwargs)</code><br> <P> Dislpays the choose font dialog.<br> *************** *** 132,163 **** <br><br> ! <DT>logfont <DD>A ||type-LOGFONT|| struct to initialize the dialog with or None. The system will try to match ! the font described in the logfont struct. May be None. <br><br> ! <DT>hDC ! <DD>handle of a printer device context or None. This handle is ignored if neither 'printerfonts' nor 'both' is specified. <br><br> ! DT>limitsize <DD>a tuple(font-size-min, font-size-max) specifying the minimum ! and maximum allowable font size to select. May be None ! <br><br> ! ! <DT>flags ! <DD>there are numerous flags you can specify but at least one font type ! flag should to be pecified (unless you want to display an empty ! ChooseFont ialog). See tables below <br><br> - </DL> </P> ! <br><br> ! <TABLE class="table1" BORDER="1"> <TH colspan="2">font type flags:</TH> --- 120,156 ---- <br><br> ! <DT>flags ! <DD>there are numerous flags you can specify but at least one font type ! flag should to be pecified (unless you want to display an empty ! ChooseFont ialog). See tables below ! <br><br> ! ! </DL> ! ! ! <br><br> ! The following keyword arguments are recognized: ! <DL> ! ! <DT>'logfont' <DD>A ||type-LOGFONT|| struct to initialize the dialog with or None. The system will try to match ! the font described in the logfont struct. <br><br> ! <DT>'hdc' ! <DD>handle of a printer device context. This handle is ignored if neither 'printerfonts' nor 'both' is specified. <br><br> ! <DT>limitsize <DD>a tuple(font-size-min, font-size-max) specifying the minimum ! and maximum allowable font size to select. <br><br> </DL> </P> ! <TABLE class="table1" BORDER="1"> <TH colspan="2">font type flags:</TH> *************** *** 257,260 **** --- 250,259 ---- </TR> <TR> + <TD>'hook'</TD> + <TD>hooks the dialog. This is usefull for further customizing the dialog. + See <a HREF="../customizing Choosefont.html">customizing ChooseFont</a>. If the dialog is not hooked any attempt to + call any dialog methods for the dialog will fail.</TD> + </TR> + <TR> <TD>'selectscript'</TD> <TD>akes the charset from the ||type-LOGFONT|| specified, *************** *** 298,301 **** --- 297,304 ---- standard dialog hosts. <br><br> + In 'wnd/dlgs/templates/chooseont.py' you will find the default template for the + OpenFile dialog. You can use this template to base your customized template upon. + <br><br> + <b>Notes</b><br> <OL> *************** *** 303,310 **** class=import>wnd.consts.dlgs</code> <LI>the classname for the main-form should not be specifyed in the template ! <LI>before you start massive typing work: <code ! class=import>wnd.dlgs.templates</code> contains a ! template to be used with <code ! class=import>wnd.tools.dlgeditor</code> you can base your template upon. <LI> </OL> --- 306,312 ---- class=import>wnd.consts.dlgs</code> <LI>the classname for the main-form should not be specifyed in the template ! <LI>before you start massive typing work, see ! <i>'wnd/dlgs/templates/choosefont.py'</I> for a default template of the ! dialogbox <LI> </OL> *************** *** 383,387 **** <TD>"OK"</TD> <TD>210, 16, 45, 14</TD> ! <TD>BS_DEFPUSHBUTTON|WS_GROUP | WS_VISIBLE</TD> </TR> <TR> --- 385,389 ---- <TD>"OK"</TD> <TD>210, 16, 45, 14</TD> ! <TD>BS_DEFPUSHBUTTON|WS_GROUP | WS_VISIBLE | WSW_TABSTOP</TD> </TR> <TR> *************** *** 390,394 **** <TD> "Cancel"</TD> <TD>210, 32, 45, 14</TD> ! <TD>WS_GROUP | WS_VISIBLE</TD> </TR> <TR> --- 392,396 ---- <TD> "Cancel"</TD> <TD>210, 32, 45, 14</TD> ! <TD>WS_VISIBLE</TD> </TR> <TR> *************** *** 397,401 **** <TD>"&Apply"</TD> <TD>210, 48, 45, 14</TD> ! <TD>WS_GROUP | WS_VISIBLE</TD> </TR> <TR> --- 399,403 ---- <TD>"&Apply"</TD> <TD>210, 48, 45, 14</TD> ! <TD>WS_VISIBLE</TD> </TR> <TR> *************** *** 404,408 **** <TD>"&Help"</TD> <TD>210, 64, 45, 14</TD> ! <TD>WS_GROUP | WS_VISIBLE</TD> </TR> <TR> --- 406,410 ---- <TD>"&Help"</TD> <TD>210, 64, 45, 14</TD> ! <TD>WS_VISIBLE</TD> </TR> <TR> |
From: jürgen u. <cer...@us...> - 2005-07-23 20:04:26
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/choosecolor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5628 Added Files: .CVSIGNORE choosecolor.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: choosecolor.dtpl --- ::site:: ChooseColor reference <IMG SRC="choosecolor.gif"></IMG> ::site:: class ChooseColor <code class=import>defined in: wnd.dlgs.choosecolor</code><br><br> <code>inst=ChooseColor(*flags)</code><br> <P> <br><br> Creates a ChooseColor dialog <br><br> Each ChooseColor instance holds a fixed size array of 16 ||type-COLORREF|| values the user may adjust to its needs. You may access the arry at any time calling <a HREF="ChooseColor methods/__getitem__.html">__getitem__</a> or <a HREF="ChooseColor methods/__setitem__.html">__setitem__</a> or by adjusting the array when calling the <a HREF="ChooseColor methods/Run.html">Run</a> method. By default all colors in the array are initialized to zero (black that is). <br><br> flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> </P> ::site:: class ChooseColorFromTemplate <code class=import>defined in: wnd.dlgs.choosecolor</code><br><br> <code>ChooseColorFromTemplate(template, *flags)</code><br> Inits a ChooseColor dialog class from a custom template. <br><br> Template should be a string containing the raw bytes of the template to create the dialog from. <br> flags can be a combination of the following flags: <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <P> ::site:: class ChooseColorFromInstance <code class=import>defined in: wnd.dlgs.choosecolor</code><br><br> <code>ChooseColorFromInstance(instance, templatename, *flags)</code><br> <P> Inits a ChooseColor dialog class from a custom template in a dll. <br><br> instance should be the handle to a dll containing the template or a sll loaded with ctypes. templatename its resource identifyer. <br><br> <b>Note</b><br> <b>(!!) This class is currently not tested, so please report any missbehaviour.</b> <br><br> <DL> <DT>'debug' <DD>if the dialog is hooked this will allow for debugging its messages. The message handler will be called with a message 'debug' <br> lp= the message ID<br> wp= formated message as string <br><br> <DT>'debugall' <DD>same as 'debug' but prints out more messages <br><br> </DL> <P> ::folder:: ChooseColor methods ChooseColor dialogs support the following methods:<br><br> ::item:: Run <code>Run(hwnd, *flags, **kwargs)</code><br> Displays the choose color dialog.<br> <P> <DL> <DT>hwnd <DD>The hwnd of the parent window or None <DT>*flags <DD>One or more of the following flags: <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'anycolor'</TD> <TD>displays all available colors in the set of basic colors</TD> </TR> <TR> <TD>'fullopen'</TD> <TD>displays the dialog with the additional control for creating custom colors opend</TD> </TR> <TR> <TD>'preventfullopen'</TD> <TD>disables the 'define custom colors' button</TD> </TR> <TR> <TD>'hook'</TD> <TD>hooks the dialog so you can use it like any other framework dialog</TD> </TR> <TR> <TD>'showhelp'</TD> <TD>shoes the 'Help' button</TD> </TR> <TR> <TD>'solidcolor'</TD> <TD>displays only soloid colors in the set of basic colors</TD> </TR> </TABLE> <DT>kwargs <DD>The following keyword arguments are recognised: <TABLE class="table1" BORDER="1"> <TR> <TD>'customcolors'</TD> <TD>a list of up to 16 ||type-COLORREF|| values to be used as custom colors</TD> </TR> <TR> <TD>'initcolor'</TD> <TD>the ||type-COLORREF|| value to be used as initial color</TD> </TR> </DL> </DL> </P> <br><br> <b>Return value</b><br> the chosen ||type-COLORREF|| value or None if the user canceled the dialog. ::item:: __getitem__ <code>__getitem__(i)</code><br> <P>Retrieves a ||type-COLORREF|| value from the array of custom colors the instance holds. Simple slice notation is supported (step parameter is ignored), indices may not be any higher than 15 </P> ::item:: __setitem__ <code>__setitem__(i, value)</code><br> <P>Sets a ||type-COLORREF|| to the array of custom colors the instance holds. Simple slice notation is supported (step parameter is ignored), indices may not be any higher than 15 </P> ::site:: customizing ChooseColor There are two ways to customize the ChooseColor dialog: <P> <OL> <LI>by hooking it <LI>by passing a custom dialog template to it (with or without hooking) </OL> </P> <H3>hooking</H3> This will subclass the dialog. You can process all messages like for any other dialog. Create controls in response to the onINIT handler play around with the default controls or whatever. <br><br> The rules are like this. If you return 0 from a message handler the systems dialog proc will process the message as usual, if you return 1 it will not. <H3>custom template</H3> You can pass a custom template to the dialog, to be used as template for the dialog. The following table shows the controls the standard dialog hosts. <br><br> In 'wnd/dlgs/templates/openfile.py' you will find the default template for the OpenSaveFile dialog. You can use this template to base your customized template upon. <br><br> <b>Notes</b><br> <OL> <LI>The ids for the controls you will find in <code class=import>wnd.consts.dlgs</code> <LI>the classname for the main-form should not be specifyed in the template <LI>before you start massive typing work, see <i>'wnd/dlgs/templates/choosecolor.py'</I> for a default template of the dialogbox <LI><i>'wnd/dlgs/templates/choosecolor.py'</I> also contains the missing control ids like COLOR_BOX1 and friends <LI> </OL> The ChooseColor dialog contains the following controls: <TABLE class="table1" BORDER="1"> <TH colspan=4>default font used is: 8 (size)</TH> <TR> <TD><b>classname</b></TD> <TD><b>id</b></TD> <TD><b>title</b></TD> <TD><b>size</b></TD> <TD><b>style</b></TD> </TR> <TR> <TD>'MS Shell Dlg' (mainform)</TD> <TD>-</TD> <TD>'Color'</TD> <TD>2, 0, 298, 184</TD> <TD><WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_POPUP | WS_SYSMENU | DS_3DLOOK | DS_CONTEXTHELP/TD> </TR> <TR> <TD>'static'</TD> <TD>0xFFFFFFFF</TD> <TD>'&Basic colors:'</TD> <TD>4, 4, 140, 9</TD> <TD>SS_SIMPLE | WS_CHILD | WS_TABSTOP | WS_GROUP | SS_LEFT | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_BOX1</TD> <TD>''</TD> <TD>4, 14, 140, 86</TD> <TD>SS_SIMPLE | WS_CHILD | WS_TABSTOP | WS_GROUP | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD>0xFFFFFFFF</TD> <TD>'&Custom colors:'</TD> <TD>4, 106, 140, 9</TD> <TD>SS_LEFT | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_CUSTOM1</TD> <TD>''</TD> <TD>4, 116, 140, 28</TD> <TD>SS_SIMPLE | WS_CHILD | WS_TABSTOP | WS_GROUP | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>COLOR_MIX</TD> <TD>'&Define Custom Colors >>'</TD> <TD>4, 150, 140, 14</TD> <TD>WS_TABSTOP | WS_GROUP | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>IDOK</TD> <TD>'OK'</TD> <TD>4, 166, 44, 14</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>IDCANCEL</TD> <TD>'Cancel'</TD> <TD>52, 166, 44, 14</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>pshHelp</TD> <TD>'&Help'</TD> <TD>100, 166, 44, 14</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_RAINBOW</TD> <TD>''</TD> <TD>152, 4, 118, 116</TD> <TD>SS_SUNKEN | SS_SIMPLE | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_LUMSCROLL</TD> <TD>''</TD> <TD>280, 4, 8, 116</TD> <TD>SS_SUNKEN | SS_SIMPLE | WS_VISIBLE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_CURRENT</TD> <TD>''</TD> <TD>152, 124, 40, 26</TD> <TD>SS_SUNKEN | SS_SIMPLE | WS_VISIBLE</TD> </TR> <TR> <TD>'button'</TD> <TD>COLOR_SOLID</TD> <TD>'&o'</TD> <TD>100, 166, 44, 14</TD> <TD>WS_GROUP</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_SOLID_LEFT</TD> <TD>'Color'</TD> <TD>152, 151, 20, 9</TD> <TD>SS_RIGHT</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_SOLID_RIGH</TD> <TD>'|S&olid'</TD> <TD>172, 151, 20, 9</TD> <TD>SS_SUNKEN | SS_SIMPLE | SS_LEFT</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_HUEACCEL</TD> <TD>'Hu&e:'</TD> <TD>194, 126, 20, 9</TD> <TD>SS_RIGHT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>COLOR_HUE</TD> <TD>''</TD> <TD>216, 124, 18, 12</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_HUEACCEL</TD> <TD>'&Sat:'</TD> <TD>194, 140, 20, 9</TD> <TD>SS_RIGHT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>COLOR_SAT</TD> <TD>''</TD> <TD>216, 124, 18, 12</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_LUMACCEL</TD> <TD>'&Lum:'</TD> <TD>194, 154, 20, 9</TD> <TD>SS_RIGHT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>COLOR_LUM</TD> <TD>''</TD> <TD>216, 152, 18, 12</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_REDACCEL</TD> <TD>'&Red:'</TD> <TD>243, 126, 24, 9</TD> <TD>SS_RIGHT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>COLOR_RED</TD> <TD>''</TD> <TD>269, 124, 18, 12</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_GREENACCEL</TD> <TD>'&Green:'</TD> <TD>243, 140, 24, 9</TD> <TD>SS_RIGHT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>COLOR_GREEN</TD> <TD>''</TD> <TD>269, 138, 18, 12</TD> <TD>WS_GROUP | WS_TABSTOP | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'static'</TD> <TD>COLOR_BLUEACCEL</TD> <TD>'Bl&ue:'</TD> <TD>243, 140, 24, 9</TD> <TD>SS_RIGHT | WS_VISIBLE</TD> </TR> <TR> <TD>'edit'</TD> <TD>COLOR_BLUE</TD> <TD>''</TD> <TD>269, 152, 18, 12</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE | WS_EX_CLIENTEDGE</TD> </TR> <TR> <TD>'button'</TD> <TD>COLOR_ADD</TD> <TD>'&Add to Custom Colors'</TD> <TD>152, 166, 142, 14</TD> <TD>WS_GROUP | WS_TABSTOP | WS_VISIBLE</TD> </TR> </TABLE> |
From: jürgen u. <cer...@us...> - 2005-07-23 20:03:35
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/browseforfolder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5487 Added Files: browseforfolder.dtpl Log Message: bit of this and a bit of that --- NEW FILE: browseforfolder.dtpl --- ::site:: class BrowseForFolder <code class=import>defined in: wnd.dlgs.browseforfolder</code><br><br> <code>inst=BrowseForFolder()</code><br> <P>Creates a BrowseForFolder dialog </P> ::site:: BrowseForFolder messages A BrowseForFolder dialog the following messages to the message handler:<br><br> <DL> <DT>'bff_selchanged' <DD>the selected folder has changed<br> wp=pIdl of the selected folder<br> lp=always zero <br><br> The pIdl being passed if freed right after returning. If you want to keep it make a copy of it. <br><br> <DT>'bff_validatefailed' <DD>the user has entered an invalid path into the editbox<br> wp=path<br> lp=always zero <br><br> Return False here to disallow the dialog to be closed. <br><br> </DL> ::folder:: BrowseForFolder methods BrowseForFolder dialogs support the following methods:<br><br> ::item:: Run <code>Run(hwnd, *flags, **kwargs)</code><br> Displays the choose color dialog.<br> <P> <DL> <DT>hwnd <DD>The hwnd of the parent window or None <DT>*flags <DD>One or more of the following flags: <br> <TABLE class="table1" BORDER="1"> <TR> <TD>'browseforcomputer'</TD> <TD>the user may only select computers</TD> </TR> <TR> <TD>'browseforprinter'</TD> <TD>the user may only select printers</TD> </TR> <TR> <TD>donotgobbledomain'</TD> <TD>Do not include network folders below the domain level in the tree view control. </TD> </TR> <TR> <TD>'editbox'</TD> <TD>adds an editbox to the dialog the user may enter paths into</TD> </TR> <TR> <TD>'fsancestorssonly'</TD> <TD>the user may select only filesystem ancestors</TD> </TR> <TR> <TD>'fsdirsonly'</TD> <TD>the user may select only filesystem folders</TD> </TR> <TR> <TD>'hook'</TD> <TD>hooks the dialog so you can use it like any other dialog, except that the onINITDIALOG handler never gets called. Overwrite <a HREF="BrowseForFolder methods/onINIT.html">onINIT</a> instead</TD> </TR> <TR> <TD>'includefiles'</TD> <TD>includes files in folder display</TD> </TR> <TR> <TD>'statustext'</TD> <TD>includes a statustext area in the dialog</TD> </TR> <TR> <TD>'validate'</TD> <TD>will send a 'validatefailed' message to the message handler if the user typed in an invalid path into the editbox. Ignored if 'editbox' is not specified</TD> </TR> </TABLE> <DT>kwargs <DD>The following keyword arguments are recognised: <TABLE class="table1" BORDER="1"> <TR> <TD>'root'</TD> <TD>can be the pIdl of the root folder of the dialog. If omitted the dialog is rooted at the desktop. The pIdl passed is not freed in the call.</TD> </TR> <TR> <TD>'title'</TD> <TD>a string specifying the title of the dialogbox</TD> </TR> </DL> </DL> </P> <br><br> <b>Return value</b><br> The pIdl of the selected folder or None if the user canceled the dialog <br><br> <b>Notes</b><br> You have to free the returned pIdl after use. One way to do so is call the <b>PidlFree</b> method as defined in <code class=import>wnd.api.shell</code> (no link yet) ::item:: GetLastImageIndex <code>GetLastImageIndex</code><br> <P>The dialog is so kind to pass the index of the icon in the system imagelist of the selected folder. Use this method to retrive it right after the dialog has been closed. Return value is None if the dialog was canceled. </P> ::item:: SetStatusText <code>SetStatusText(text)</code><br> <P>As long as the dialog is displayed you may set a statustext to it. <br><br> Has no effect if the dialog was not created with the 'statustext' flag </P> ::item:: DisableOK) <code>DisableOK()</code><br> <P>As long as the dialog is displayed you may disable the 'OK' button </P> ::item:: EnableOK) <code>EnableOK()</code><br> <P>As long as the dialog is displayed you may enable the 'OK' button </P> ::item:: SetSelection <code>SetSelection(pIdlOrPath)</code><br> <P>As long as the dialog is displayed you may select a folder, given its pIdl or path. <br><br> If you pass a pIdl it is is not freed in the call. </P> ::item:: onMSG <code>onMSG(hwnd, msg, wp, lp)</code><br> <P>The message handler of the dialog. Overwrite to process messages while it is run </P> ::item:: onINIT <code>onINIT(hwnd, msg, wp, lp)</code><br> <P>Called when the dialog has finished initializing. <br><br> Slightly different to normal dialogs. msg will be BFFM_INITIALIZED <b>wp</b> and <b>lp</b> will always be zero <br><br> onINITDIALOG is never called for the BrowseForFolder dialog </P> |
From: jürgen u. <cer...@us...> - 2005-07-23 20:02:04
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/replacetext In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5236/replacetext Log Message: Directory /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/replacetext added to the repository |
From: jürgen u. <cer...@us...> - 2005-07-23 20:01:45
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/opensavefile In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5172/opensavefile Log Message: Directory /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/opensavefile added to the repository |
From: jürgen u. <cer...@us...> - 2005-07-23 20:01:23
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/findtext In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5049/findtext Log Message: Directory /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/findtext added to the repository |
From: jürgen u. <cer...@us...> - 2005-07-23 20:00:56
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/choosecolor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4958/choosecolor Log Message: Directory /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/choosecolor added to the repository |
From: jürgen u. <cer...@us...> - 2005-07-23 20:00:37
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/browseforfolder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4862/browseforfolder Log Message: Directory /cvsroot/wnd/wnd/wnd_doc/doc/controls/dialog classes/browseforfolder added to the repository |
From: jürgen u. <cer...@us...> - 2005-07-23 20:00:04
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/custom controls/odlistbox In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4692 Added Files: .CVSIGNORE Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif |
From: jürgen u. <cer...@us...> - 2005-07-23 19:59:22
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/custom controls/dirlist In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4520 Modified Files: dirlist.dtpl Log Message: bit of this and a bit of that Index: dirlist.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/custom controls/dirlist/dirlist.dtpl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dirlist.dtpl 2 Jul 2005 09:45:47 -0000 1.1 --- dirlist.dtpl 23 Jul 2005 19:59:14 -0000 1.2 *************** *** 369,373 **** IterSelected<br> GetSelectedItem<br> ! IsitemSelected<br> DeselectItem<br> SelectItem --- 369,373 ---- IterSelected<br> GetSelectedItem<br> ! IsItemSelected<br> DeselectItem<br> SelectItem *************** *** 470,475 **** </P> <OL> ! <br><br> ! </DL> --- 470,474 ---- </P> <OL> ! </DL> *************** *** 513,523 **** <br><br> ! For chnges to take effect you may have to <a HREF="Refresh.html">Refresh</a> the view </P> ! ! ! ::item:: Getlang <code>GetLang()</code><br> <P>returns the current language used for the view. --- 512,540 ---- <br><br> ! For changes to take effect you may have to <a HREF="Refresh.html">Refresh</a> the view </P> ! ::item:: SortBy ! <code>SortBy(sorttype='type', direction='ascending')</code><br> ! <P>Sorts the view. ! <br><br> ! sorttype can be: 'date', 'name', 'size', 'type' ! <br> ! direction can be: 'ascending', 'descending' ! </P> ! ! ::item:: GetSortBy ! <code>SortBy(sorttype='type', direction='ascending')</code><br> ! <P>Returns the current sorting flags of the view. ! <br><br> ! <b>Return value</b><br> ! A tuple(sorttype, direction) ! <br> ! See <a HREF="SortBy.html">SortBy</a> for details. ! </P> ! ! ! ::item:: GetLang <code>GetLang()</code><br> <P>returns the current language used for the view. |
From: jürgen u. <cer...@us...> - 2005-07-23 19:58:50
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/trackbar In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4369 Added Files: .CVSIGNORE trackbar.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: trackbar.dtpl --- ::defaultpage:: Trackbar ::site:: Trackbar <IMG SRC="Trackbar.gif"></IMG> <br><br> <a HREF="contents.html">Trackbar contents</a> <br><br> ::site:: class TrackbarFromHandle <code class=import>defined in: wnd.controls.trackbar</code><br><br> <code>TrackbarFromHandle(hwnd, *styles)</code><br> <P> Wraps Trackbar methods around a hwnd. <br><br> Styles can be 'debug' or 'debugall'. </P> ::site:: class Trackbar <code class=import>defined in: wnd.controls.trackbar</code><br><br> <code>Trackbar(parent, x, y, w, h, *styles)</code><br> ::site:: Trackbar messages A Trackbar control sends the following messages to the message handler:<br><br> <DL> <DT>'customdraw' <DD><br> wp=allways zero<br> lp=a NMCUSTOMDRAW staructure<br> See <a HREF="customdrawing Trackbars.html">customdrawing Trackbars</a> <br><br> <DT>'releasedcapture' <DD><br> wp=allways zero<br> lp=allways zero<br> The Trackbar control released the mouse capture <br><br> </DL> ::site:: customdrawing Trackbars Everytime a Trackbar needs to be redrawn a 'customdraw' message is send with the lParam set to a NMCUSTOMDRAW structure: <br><br> Structure NMCUSTOMDRAW<br> <P> <strong>Members:</strong><br> <DL> <DT>NMHDR <DD>the notification header <DT>drawStage <DD>the current draw stage <DT>hdc <DD>handle of the device context to draw to <DT>rc <DD>the rectangle of the item This rect seems to be invalid (at least in comctl32 ver5.81 the bottom portion points to somewhere next the northpole, so do not use). <DT>itemSpec <DD>contains additional information about what is about to be painted </DL> <br><br> Depending on the drawStage only certain members will contain valid information. <br><br> The structure carrys along the following constants: <P> <TABLE class="table1" BORDER="1"> <TH colspan="2">drawStage flags</TH> <TR> <TD>PREPAINT</TD> <TD>indicates the start of the painting cycle</TD> </TR> <TR> <TD>POSTPAINT</TD> <TD>the painting cycle is completed. You may apply additional painting here</TD> </TR> </TABLE> <TABLE class="table1" BORDER="1"> <TH colspan="2">return values</TH> <TR> <TD>DODEFAULT</TD> <TD>tells the trackbar to do all default painting</TD> </TR> <TR> <TD>NEWFONT</TD> <TD>tells the trackbar that a new font was selected into the device context</TD> </TR> <TR> <TD>SKIPDEFAULT</TD> <TD>tells the trackbar not to do any default drawing</TD> </TR> <TR> <TD>NOTIFYITEMDRAW</TD> <TD>tells the trackbar to to notify you about item drawing</TD> </TR> <TR> <TD>NOTIFYPOSTPAINT</TD> <TD>tells the trackbar to to notify you about item drawing after the item has been painted</TD> </TR> </TABLE> <br><br> The itemSpec member may contain one of the following flags: <TABLE class="table1" BORDER="1"> <TR> <TD>CHANNEL</TD> <TD>identifies the chanel the thumbmarker slides along</TD> </TR> <TR> <TD>THUMB</TD> <TD>identifies the thumb marker</TD> </TR> <TR> <TD>TICS</TD> <TD>identifyes the tickmarks</TD> </TR> </TABLE> <br><br> Custom draw sample code. Draw a simple blue slider instead of the default one: <pre> from wnd import gdi from wnd.wintypes import RGB def on_trackbar(self, hwnd, msg, wp, lp): if msg=="customdraw": if lp.drawStage==lp.PREPAINT: \# tell the trackbar to send notifications about item drawing return lp.NOTIFYITEMDRAW else: if lp.itemSpec== lp.THUMB: \# the thumb is about to be drawn dc= gdi.DCFromHandle(lp.hdc) brush= gdi.SolidBrush(RGB(0, 0, 255)) brush.FillRect(dc, lp.rc) brush.Close() dc.Close() \# tell the trackbar not to overwrite our changes return lp.SKIPDEFAULT </pre> ::site:: Trackbar styles The following styles are used with Trackbar controls:<br><br> <TABLE class="table1" BORDER="1"> <TR> <TD>'autoticks'</TD> <TD>enables using of the <a HREF="trackbar methods/SetTickStep.html">SetTickStep</a> method. </TD> </TR> <TR> <TD>'both'</TD> <TD>the control will display tick-marks on both sides</TD> </TR> <TR> <TD>'bottom'</TD> <TD>'horz' trackbars will display tick-marks on the bottom side only</TD> </TR> <TR> <TD>'enableselrange'</TD> <TD>The trackbar control can display a selection range only. The tick marks at the starting and ending positions of a selection range are displayed as triangles (instead of vertical dashes), and the selection range is highlighted <br> Sorry, never seen any hilight here </TD> </TR> <TR> <TD>'fixedlength'</TD> <TD>enables changing the sliders size</TD> </TR> <TR> <TD>'horz'</TD> <TD>creates a horizontally oriented Trackbar</TD> </TR> <TR> <TD>'left'</TD> <TD>'vert' trackbars will display tick-marks on the left side only</TD> </TR> <TR> <TD>'nothumb'</TD> <TD>the Trackbar does not show a slider</TD> </TR> <TR> <TD>'noticks'</TD> <TD>the trackbar does not show any ticks</TD> </TR> <TR> <TD>'right'</TD> <TD>'vert' trackbars will display tick-marks on the right side only</TD> </TR> <TR> <TD>'top'</TD> <TD>'horz' trackbars will display tick-marks on the top side only</TD> </TR> <TR> <TD>'vert'</TD> <TD>creates a vertically oriented Trackbar</TD> </TR> </TABLE> ::folder:: Trackbar methods Trackbar controls support the following methods: <a HREF="||method-ctrl||">Common methods</a> ::item:: ClearSelected <code>ClearSelection()</code><br> <P>Clears the current selection of the Trackbar <br><br> Only 'enableselrange' Trackbars can have a selection </P> ::item:: Clear <code>Clear()</code><br> <P>Clears the ticks of the Trackbar except the first and the last, wich are created automatically. </P> ::item:: GetLeftBuddy <code>GetLeftBuddy()</code><br> <P>Returns the hwnd of the left buddy window for a 'vert' Trackbar , the top buddy window hwnd for a 'horz' Trackbar or None </P> ::item:: GetTopBuddy <code>GetTopBuddy()</code><br> <P>Returns the hwnd of the left buddy window for a 'vert' Trackbar , the top buddy window hwnd for a 'horz' Trackbar or None </P> ::item:: GetRightBuddy <code>GetRightBuddy()</code><br> <P>Returns the hwnd of the right buddy window for a 'horz' Trackbar , the bottom buddy window hwnd for a 'vert' Trackbar or None </P> ::item:: GetBottomBuddy <code>GetBottomBuddy()</code><br> <P>Returns the hwnd of the right buddy window for a 'vert' Trackbar , the bottom buddy window hwnd for a 'vert' Trackbar or None </P> ::item:: GetChannelRect <code>GetChannelRect()</code><br> <P>Returns a ||type-RECT|| containing the oordinates of the channel rect of the Trackbar <br><br> The channel is the thinggy the slider slides in </P> ::item:: GetLineSize <code>GetLineSize()</code><br> <P>Returs the number of pixels the slider moves in response to pressing an arrow key. </P> ::item:: GetTicks <code>GetTicks()</code><br> <P>Returns the number of tick-marks the Trackbar currently has. </P> ::item:: GetPageSize <code>GetPageSize()</code><br> <P>Returns the number of pixels the slider moves in response to pressing pageup oe pagedown keys. </P> ::item:: GetPos <code>GetPos()</code><br> <P>Returns the current logical position of the slider </P> ::item:: GetTickList <code>GetTickList</code><br> <P>Returns a list containing the current positions of the tick-marks on the Trackbar, not including the first and the last. </P> ::item:: GetRange <code>SetRange(nMin, nMax)</code><br> <P>Returns a <b>tuple(nMin, nMax)</b> containing the minimum and maximum ranges for the Trackbar </P> ::item:: GetSelected <code>GetSelected()</code><br> <P>Returns a <b>tuple(nStart, nEnd)</b> containing lower and upper tick-mark index of the current selected range <br><br> Only 'enableselrange' Trackbars can have a selection </P> ::item:: GetThumbSize <code>GetThumbSize</code><br> <P>Returns the size of the slider (in pixels) </P> ::item:: GetThumbRect <code></code><br> <P>Returns a ||type-RECT|| containing the coordinates of ther slider </P> ::item:: GetTick <code>GetTick(i)</code><br> <P>Returns the logical position of the specified tick </P> ::item:: GetTickPos <code>GetTickPos(i)</code><br> <P>Returns the physical position (in pixels) of the specified tick </P> ::item:: GetTooltips <code>GetTooltips()</code><br> <P>Returns the hwnd of the associated Tooltip control or None </P> ::item:: SetLeftBuddy <code>SetLeftBuddy(Control)</code><br> <P>Associates a left buddy control to a 'horz' Trackbar or a top buddy control to a 'vert' Trackbar. <br><br> Return value<br> The hwnd of the buddy control formerly assigned to the Trackbar or None </P> ::item:: SetTopBuddy <code>SetLeftBuddy(Control)</code><br> <P>Associates a left buddy control to a 'horz' Trackbar or a top buddy control to a 'vert' Trackbar. <br><br> Return value<br> The hwnd of the buddy control formerly assigned to the Trackbar or None </P> ::item:: SetRightBuddy <code>SetLeftBuddy(Control)</code><br> <P>Associates a right buddy control to a 'horz' Trackbar or a bottom buddy control to a 'vert' Trackbar. <br><br> Return value<br> The hwnd of the buddy control formerly assigned to the Trackbar or None </P> ::item:: SetBottomBuddy <code>SetLeftBuddy(Control)</code><br> <P>Associates a right buddy control to a 'horz' Trackbar or a bottom buddy control to a 'vert' Trackbar. <br><br> Return value<br> The hwnd of the buddy control formerly assigned to the Trackbar or None </P> ::item:: SetLineSize <code>SetLineSize(n)</code><br> <P>Sets the amount (in pixels) the slider moves when an arrow key is pressed <br><br> Return value<br> The previous line size </P> ::item:: SetPageSize <code>SetPageSize(n)</code><br> <P>Sets the amount (in pixels) the slider moves when pageup or pagedown key is pressed <br><br> Return value<br> The previous page size </P> ::item:: SetPos <code>SetPos(i)</code><br> <P>Sets the current logical position of the slider. <br><br> <pre> trackbar.SetPos(2) </pre> Moves the slider to the 1. tick on the Trackbar <br><br> Return value<br> The previous logical position </P> ::item:: SetRange <code>SetRange(self, nMin, nMax)</code><br> <P>Sets the current minimum and maximum range for the Trackbar <br><br> </P> ::item:: SetSelected <code>SetSelected(iMin, iMax)</code><br> <P>Sets the current selection for a Trackbar. <br><br> iMin and iMax should be the tick-marks to set the selection range to </P> ::item:: SetThumbSize <code>SetThumbSize(n)</code><br> <P>Sets the length of the slider (in pixels) <br><br> To make this method work the Trackbar must have the 'fixedlength' style set </P> ::item:: SetTick <code>SetTick(i)</code><br> <P>Sets a tick-mark on the Trackbar. <b>i</b> should be a value in the curent range of the Trackbar <br><br> </P> ::item:: SetTickStep <code>SetTickStep(i)</code><br> <P>Sets a bunch of tick-marks at-once. <br><br> To make this method work the Trackbar must have the 'autoticks' style set <pre> trackbar.SetTickStep(5) </pre> Will set a tick-mark each 5 units <br><br> <b>n</b> gives the step-size </P> ::item:: SetTooltipsLeft <code>SetTooltipsLeft()</code><br> <P>Sets the Tooltips displayed for a Trackbar to its left side <br><br> <br><br> Return value<br> The previous side tooltips where shown at, 'left', 'top', 'right' or 'bottom' </P> : ::item:: SetTooltipsTop <code>SetTooltipsTop()</code><br> <P>Sets the Tooltips displayed for a Trackbar to its top side <br><br> <br><br> Return value<br> The previous side tooltips where shown at, 'left', 'top', 'right' or 'bottom' </P> ::item:: SetTooltipsRight <code>SetTooltipsRight()</code><br> <P>Sets the Tooltips displayed for a Trackbar to its right side <br><br> <br><br> Return value<br> The previous side tooltips where shown at, 'left', 'top', 'right' or 'bottom' </P> ::item:: SetTooltipsBottom <code>SetTooltipsBottom()</code><br> <P>Sets the Tooltips displayed for a Trackbar to its bottom side <br><br> <br><br> Return value<br> The previous side tooltips where shown at, 'left', 'top', 'right' or 'bottom' </P> ::item:: SetTooltips <code>SetTooltips(Tooltip)</code><br> <P>Associates aTooltip control to the Trasckbar <br><br> </P> # ::item:: # <code></code><br> # <P> # <br><br> # </P> |
From: jürgen u. <cer...@us...> - 2005-07-23 19:57:42
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/toolbar In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4051 Modified Files: toolbar.dtpl Log Message: bit of this and a bit of that Index: toolbar.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/toolbar/toolbar.dtpl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** toolbar.dtpl 15 May 2005 10:08:34 -0000 1.2 --- toolbar.dtpl 23 Jul 2005 19:57:33 -0000 1.3 *************** *** 451,463 **** - ::item:: InsertButton - <code>InsertButton(i, ID, title, iImage=0, lp=0, *state)</code><br> - <P>Inserts a Button before the item at index <B>i</b> - <br><br> - If <B>i</b> is out of range or <b>-1</b> the Button will be appended - <br><br> - See <a HREF="Button.html">Button</a> for details - </P> - ::item:: GetTextMax --- 451,454 ---- *************** *** 494,497 **** --- 485,498 ---- </P> + + ::item:: InsertButton + <code>InsertButton(i, ID, title, *state, **kwargs)</code><br> + <P>Inserts a Button before the item at index <B>i</b> + <br><br> + If <B>i</b> is out of range or <b>-1</b> the Button will be appended + <br><br> + See <a HREF="Button.html">Button</a> for details + </P> + ::item:: Button <code>Button(ID, title, iImage=0, lp=0, *state)</code><br> *************** *** 502,511 **** <DT>title <DD>its title or None ! <DT>iImage ! <DD>the index of the image in the associated ! Imagelist to display for the button ! <DT>lp ! <DD>a user defined int or long to associate to the ! button <DT>*state <DD>a set of state and style flags. --- 503,507 ---- <DT>title <DD>its title or None ! <DT>*state <DD>a set of state and style flags. *************** *** 582,586 **** </DL> ! </P> --- 578,595 ---- </DL> ! ! <br><br> ! The following keyword arguments are recognited: ! ! </DL> ! <DT>iImage ! <DD>the index of the image in the associated ! Imagelist to display for the button ! <DT>lp ! <DD>a user defined int or long to associate to the ! button ! </DL> ! ! </P> |
From: jürgen u. <cer...@us...> - 2005-07-23 19:56:27
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/tab In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3798 Modified Files: tab.dtpl Log Message: bit of this and a bit of that Index: tab.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/tab/tab.dtpl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tab.dtpl 15 May 2005 10:07:40 -0000 1.2 --- tab.dtpl 23 Jul 2005 19:56:19 -0000 1.3 *************** *** 147,156 **** </TR> <TR> ! <TD>'fixedwifth'</TD> <TD>All tabs are of the same size.Do not use with 'rightjustify'</TD> </TR> <TR> <TD>'flatbuttons'</TD> ! <TD>Displays tabs as flat buttons. The tab must have 'buttons' sryle set</TD> </TR> <TR> --- 147,156 ---- </TR> <TR> ! <TD>'fixedwidth'</TD> <TD>All tabs are of the same size.Do not use with 'rightjustify'</TD> </TR> <TR> <TD>'flatbuttons'</TD> ! <TD>Displays tabs as flat buttons. The tab must have 'buttons' style set</TD> </TR> <TR> *************** *** 184,188 **** <TR> <TD>'multiline'</TD> ! <TD>Uses multiple lines if necessary</TD> </TR> <TR> --- 184,193 ---- <TR> <TD>'multiline'</TD> ! <TD>Uses multiple lines if necessary. ! <br><br> ! ?? There is a bug with this style. At least on win98 you can not specify it along ! on creation time. You have to use 'SetStyle' after the tab control has been created ?? ! ! </TD> </TR> <TR> *************** *** 251,255 **** </P> ! ::item:: Clear <code> Clear()</code><br> --- 256,266 ---- </P> ! ::item:: FindLparam ! <code>FindLparam(lp)</code><br> ! <P> ! Retuirns the index of the item with the specified lParam or None ! </P> ! ! ::item:: Clear <code> Clear()</code><br> |
From: jürgen u. <cer...@us...> - 2005-07-23 19:56:01
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/rebar In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3728 Added Files: .CVSIGNORE rebar.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: rebar.dtpl --- ::defaultpage:: Rebar ::site:: Rebar <IMG SRC="Rebar.gif"></IMG> <br><br> <a HREF="contents.html">Rebar contents</a> <br><br> ::site:: class Rebar <code class=import>defined in: wnd.controls.Rebar</code><br><br> <code>Rebar(parent, *styles)</code><br> ::site:: Rebar messages A Rebar control sends the following messages to the message handler:<br><br> <DL> <DT> <DT>'begindrag' <DD>the user wants to drag a band<br> wp=tuple(ID, index-of-band)<br> lp=allways zero<br> Return False to disallow dragging <br><br> <DT>'releasedcapture' <DD><br> wp=allways zero<br> lp=allways zero<br> The Rebar control released mouse capture <br><br> </DL> ::site:: class RebarFromHandle <code class=import>defined in: wnd.controls.Rebar</code><br><br> <code>RebarFromHandle(hwnd, *styles)</code><br> <P>Wraps rebar methods around the handle of a rebar control. <br><br> Styles can be 'debug' or 'debugall'. </P> ::site:: Rebar messages A Rebar control sends the following messages to the message handler:<br><br> <DL> <DT> <DT>'begindrag' <DD>the user wants to drag a band<br> wp=tuple(ID, index-of-band)<br> lp=allways zero<br> Return False to disallow dragging <br><br> <DT>'releasedcapture' <DD><br> wp=allways zero<br> lp=allways zero<br> The Rebar control released mouse capture <br><br> </DL> ::site:: Rebar styles The following styles are used with Rebar controls:<br><br> <TABLE class="table1" BORDER="1"> <TR> <TD>'autosize'</TD> <TD>the Rebar will automatically resize its contents when its size changes </TD> </TR> <TR> <TD>'bandborders'</TD> <TD>the Rebar displays borders to separate bands</TD> </TR> <TR> <TD>'dblclktoggle'</TD> <TD>the Rebar will toggle between minimized an d maximized state when the user double clicks it instead of reacting to single clicks</TD> </TR> <TR> <TD>'fixedorder'</TD> <TD>bands keep their order within the Rebar</TD> </TR> <TR> <TD>'registerdrop'</TD> <TD>Not yet implemented</TD> </TR> <TR> <TD>'varheight'</TD> <TD>the bands can be variable in height</TD> </TR> <TR> <TD>'verticalgripper'</TD> <TD>the gripper is displayed vertically. This style has only effect on 'vert' Rebars</TD> </TR> <TR> <TD>'vert'</TD> <TD>the Rebar is displayed vertically</TD> </TR> <TR> <TD></TD> <TD></TD> </TR> <TR> <TD></TD> <TD></TD> </TR> <TR> <TD></TD> <TD></TD> </TR> </TABLE> ::folder:: Rebar methods Rebar controls support the following methods: <a HREF="||method-ctrl||">Common methods</a> ::item:: Band <code>Band(ID, title, Control, w, h, **kwargs)</code><br> <P>Appends a Band to the Rebar. <br><br> <DL> <DT>ID <DD>the ID of the band <DT>title <DD>the title for the band or None <DT>w <DD>the minimum width of the control on the band. The band can not be sized any smaller then this. <DT>h <DD>the minimum height of the control on the band. If you set this to zero the control may not become visible. <DT>Control <DD>a control to associate as childwindow to the band or None. </DL> <br><br> The following keyword args are recognised: <DL> <DT>iImage <DD>index of an image in the associated Imagelist or None <DT>lp <DD>user defined value (int or long) to associate to the band <DT>colors <DD>tuple(||type-COLRREF||-foreground, ||type-COLRREF||-background), containing foreground and background color for the band <DT>sizeHeader <DD>the size (in pixels) of the header portion of the band. <DT>bitmap <DD>a bitmap to be displayed as background of the band. If a bitmap is specified 'colors' are ignored </DL> </P> ::item:: InsertBand <code>InsertBand(i, ID, title, Control, w, h, **kwargs)</code><br> <P>Inserts a band at the specified index <br><br> <DL> <DT>i <DD>the index at wich to insert the band.<bt> can be <b>-1</b> to append the band too the Rebar <DT>ID <DD>the ID of the band <DT>title <DD>the title for the band or None <DT>width <DD>the initial width of the band. Defaulöts to 60 pixels <DT>Control <DD>a control to associate as childwindow to the band or None. </DL> <br><br> The following keyword args are recognised: <DL> <DT>iImage <DD>index of an image in the associated Imagelist or None <DT>lp <DD>user defined value (int or long) to associate to the band <DT>colors <DD>tuple(||type-COLRREF||-foreground, ||type-COLRREF||-background), containing foreground and background color for the band <DT>sizeHeader <DD>the size (in pixels) of the header portion of the band. <DT>bitmap <DD>a bitmap to be displayed as background of the band. If a bitmap is specified 'colors' are ignored </DL> <br><br> Due to some technical problems setting of individual styles for a band is not yet supported ;-) # <DT>style # <DD>zero one or more of the following flags:<br> # <P> # <TABLE class="table1" BORDER="1"> # <TR> # <TD>'break'</TD> # <TD>the band is on a new line</TD> # </TR> # <TR> # <TD>'childedge'</TD> # <TD>the band will display edges to the bottom and top of # its childwindow</TD> # </TR> # <TR> # <TD>'fixedbmp'</TD> # <TD>If the band has a background image (see the # <a HREF="SetBandImage.html">SetBandImage</a> method) # it is not moved along with the band when the band is resize</TD> # </TR> # <TR> # <TD>'fixedsize'</TD> # <TD>the band can not be sized</TD> # </TR> # <TR> # <TD>'gripperalways'</TD> # <TD>the band will always show the sizing gripper</TD> # </TR> # <TR> # <TD>'nogripper'</TD> # <TD>the band will never show a gripper</TD> # </TR> # <TR> # <TD>'novert'</TD> # <TD>the band will not be displayed when the Rebar is in 'vert' # style</TD> # </TR> # <TR> # <TD>'variableheight'</TD> # <TD>the band can be resized in height</TD> # </TR> # </TABLE> # </P> # # </DL> </P> ::item:: RemoveBand <code>RemoveBand(ID)</code><br> <P>Removes a band from the Rebar <br><br> </P> ::item:: GetBandBorders <code>GetBandBorders(ID)</code><br> <P>Returns a ||type-RECT|| containing the width of the borders o a band.<br> If the Rebar is in 'bandborders' style all 4 members of the ||type-RECT|| will be valid, else only the left one is valid. <br><br> </P> ::item:: __len__ <code>__len__()</code><br> <P>Returns the number of bands on the Rebar <br><br> </P> ::item:: GetHeight <code>GetHeight()</code><br> <P>Returns the height (in pixels) of the Rebar <br><br> </P> ::item:: GetBandRect <code>GetBandRect(ID)</code><br> <P>Returns a ||type-RECT|| containing the coordinates of a band. <br><br> </P> ::item:: GetRowCount <code>GetRowCount()</code><br> <P>Returns the number of rows on the Rebar <br><br> </P> ::item:: GetRowHeight <code>GetRowHeight(i)</code><br> <P>Returns the height of the specified row. <br><br> </P> ::item:: GetTextColor <code>GetTextColor()</code><br> <P>Returns a ||type-COLORREF|| with the currnet text color of the Rebar <br><br> </P> ::item:: GetTooltips <code></code><br> <P>Returns the hwnd of the asociated Tooltip control or None <br><br> </P> ::item:: def ItemHitTest <code>ItemHitTest(x, y)</code><br> <P>Performs a hittest to check wich band is at the specified position. <br><br> <b>Return value</b><br> None if not band is at the specified position, <b>tuple(iItwm, flag)</b> else. Flag can be: <br><br> <DL> <DT>'caption' <DD>the point is within the bands caption <DT>'client' <DD>the point is within the bands client area <DT>'grabber' <DD>the point is within the bars gripper <DT>'unknown' <DD>unknown </DL> </P> ::item:: GetTextMax <code>GetTextMax()</code><br> <P>Returns the maximum allowable length of a bands title. <br><br> Default is 127 chars </P> ::item:: SetTextMax <code>SetTextMax(n)</code><br> <P>Sets the maximum allowable length of a bands title <br><br> </P> ::item:: SetBandColors <code>SetBandColors( ID, colorrefText, colorrefBk)</code><br> <P>Sets text and background color for a band. <br><br> colorrefText and colorrefBk should be ||type-COLORREF|| values. <br><br> </P> ::item:: GetBandControlSize <code>GetBandControlSize(ID)</code><br> <P>Returns a <b>tuple(w, h)</b> containing the size linits for a bands control <br><br> See <a HREF="SetBandControlSize.html">SetBandControlSize</a> for details </P> ::item:: SetBandControlSize <code> SetBandControlSize(ID, w, h)</code><br> <P>Sets some size limits for a bands associated contriols <br><br> <DL> <DT>w <DD>the minimum width of the control. The band can not be sized any smaller than this. <DT>h <DD>the minimum height of the control. The band can not be sized any smaller than this. rk </DL> </P> ::item:: SetBandMaximizedWidth <code>SetBandMaximizedWidth(ID, n)</code><br> <P>Sets the maximized width for a band. <br><br> This size is used when calling the <a HREF="MaximizeBand.html">MaximizeBand</a> method </P> ::item:: SetBandBackgrounImage <code>SetBandBackgroundImage(ID, Bitmap)</code><br> <P>Sets a background image from a Bitmap for the band. <br><br> The Bitmap is not closed during this method </P> ::item:: SetBandImage <code>SetBandImage(ID, i)</code><br> <P>Sets the bands image. <br><br> <b>i</b> should be an index in the associate dimagelist </P> ::item:: SetBandHeaderSize <code>SetBandHeaderSize(ID, n)</code><br> <P>Sets the size of the header for the band <br><br> </P> ::item:: MaximizeBand <code>MaximizeBand(ID, maxsize=True)</code><br> <P>Maximizes a band <br><br> If maxsize is <b>True</b> the size set in a call to <a HREF="SetBandMaximizedWidth.html"> SetBandMaximizedWidth</a> is used, if <b>False</b> the bar is sized as large as possiblr </P> ::item:: MinimizeBand <code>MinimizeBand(ID)</code><br> <P>Resizes a band to the smallest size possible <br><br> </P> ::item:: IDToIndex <code>IDToIndex(ID)</code><br> <P>Returns the index the band with the specified ID resides at <br><br> </P> ::item:: IndexToID <code>IndexToID(i)</code><br> <P>Returns the ID of a band given its index <br><br> </P> ::item:: __iter__ <code>__iter__(i)</code><br> <P>Returns the index of the next band in turn <br><br> </P> ::item:: MoveBand <code>MoveBand(iFrom, iTo)</code><br> <P>Moves a band with index <b>iFrom</b> to index <b>iTo</b> <br><br> Use the <a HREF="IdToIndex.html">IdToIndex</a> method to find out a bands index if required. </P> ::item:: SetBandTitle <code> SetBandTitle(ID, title)</code><br> <P>Sets the text displayed as title for the band <br><br> </P> ::item:: SetBandChild <code>SetBandChild(ID, Control)</code><br> <P>Sets the child window associated to a band <br><br> </P> ::item:: SetBandLparam <code>SetBandLparam(ID, lp)</code><br> <P>Sets the lParam associated to a band <br><br> </P> ::item:: SetBandWidth <code>SetBandWidth(ID, n)</code><br> <P>Sets the width for a band <br><br> </P> ::item:: ShowBand <code>ShowBand(ID)</code><br> <P>Shows a band that was formerly hidden <br><br> </P> ::item:: HideBand <code>HideBand(ID)</code><br> <P>Hides a band that was formerly visible <br><br> </P> ::item:: SetTooltips <code>SetTooltips(Tooltips)</code><br> <P>Associates a Tooltip control to the Rebar <br><br> </P> ::item:: ArrangeBands <code>ArrangeBands(Rect)</code><br> <P>Atempts to arrrange the bands of the Rebar in the specified ||type-RECT|| as best as it can. <br><br> <br>Return value<br> <b>True</b> if a change in the layout happend, <b>False</b> otherwise </P> ::item:: SetTextColor <code>SetTextColor(colorref)</code><br> <P>Sets the default text color for all bands in the Rebar to the specified ||type-COLORREF|| value. <br><br> <a HREF="SetBandColors.html">SetBandColors</a> will overwrite this default for individual bands <br><br> <br>Return value<br> the previous text color </P> ::item:: SetBkColor <code>SetBkColor(colorref)</code><br> <P>Sets the default background color for all bands in the Rebar to the specified ||type-COLORREF|| value. <br><br> <a HREF="SetBandColors.html">SetBandColors</a> will overwrite this default for individual bands <br><br> <br>Return value<br> the previous background color </P> ::item:: SetImagelist <code>SetImagelist(Imagelist)</code><br> <P>Associates an Imagelist to the Rebar. <br><br> If imagelist is None, the current imagelist is removed <br><br> </P> ::item:: GetImagelist <code>SetImagelist()</code><br> <P>Returns the handle of the associated Imagelist or None <br><br> </P> ::item:: GetBandColors <code>GetBandColors(ID)</code><br> <P> Returns a <b>tuple(colorrefText, colorrefBk) containing the current colors of the band <br><br> </P> ::item:: GetBandBackgroundImage <code>GetBandBackgroundImage(ID)</code><br> <P>Returns the handle of the background Bitmap of the band or None. <br><br> </P> ::item:: GetBandImage <code>GetBandImage(ID)</code><br> <P>Returns the index of the image for the band in the associated Imagelist. <br><br> A return value of 0 may indicate an index of zero or no image at all. </P> ::item:: GetBandMaximizedWidth <code>GetBandMaximizedWidth(ID)</code><br> <P>Returns the size linit for the maximized band <br><br> </P> ::item:: GetBandHeaderSize <code>GetBandHeaderSize(ID)</code><br> <P>Returns the size of a bands header <br><br> </P> ::item:: GetBandTitle <code>GetBandTitle(ID)</code><br> <P>Returns the title of a band <br><br> </P> ::item:: GetBandChild <code>GetBandChild(ID)</code><br> <P>Returns the hwnd of the child windowe associated to a band or None. <br><br> </P> ::item:: GetBandWidth <code>GetBandWidth(ID)</code><br> <P>Returns the width of a band <br><br> </P> ::item:: GetBandLparam <code>GetBandLparam(ID)</code><br> <P>Returns the lParamn associated to a band <br><br> </P> |
From: jürgen u. <cer...@us...> - 2005-07-23 19:55:02
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/propertysheet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3496 Added Files: .CVSIGNORE propertysheet.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: propertysheet.dtpl --- ::site:: class PropertySheet <code class=import>defined in: wnd.controls.propertysheet</code><br><br> <code>PropertySheet(parent, title, *flags, **kwargs)</code><br> <P> Creates a propertysheet or a wizard dialog <br><br> <DL> <DT>title <DD>the title of the propertysheet (ignored for wizard) <DT>parent <DD>the parent window or None <DT>flags <DD>one or more flags adjusting several aspects of the dialogbox: <TABLE class="table1" BORDER="1"> <TR> <TD>'proptitle'</TD> <TD>prefixes the dialogbox title with the string 'Properties of ' (ignored for wizard)</TD> </TR> <TR> <TD>'hashelp'</TD> <TD>adds a 'help' button to the dialog</TD> </TR> <TR> <TD>'modeless'</TD> <TD>creates a modeless dialog instead of the modal default one. You can have only one instance of a modeless property sheet running at a time</TD> </TR> <TR> <TD>'noapplynow'</TD> <TD>hides the 'apply' button (ignored for wizard)</TD> </TR> <TR> <TD>'rtlreading'</TD> <TD>displays the text in the titlebar right to left reading (only used for arabic and hebrew languages)</TD> </TR> <TR> <TD>'stretchwatermark'</TD> <TD>if a watermark bitmap is used it stretches it to fit the header area, rather then titling it (wizard only)</TD> </TR> <TR> <TD>'wizard97'</TD> <TD>creates a wizard dialog</TD> </TR> </TABLE> <br><br> <DT>kwargs <DD>the following keyword arguments are recognised: <TABLE class="table1" BORDER="1"> <TR> <TD>icon</TD> <TD>the icon to display in the titlebar of the dialog</TD> </TR> <TR> <TD>startPage</TD> <TD>an integer specifying the zero based index of the page to be shown initially</TD> </TR> <TR> <TD>bmpHeader</TD> <TD>a bitmap to be shown in the header (wizard only). Could not get this one to work. If anyone has any idea about it, let me know.</TD> </TR> <TR> <TD>bmpWatermark</TD> <TD>a bitmap to be shown as watermark (wizard only)</TD> </TR> </TABLE> </DL> <br><br> A propertysheet or wizard dialog consists of a main dialog provided by the win32 api, serving as a container for one or more dialogboxes, shown as pages. The pages are created from templates in memory,so the dialog being passed should based upon such a template. <br> <b>NOTE</b> <br> By default the pages are created untill a page is actually selected for the first time. You can alter this behaviour by setting the 'premature' flag for a page. All method calls except <a HREF="PropertySheet constants/Page.html">Page</a> do not have an effect untill the propertysheet is actually created by calling the <a HREF="PropertySheet constants/Run.html">Run</a> method <br><br> The size of the dialogboxes in the propertysheet is adjusted by the propertysheet to fit the size of the largest page passed, except when adding pages at runtime, where the propertysheet is not readjusted. So when adding a page at runtime it should not be larger then the largest page passed at init time. To fit the size of the 4-buttons on the bottom of the page you should set the width of the dialog boxes to 190 pixels. There are also some default sizes defined in the propertysheet module you can use for the dialogs. <br> See <a HREF="PropertySheet constants.html">PropertySheet constants</a> <br><br> The propertysheet handles creation and destruction of the dialogboxes it contains, so you should not attempt to run or destroy them. <br><br> A must have at least on page and supports up to 100 pages. <br><br> Currently there is no keyboard interface for 'modeless' property sheets or wizards <br><br> Sample code (create a medium sized property sheet) <pre> from wnd.controls import dialog from wnd.controls import propertysheet from wnd.controls import button \# setup two (medium sized) dialogs to be hosted by the propertysheet \# pass the propertysheet instance to the dialog on init, so it can call \# methods upon class dlg1(dialog.Dialog): def __init__(self, propsheet): self.propsheet= propsheet dialog.Dialog.__init__(self, 'dialog-1', 0, 0, propertysheet.PROP_MED_CXDLG, propertysheet.PROP_MED_CYDLG) def onINIT(self, hwnd, msg, wp, lp): self.bt= button.Button(self, 'Test', 20, 20, 60, 50) class dlg2(dialog.Dialog): def __init__(self, propsheet): self.propsheet= propsheet dialog.Dialog.__init__(self, 'dialog-2', 0, 0, propertysheet.PROP_MED_CXDLG, propertysheet.PROP_MED_CYDLG) def onINIT(self, hwnd, msg, wp, lp): self.bt= button.Button(self, 'Test-1', 40, 20, 60, 50) self.bt.onMSG=self.on_bt def on_bt(self, hwnd, msg, wp, lp): if msg=='command': self.propsheet.PageChanged(hwnd) \# init the propetysheet p= propertysheet.PropertySheet('foo', None, 'proptitle', 'hashelp', startPage=0) \# init the dialogs and set them as pages d1= dlg1(p) d2= dlg2(p) p.Page(d1) p.Page(d2) \# run the propertysheet result=p.Run() </pre> <br><br> A bit more advanced sample you will find in the 'sample-gius' folder as 'gui_propertysheet.py' </P> ::site:: PropertySheet constants <TABLE class="table1" BORDER="1"> <DH>wizard constants</DH> <TR> <TD>WIZ_BODYCX</TD> <TD>Width of the body of a page in a wizard property sheet. The body does not include the bitmap area.</TD> </TR> <TR> <TD>WIZ_BODYX</TD> <TD>Horizontal coordinate of the upper-left corner of the body of a page in a wizard property sheet. Use zero for the vertical coordinate of the body of a page</TD> </TR> <TR> <TD>WIZ_CXBMP</TD> <TD>Width of the bitmap area in a page of a wizard property sheet. Use WIZ_CYDLG for the height of the bitmap area. </TD> </TR> <TR> <TD>WIZ_CXDLG</TD> <TD>Width of a page in a wizard property sheet.</TD> </TR> <TR> <TD>WIZ_CYDLG </TD> <TD>Height of a page in a wizard property sheet</TD> </TR> </TABLE> <br><br> <TABLE class="table1" BORDER="1"> <DH>propertysheet constants</DH> <TR> <TD>PROP_SM_CXDLG</TD> <TD>Width, in dialog units, of a small property sheet page.</TD> </TR> <TR> <TD>PROP_SM_CYDLG</TD> <TD>Height, in dialog units, of a small property sheet page.</TD> </TR> <TR> <TD>PROP_MED_CXDLG</TD> <TD>Width, in dialog units, of a medium-sized property sheet page.</TD> </TR> <TR> <TD>PROP_MED_CYDLG </TD> <TD>Height, in dialog units, of a medium-sized property sheet page.</TD> </TR> <TR> <TD>PROP_LG_CXDLG </TD> <TD>Width, in dialog units, of a large property sheet page.</TD> </TR> <TR> <TD>PROP_LG_CYDLG </TD> <TD>Height, in dialog units, of a large property sheet page.</TD> </TR> </TABLE> ::site:: PropertySheet messages A property sheet sends the following messages to the message handler:<br> <DL> <DT>'apply' <DD>send when the user clicked the 'OK' or 'Apply' Now button and wants all changes to take effect<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> <DT>'destroy' <DD>the property sheet is about to be destroyed<br> wp=allways zero<br> lp=allways zero <br><br> <DT>'help' <DD>the user clicked the 'Help' button<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> <DT>'initialized' <DD> the property sheet has been initialized, but no pages have been created yet<br> wp=allways zero<br> lp=allways zero <br><br> <DT>'killactive' <DD> the currently active page is becoming inactive<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> You may return False here to disallow the change <br><br> <DT>'querycancel' <DD> the user has cklicked the 'Cancel' button<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> You may return False here to disallow the change <br><br> <DT>'reset' <DD> the user has cklicked the 'Cancel' button, All changes since the user has clicked the 'Apply' should canceled<br> wp=hwnd of the dialogbox residing on the page<br> lp='cancel' or 'close', wether the user clicked the corrosponding button <br><br> <DT>'setactive' <DD> a page gas been activated<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> <DT>'wizback' <DD>the user has clicked th e'Back' button in the wizard<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> You may return False here to disallow the change <br><br> <DT>'wiznext' <DD>the user has clicked th e'Next' button in the wizard<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> You may return False here to disallow the change <br><br> <DT>'wizfinish' <DD>the user has clicked th e'Finish' button in the wizard<br> wp=hwnd of the dialogbox residing on the page<br> lp=allways zero <br><br> You may return False here to disallow the change <br><br> </DL> ::folder:: PropertySheet methods PropertySheet dialogs support the following methods: ::item:: AddPage <code>AddPage(dlg, *flags, **kwargs)</code><br> <P>Appends a page to the propertysheet at runtime. <br><br> <b>Return value</b><br> True if the page was sucessfully added, False otherwise , </P> ::item:: RemovePage <code>RemovePage(i)</code><br> <P>Removes a page to the propertysheet at runtime. </P> ::item:: Page <code>Page(dlg, *flags, **kwargs)</code><br> <P>Creates a page in the dialog <br><br> <DL> <DT>dlg <DD>the dialogbox to place on the page. The dialogbox has to be a DialogFromTemplate instance, 'cos the propertysheet dialog creates the pages from templates in memory. <DT>flags <DD>one or more flags adjusting several aspects of the dialogbox: <TABLE class="table1" BORDER="1"> <TR> <TD>'hashelp'</TD> <TD>adds a 'help' button when the page is displayed</TD> </TR> <TR> <TD>'premature'</TD> <TD>the page is created emidiately when the propertysheet dialogox is created, otherwise the page is created untill the page is selected</TD> </TR> <TR> <TD>'rtlreading'</TD> <TD>displays the text in the titlebar right to left reading (only used for arabic and hebrew languages)</TD> </TR> <TR> <TD>'hideheader'</TD> <TD>hides the header (wizard only)</TD> </TR> <TABLE> <br><br> <DT>kwargs <DD>the following keyword arguments are recognised: <TABLE class="table1" BORDER="1"> <TR> <TD>title</TD> <TD>the title for the page. By default the title of the dialog being passed is used. This will overwrite it</TD> </TR> <TR> <TD>headerTitle</TD> <TD>the text displayed beneath the header (wizard only)</TD> </TR> <TR> <TD>headerSubTitle</TD> <TD>the text displayed beneath the headerTitle (wizard only)</TD> </TR> <TR> <TD>icon</TD> <TD>the icon to display in the tab of the page</TD> </TR> <TR> <TD>lp</TD> <TD>any lParam you want to assign to the page</TD> </TR> <TABLE> </DL> <br><br> Calling this method at runtime of the property sheet does not have an effect. A page will be added to the internal list of pages, but will not be created untill the property sheet is created the next time </P> ::item:: Run <code>Run()</code><br> <P>Runs the propertysheet dialog <br><br> <b>Return value</b><br> If the propertysheet was run modeless the return value is True if sucessfull, False otherwise. <TABLE class="table1" BORDER="1"> <TR> <TD>'ok'</TD> <TD>the dialog was run sucessfull</TD> </TR> <TR> <TD>'cancel'</TD> <TD>the dialog was canceled or something went wrong</TD> </TR> <TR> <TD>'reboot'</TD> <TD>one of the pages set the reboot flag. The system should be rebooted in response</TD> </TR> <TR> <TD>'restart'</TD> <TD>one of the pages set the restart flag. windows should be restarted in response</TD> </TR> </TABLE> <br><br> If run modal the return value is the hwnd of the dialogbox or None if something went wrong. <br><br> To query the 'reboot' flag for 'modeless' property sheets use the <a HREF="GetReboot.html">GetReboot</a> method </P> ::item:: onMSG <code>onMSG(hwnd, msg, wp, lp)</code><br> <P>Message handler for the propertysheet. Overwrite this method to process messages for the propertysheet </P> ::item:: PageChanged <code>PageChanged(hwnd)</code><br> <P>Enables the 'applynow' button (propertysheet only). 'hwnd' should be the hwnd of the dialogbox residing on the page </P> ::item:: PageUnchanged <code>PageUnchanged(hwnd)</code><br> <P>Disables the 'applynow' button (propertysheet only) 'hwnd' should be the hwnd of the dialogbox residing on the page </P> ::item:: CancelToClose <code>CancelToClose()</code><br> <P>Turns the 'cancel' button of the propertysheet to a 'close' button (propertysheet only) </P> ::item:: PressButton <code>PressButton(button)</code><br> <P>presses a button in in a propertysheet or wizard. <br><br> 'button' to press can be: <TABLE class="table1" BORDER="1"> <TR> <TD>'back'</TD> <TD>(wizard only)</TD> </TR> <TR> <TD>'next'</TD> <TD>(wizard only)</TD> </TR> <TR> <TD>'finish'</TD> <TD>(wizard only)</TD> </TR> <TR> <TD>'ok'</TD> <TD>(propertysheet only)</TD> </TR> <TR> <TD>applynow'</TD> <TD>(propertysheet only)</TD> </TR> <TR> <TD>'cancel'</TD> <TD></TD> </TR> <TR> <TD>'help'</TD> <TD></TD> </TR> </TABLE> ::item:: SetTitle <code>SetTitle(title, proptitle=False)</code><br> <P>sets the title of the propertysheet. If 'proptitle' is True the title will be prefixed with the string: 'Properties of '. This flag is ignored for wizard controls </P> ::item:: Reboot <code>Reboot()</code><br> <P>Sets an internal flag that is returned to the propertysheets 'Run' method indicating the system should be rebooted </P> ::item:: Restart <code>Restart()</code><br> <P>Sets an internal flag that is returned to the propertysheets 'Run' method indicating that windows should be restarted </P> ::item:: SetFinishText <code>SetFinishText(text)</code><br> <P>(wizard only) <br> Sets the text for the 'finish' button, enables it and hides the 'next' and 'back' buttons </P> ::item:: SetWizardButtons <code>SetWizardButtons(*buttons)</code><br> <P>(wizard only) <br> Enables or disables wizard buttons. <br> 'buttons' can be: <TABLE class="table1" BORDER="1"> <TR> <TD>'back'</TD> <TD>enables the 'back' button. If not specified th ebutton is disabled</TD> </TR> <TR> <TD>'next'</TD> <TD>enables the 'next' button. If not specified th ebutton is disabled</TD> </TR> <TR> <TD>'finish'</TD> <TD>turns the 'next' button into the 'finish' button.</TD> </TR> <TR> <TD>'disablefinish'</TD> <TD>same as 'finish' but disables it. Do not specify both at the same time</TD> </TR> </TABLE> ::item:: Select <code>Select(i)</code><br> <P>Selects the specified page given its zero based index. <br><br> <b>Return value</b><br> True if sucessful, False otherwise </P> ::item:: SelectHwnd <code>SelectHwnd(i)</code><br> <P>Selects the specified page given its hwnd. <br><br> <b>Return value</b><br> True if sucessful, False otherwise </P> ::item:: GetCurrentPage <code>GetCurrentPage()</code><br> <P>Returns the hwnd of the current page </P> ::item:: GetTabControl <code>GetTabControl()</code><br> <P>Returns the tab control of the propertysheet as TabFromHandle instance or None </P> ::item:: GetReboot <code>GetReboot()</code><br> <P>Returns the current state of the reboot flag <br><br> <b>Return value</b><br> Either 'reboot', 'restart' or None if the flag is not set <br><br> <b>Notes</b><br> By caling <a HREF="Reboot.html">Reboot</a> or <a HREF="Resart.html">Restart</a> a flahg is set indicating if the system or windows should be restarted. When running the property sheet in 'modal' mode this flag is returned as result of the <a HREF="Run.html">Run</a> method. This does not work if the property sheet is run in 'modeless' mode. Use this method to query the flag for both, either 'modal' or 'modeless' property sheets. </P> ::item:: QuerySiblings <code>QuerySiblings(wParam, lParam)</code><br> <P>Causes to send the property sheet to send a message to all of its pages in tuurn. <br><br> 'wParam' and 'lParam' can be any int or long. You can use this method to establish a simple conversation inbetween pages of a property sheet. If any page returns a nonzero value the property sheet stops sending the message to subsequent siblings. <br><br> The dialog associated to a page will send a 'prop_querysiblings' message to its message handler with wParam and lParam set to the values specified. <br><br> <b>Return value</b><br> Whatever nonzero value a page returned or 0 if no page returned nonzero. </P> |
From: jürgen u. <cer...@us...> - 2005-07-23 19:53:49
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/monthcal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3289 Added Files: .CVSIGNORE monthcal.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: monthcal.dtpl --- ::defaultpage:: monthcal ::site:: Monthcal <IMG SRC="monthcal.gif"></IMG> <br><br> <a HREF="contents.html">Monthcal contents</a> <br><br> ::site:: class MonthcalFromHandle <code class=import>defined in: wnd.controls.monthcal</code><br><br> <code>MonthcalFromHandle(hwnd, *styles)</code><br> <P> Wraps Monthcal methods around a hwnd. <br><br> Styles can be 'debug' or 'debugall'. </P> ::site:: class Monthcal <code class=import>defined in: wnd.controls.monthcal</code><br><br> <code>Monthcal(parent, x, y, w, h, *styles)</code><br> ::site:: Monthcal messages A Monthcal control sends the following messages to the message handler:<br><br> <DL> <DT>'releasedcapture' <DD>send when the month calendar control has released the mouse capture<br> wp=always zero lp=allways zero <br><br> <DT>'select' <DD>the user has changed the selection<br> wp=tuple(systemtimeLow, systemtimeHi)<br> two ||type-SYSTEMTIME|| structs containing upper and loer limits of the selection. lp=allways zero<br> <br><br> <DT>'selchange' <DD>the selection has changed.<br> wp=tuple(systemtimeLow, systemtimeHi)<br> two ||type-SYSTEMTIME|| structs containing upper and loer limits of the selection. lp=allways zero<br> The difference from 'select' is that implicit changes are reported aswell, like when the only month is changed by the user. <br><br> <DT>'setfocus' <DD>the control has received keyboard focus<br> wp=hwnd of the window loosing the focus or zero lp=allways zero <br><br> <DT>'killfocus' <DD>the control has lost keyboard focus<br> wp=hwnd of the window gaining the focus or zero lp=allways zero <br><br> </DL> ::site:: Monthcal styles The following styles are used with Monthcal controls:<br><br> <TABLE class="table1" BORDER="1"> <TR> <TD>'daystate'</TD> <TD>will cause the control to send 'getdaystate messages'</TD> </TR> <TR> <TD>'multiselect'</TD> <TD>allows the selection of multiple dates</TD> </TR> <TR> <TD>'notifyselect'</TD> <TD>causes the 'selchange' message to be send</TD> </TR> <TR> <TD>'notoday'</TD> <TD>will hide todays date on top of the control</TD> </TR> <TR> <TD>'weeknumbers'</TD> <TD>causes the control to display weeknumbers</TD> </TR> </TABLE> ::folder:: Monthcal methods Month calendar controls support the following methods: <a HREF="||method-ctrl||">Common methods</a> ::item:: Selected <code>Selected()</code><br> <P>Returns the current selection as ||type-SYSTEMTIME|| struct.<br> <br> This method will fail if the calendar is in 'multiselect' style. </P> ::item:: IsLocaleFirstDayOfWeek <code>IsLocaleFirstDayOfWeek()</code><br> <P>Returns true if first-day-of-week is LOCALE_IFIRSTDAYOFWEEK, False otherwise </P> ::item:: GetFirstDayOfWeek <code>GetFirstDayOfWeek()</code><br> <P>Returns the first-day-of-the-week.<br> Should be 0 = Monday on most machines </P> ::item:: setFirstDayOfWeek <code>setFirstDayOfWeek(n)</code><br> <P>Sets the first-day-of-the-week.<br> If you don't like mondays, here we go.<br> <br> Return valiue is the previous first-day-of-the-week<br> <br> The calendar refuses to update its display, so best redraw it. </P> ::item:: GetMaxSelCount <code>GetMaxSelCount()</code><br> <P>Returns the maximum numbers of dates that can be selected at a time. </P> ::item:: GetMaxTodayWidth <code>GetMaxTodayWidth()</code><br> <P>Returns the maximum number of chars for the 'today' string </P> ::item:: GetMinRequiredSize <code>GetMinRequiredSize()</code><br> <P>Returns a ||type-RECT|| containig the minimum required size to display a full month </P> ::item:: GetMonthDelta <code>GetMonthDelta()</code><br> <P>Returns the number of months the calendar is sctrolled when the user presses the arrow key </P> ::item:: GetMonthRange <code>GetMonthRange()</code><br> <P>Returns a tuple(nMonths, systemtimeMin, systemtimeMax)</bold> containing the current month range limits for the calendar control. <br> <DL>nMonths <DT>the number of months the calendar holds <DL>systemtimeMin <DT>a ||type-SYSTEMTIME|| struct containing the lower limit <DL>systemtimeMax <DT>a ||type-SYSTEMTIME|| struct containing the upper limit <DD> </DL> </P> ::item:: GetVisibleMonthRange <code>GetVisibleMonthRange()</code><br> <P>Returns the current month range limits for the calendar control. <br><br> See <a HREF="GetMonthRange.html">GetMonthRange</a> for dretails.<br> The difference is that this method exclude partially displayable months (the preceeding and trailing once). </P> ::item:: GetRange <code>GetRange()</code><br> <P>Returns the current range of the Monthcal<br> Return value is <bold>list[None, None]</bold> if no limits are currently set. If a minimum is currently set <bold>list[0]</bold> will be a ||type-SYSTEMTIME|| structure containing the minimum range. <br> If maximum range is set <bold>list[1]</bold> will hold a ||type-SYSTEMTIME|| structure containing the maximum range. </P> ::item:: GetSelectedRange <code>GetSelectedRange()</code><br> <P>Returns a <bold>tuple(sytemtimeLow, systemtimeHi)</bold> containing the currently selected range of dates. <br><br> sytemtimeLow and systemtimeHi are ||type-SYSTEMTIME|| structs. <br><br> This method will fail is the Monthcal does not have the 'multiselect' style set. </P> ::item:: GetToday <code>GetToday()</code><br> <P>Returns a ||type-SYSTEMTIME|| struct containing the currently selected date </P> ::item:: HitTest <code>HitTest(x, y)</code><br> <P>Performs a hittest on the Monthcal control. Return value is a list containing one or more of the following items:<br> <DL> <DT>'calendarbk' <DD>The given point was in the calendar's background. <DT>'calendardate' <DD>The given point was on a particular date within the calendar.<br> The 1st item in the return value will contain the ||type-SYSTEMTIME|| structure set to the to the date at the given point. <DT>'calendardatenext' <DD>The given point was over a date from the next month (partially displayed at the end of the currently displayed month). If the user clicks here, the month calendar will scroll its display to the next month or set of months. <DT>'calendardateprev' <DD>The given point was over a date from the previous month (partially displayed at the end of the currently displayed month). If the user clicks here, the month calendar will scroll its display to the previous month or set of months. <DT>'calendarday' <DD>The given point was over a day abbreviation ("Fri", for example). <br> The 1st item in the return value will contain the ||type-SYSTEMTIME|| structure set to the corresponding date in the top row. <DT>'calendarweeknum' <DD>The given point was over a week number ('weeknumbers' style only). <br> The 1st item in the return value will contain the ||type-SYSTEMTIME|| structure set to the corresponding date in the leftmost column. <DT>'nowhere' <DD>The given point was not on the month calendar control, or it was in an inactive portion of the control. <DT>'titlebk' <DD>The given point was over the background of a month's title. <DT>'titlebknext' <DD>The given point was over the button at the top right corner of the control. If the user clicks here, the month calendar will scroll its display to the next month or set of months. <DT>'titlebkprev' <DD>The given point was over the button at the top left corner of the control. If the user clicks here, the month calendar will scroll its display to the previous month or set of months. <DT>'titlemonth' <DD>The given point was in a month's title bar, over a month name. <DT>'titleyear' <DD>The given point was in a month's title bar, over the year value. </DL> <br><br> The first member of the list is usually None. But where mentioned the 1st item is set to a ||type-SYSTEMTIME|| struct. </P> ::item:: Select <code>Select(systemtime)</code><br> <P>Selects a date in the Monthcal.<br> systemtime should be a filled in ||type-SYSTEMTIME|| struct. <br><br> This method will fail if the Monthcal has the 'multiplesel' style set </P> ::item:: SetMaxSelCount <code>SetMaxSelCount()</code><br> <P>Sets the maximum number of days that can be selected in a month calendar control </P> ::item:: SetMonthDelta <code>SetMonthDelta()</code><br> <P>Sets the scroll rate for a month calendar control. The scroll rate is the number of months that the control moves its display when the user clicks a scroll button. If the scroll rate was not previously set, the return value is zero. </P> ::item:: SetRange <code>SetRange(systemtimeMin, systemtimeMax)</code><br> <P>Sets the maximum and minimum allowable ranges for the Monthcal control.<br> systemtimeMin and systemtimeMax should be filled in ||type-SYSTEMTIME|| structures or None ifd you don't want to touch a certain limit. </P> ::item:: SelectRange <code>SelectRange(systemtimeLow, systemtimeHi)</code><br> <P>For 'multipüleselect' Monthcals.<br> Selects a range of dates in the Monthcal.<br> systemtimeLow and systemtimeHi should be two filled in ||type-SYSTEMTIME|| structs. </P> ::item:: SetToday <code>SetToday(systemtime)</code><br> <P>Sets the "today" selection for a month calendar control. systemtime should be a filled in ||type-SYSTEMTIME|| struct </P> ::item:: GetBkColor <code>GetBkColor()</code><br> <P>Returns the background ||type-COLORREF|| color of the calendar. </P> ::item:: GetMonthBkColor <code>GetMonthBkColor()</code><br> <P>Returns the month background ||type-COLORREF|| color of the calenendar. </P> ::item:: GetTextColor <code>GetTextColor()</code><br> <P>Returns the text ||type-COLORREF|| color of the calenendar. </P> ::item:: GetTitleTextColor <code>GetTitleTextColor()</code><br> <P>Returns the title text ||type-COLORREF|| color of the calenendar. </P> ::item:: GetTrailingTextColor <code>GetTrailingTextColor()</code><br> <P>Returns the trailing text ||type-COLORREF|| color of the calenendar.<br> This is the color of days taken from previous or following months. </P> ::item:: SetBkColor <code>SetBkColor(colorref)</code><br> <P>Sets the background ||type-COLORREF|| color of the calenendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetMonthBkColor <code>SetMonthBkColor()</code><br> <P>Sets the month background ||type-COLORREF|| color of the calenendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetTextColor <code>SetTextColor()</code><br> <P>Sets the text ||type-COLORREF|| color of the calenendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetTitleTextColor <code>SetTitleTextColor()</code><br> <P>Sets the title text ||type-COLORREF|| color of the calenendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetTrailingTextColor <code>SetTrailingTextColor()</code><br> <P>Sets the trailing text ||type-COLORREF|| color of the calenendar.<br> This is the color of days taken from previous or following months. <br>Return value is the previous ||type-COLORREF|| value </P> |
From: jürgen u. <cer...@us...> - 2005-07-23 19:52:39
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/menu In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3112 Modified Files: menu.dtpl Log Message: bit of this and a bit of that Index: menu.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/menu/menu.dtpl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** menu.dtpl 2 Jul 2005 09:42:29 -0000 1.2 --- menu.dtpl 23 Jul 2005 19:52:30 -0000 1.3 *************** *** 596,600 **** ::item:: Separator ! <code> Separator(ID=0, *flags)</code><br> <P> Appends a separator to the menu or submenu. --- 596,600 ---- ::item:: Separator ! <code> Separator(ID, *flags)</code><br> <P> Appends a separator to the menu or submenu. |
From: jürgen u. <cer...@us...> - 2005-07-23 19:52:11
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/listview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3018 Modified Files: listview.dtpl Log Message: bit of this and a bit of that Index: listview.dtpl =================================================================== RCS file: /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/listview/listview.dtpl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** listview.dtpl 2 Jul 2005 09:42:01 -0000 1.4 --- listview.dtpl 23 Jul 2005 19:52:03 -0000 1.5 *************** *** 591,595 **** lp= NMLVCUSTOMDRAW structure<br> See ! a <a HREF="customdrawing Listviews.html">customdrawing Listviews</a> <br><br> --- 591,595 ---- lp= NMLVCUSTOMDRAW structure<br> See ! <a HREF="customdrawing Listviews.html">customdrawing Listviews</a> <br><br> |
From: jürgen u. <cer...@us...> - 2005-07-23 19:50:18
|
Update of /cvsroot/wnd/wnd/wnd_doc/doc/controls/control classes/datepicker In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2837 Added Files: .CVSIGNORE datepicker.dtpl Log Message: bit of this and a bit of that --- NEW FILE: .CVSIGNORE --- *.html *.gif --- NEW FILE: datepicker.dtpl --- ::defaultpage:: datepicker ::site:: Datepicker <IMG SRC="Datepicker.gif"></IMG> <br><br> <a HREF="contents.html">Datepicker contents</a> <br><br> ::site:: class DatepickerFromHandle <code class=import>defined in: wnd.controls.datepicker</code><br><br> <code>DatepickerFromHandle(hwnd, *styles)</code><br> <P> Wraps Datepicker methods around a hwnd. <br><br> Styles can be 'debug' or 'debugall'. </P> ::site:: class Datepicker <code class=import>defined in: wnd.controls.datepicker</code><br><br> <code>Datepicker(parent, x, y, w, h, *styles)</code><br> ::site:: Datepicker messages A Datepicker control sends the following messages to the message handler:<br> <DL> <DT>'datechange' <DD><br>the date has beenn changed wp=a ||type-SYSTEMTIME|| struct containing the new date or None if the checkbox is in 'shownone' style and the checkbox is not checked<br> lp=flag: 'valid', 'none', 'error' or 'unknown', giving additional information how about the ||type-SYSTEMTIME|| being passed. You should use the ||type-SYSTEMTIME|| structure only if the 'valid' flag is set. 'none' indicates that the cobtrol contains no date at all. <br><br> <DT>'closemonthcal' <DD><br>the monthcalendar is about to be closed wp=allways zero<br> lp=allways zero <br><br> <DT>'killfocus' <DD>the checkbox has lost keyboard focus<br> wp=window handle of the window gaining the focus or zero lp=allways zero<br> <DT>'openmonthcal' <DD><br>the monthcalendar is about to be opend wp=allways zero<br> lp=allways zero <br><br> <DT>'setfocus' <DD>the checkbox has received keyboard focus<br> wp=window handle of the window loosing the focus or zero lp=allways zero <br><br> <DT>'userstring' <DD>the user entered a sting into the control<br> wp= a ||type-SYSTEMTIME|| lp= the string the user entered ||type-SYSTEMTIME|| according to the user input. You may return True to indicate the input is valid or False to set the control to no date status. The return values are used only for controls with the 'shownone' style set. <br><br> In response to this message you should fill in the passed <br><br> This message is send only if the control has the 'appcanparse' style set <br><br> </DL> ::site:: Datepicker styles The following styles are used with Datepicker controls:<br><br> <TABLE class="table1" BORDER="1"> <TR> <TD>'appcanparse'</TD> <TD>the application can parse user input, the 'userstring' message is send</TD> </TR> <TR> <TD>'longdateformat'</TD> <TD>displays long date like: Friday, April 19, 1996.</TD> </TR> <TR> <TD>'rightalign'</TD> <TD>the callendar arrow will be right aligned</TD> </TR> <TR> <TD>'shownone'</TD> <TD>displays a checkbox next to the date. You may retrieve the date from the control only if it is checked by the user </TD> </TR> <TR> <TD>'shortdateformat'</TD> <TD>displays the date in short form: 22.1.05</TD> </TR> <TR> <TD>'timeformat'</TD> <TD>displays time instead of date</TD> </TR> <TR> <TD>'updown'</TD> <TD>displays an Updown control instead of the calendar arrow</TD> </TR> </TABLE> ::folder:: Datepicker methods Datepicker controls support the following methods: <a HREF="||method-ctrl||">Common methods</a> ::item:: SetFormat <code>SetFormat(format)</code><br> <P>Sets the format how date and time is displayed in the control.<br> Use a combination of the following format strings: <DL> <DT>d</DT> <DD> The one- or two-digit day. <DT>dd</DT> <DD> The two-digit day. Single-digit day values are preceded by a zero. </DD> <DT>ddd</DT> <DD> The three-character weekday abbreviation. </DD> <DT>dddd</DT> <DD> The full weekday name.</DD> <DT>h</DT> <DD> The one- or two-digit hour in 12-hour format. </DD> <DT>hh</DT> <DD> The two-digit hour in 12-hour format. Single-digit values are preceded by a zero. </DD> <DT>H</DT> <DD> The one- or two-digit hour in 24-hour format. </DD> <DT>HH</DT> <DD> The two-digit hour in 24-hour format. Single-digit values are preceded by a zero. </DD> <DT>m</DT> <DD> The one- or two-digit minute. </DD> <DT>mm</DT> <DD> The two-digit minute. Single-digit values are preceded by a zero. </DD> <DT>M</DT> <DD> The one- or two-digit month number. </DD> <DT>MM</DT> <DD> The two-digit month number. Single-digit values are preceded by a zero. </DD> <DT>MMM</DT> <DD> The three-character month abbreviation. </DD> <DT>MMMM</DT> <DD> The full month name. </DD> <DT>t</DT> <DD> The one-letter AM/PM abbreviation (that is, AM is displayed as A). </DD> <DT>tt</DT> <DD> The two-letter AM/PM abbreviation (that is, AM is displayed as AM). </DD> <DT>X</DT> <DD> make it a callback field. Not yet implemented</DD> <DT>y</DT> <DD>The one-digit year (that is, 1996 would be displayed as 6). </DD> <DT>yy</DT> <DD> The last two digits of the year (that is, 1996 would be displayed as 96). </DD> <DT>yyy</DT> <DD> The full year (that is, 1996 would be displayed as 1996). </DD> </DL> <br> It is possible to include non formating chars in the string by enclosing them in single quotes. <pre> SetFormat(" 'today is' dd ':' mm ':' yy") >> today is 30 : 1 : 05 </pre> </P> ::item:: GetMonthcal <code>GetMonthcal()</code><br> <P>Returns a Monthcal instance wrapped aroung the the handle of the controls monthcalendar.<br> <br> This instance is only valid when the calendar is actually displayed. No check is done to enshure this.<br> <br> Use this only in response to a 'openmonthcal' message, to play additional tricks on the month calendar.<br> As soon as the 'closemonthcal' message is send the Hwnd of the Monthcal instance becomes invalid. </P> ::item:: GetMonthcalBkColor <code>GetMonthcalBkColor()</code><br> <P>Returns the background ||type-COLORREF|| color of the monthcalendar. </P> ::item:: GetMonthcalMonthBkColor <code>GetMonthcalMonthBkColor()</code><br> <P>Returns the month background ||type-COLORREF|| color of the monthcalendar. </P> ::item:: GetMonthcalTextColor <code>GetMonthcalTextColor()</code><br> <P>Returns the text ||type-COLORREF|| color of the monthcalendar. </P> ::item:: GetMonthcalTitleTextColor <code>GetMonthcalTitleTextColor()</code><br> <P>Returns the title text ||type-COLORREF|| color of the monthcalendar. </P> ::item:: GetMonthcalTrailingTextColor <code>GetMonthcalTrailingTextColor()</code><br> <P>Returns the trailing text ||type-COLORREF|| color of the monthcalendar.<br> This is the color of days taken from previous or following months. </P> ::item:: SetMonthcalBkColor <code>SetMonthcalBkColor(colorref)</code><br> <P>Sets the background ||type-COLORREF|| color of the monthcalendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetMonthcalMonthBkColor <code>SetMonthcalMonthBkColor()</code><br> <P>Sets the month background ||type-COLORREF|| color of the monthcalendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetMonthcalTextColor <code>SetMonthcalTextColor()</code><br> <P>Sets the text ||type-COLORREF|| color of the monthcalendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetMonthcalTitleTextColor <code>SetMonthcalTitleTextColor()</code><br> <P>Sets the title text ||type-COLORREF|| color of the monthcalendar. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: SetMonthcalTrailingTextColor <code>SetMonthcalTrailingTextColor()</code><br> <P>Sets the trailing text ||type-COLORREF|| color of the monthcalendar.<br> This is the color of days taken from previous or following months. <br>Return value is the previous ||type-COLORREF|| value </P> ::item:: GetMonthcalFont <code>GetMonthcalFont()</code><br> <P>Returns the handle of the font the monthcal is currently using </P> ::item:: SetRange <code>SetRange(systemtimeMin, systemtimeMax)</code><br> <P>Sets the maximum and minimum allowable ranges for the Datepicker.<br> systemtimeMin and systemtimeMax should be filled in ||type-SYSTEMTIME|| structures or None ifd you don't want to touch a certain limit. </P> ::item:: GetRange <code>GetRange()</code><br> <P>Returns the current range of the Datepicker<br> Return value is <bold>list[None, None]</bold> if no limits are currently set. If a minimum is currently set <bold>list[0]</bold> will be a ||type-SYSTEMTIME|| structure containing the minimum range. <br> If maximum range is set <bold>list[1]</bold> will hold a ||type-SYSTEMTIME|| structure containing the maximum range. </P> ::item:: SetTime <code>SetTime(systemtime)</code><br> <P>Sets the current time of the Datepicker control.<br> systemtime should be a filled in ||type-SYSTEMTIME|| structure. <br><br> </P> ::item:: GetTime <code>GetTime()</code><br> <P>Returns the current time of the Datepicker control.<br> Return value is a ||type-SYSTEMTIME|| structure. <br><br> Note:<br> Only these members of the ||type-SYSTEMTIME|| are valid wich corrospond to the current time format set. All others are arbitrary values. And as you may have noticed there is no <bold>GetFormat</bold> method available. </P> |