<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Tab Control not allowed in QuickWin?? in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940784#M16991</link>
    <description>No, I'm using the tab control, which "...is like the dividers in a notebook...." (online help). Like the ShowFont example supplied with CVF, I have three tabs on the tab control, but, unlike ShowFont, I have a QuickWin project, and I have multiple controls on the child dialogs displayed on the tabs. I followed the usual practice of placing an ampersand in the caption of the static text that is immediately prior to an edit box in terms of tab order. However, accelerator keys do not function, and I cannot tab from one edit box to another. I followed ShowFont's technique of setting focus to a particular control whenever a DLG_SELCHANGE event occurs, and that works. Pressing the tab key, though, never places focus on a different edit box but only on the tab's caption; there left- and right-arrow keys will change to a different tab.  &lt;BR /&gt; &lt;BR /&gt;I discovered there is a way to enable the usual tab-key capability, but it comes with a price. Select each child dialog in turn and check "Control" on the "More Styles" tab of the dialog properties dialog. Then the user can tab from one edit box (or other control) to the next. Eventually the focus reaches the tab caption and no further tabbing is possible. Accelerator keys still don't work, but at least there is enough keyboard functionality to use the dialog without a mouse. &lt;BR /&gt; &lt;BR /&gt;I mentioned a price. It's steep: any Alt-key combination causes the program to lock up!  &lt;BR /&gt; &lt;BR /&gt;I'm using CVF 6.5.0 under WinNT 4(SP6). I'd appreciate any suggestions.</description>
    <pubDate>Tue, 06 Mar 2001 02:14:05 GMT</pubDate>
    <dc:creator>Intel_C_Intel</dc:creator>
    <dc:date>2001-03-06T02:14:05Z</dc:date>
    <item>
      <title>Tab Control not allowed in QuickWin??</title>
      <link>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940781#M16988</link>
      <description>According to the documentation of the tab control, one must "call DLGMODELESS for each of the Tab dialog boxes". Since DLGMODELESS is not compatible with QuickWin, it sounds as if the tab control is also incompatible. Is that correct? Or is this use of DLGMODELESS a special case, perhaps, because it doesn't really display the dialog boxes? &lt;BR /&gt; &lt;BR /&gt;I did get a tab control dialog example to work in QuickWin, but I had to do almost all navigation/selection with the mouse.  Accelerator keys didn't seem to work at all, and the tab key focused only on the tab caption. I placed the Cancel and OK buttons on the parent dialog, and they seemed to work okay. &lt;BR /&gt; &lt;BR /&gt;Am I wasting my time? Am I likely to encounter even more problems if I incorporate this into a larger project?</description>
      <pubDate>Thu, 01 Mar 2001 07:59:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940781#M16988</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-03-01T07:59:45Z</dc:date>
    </item>
    <item>
      <title>Re: Tab Control not allowed in QuickWin??</title>
      <link>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940782#M16989</link>
      <description>I'm sorry. This was discussed in December.</description>
      <pubDate>Thu, 01 Mar 2001 08:58:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940782#M16989</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-03-01T08:58:29Z</dc:date>
    </item>
    <item>
      <title>Re: Tab Control not allowed in QuickWin??</title>
      <link>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940783#M16990</link>
      <description>Not sure if I understand what you're trying to do with tab control, but here's what I know.....Open any dialog box in the resource editor and hit ctl-D. That lets you set the order of the controls accessed by the tab key. If there are controls you don't want accessed by the tab key, open those controls and de-select "tab".</description>
      <pubDate>Sat, 03 Mar 2001 01:01:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940783#M16990</guid>
      <dc:creator>kvrichardson</dc:creator>
      <dc:date>2001-03-03T01:01:49Z</dc:date>
    </item>
    <item>
      <title>Re: Tab Control not allowed in QuickWin??</title>
      <link>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940784#M16991</link>
      <description>No, I'm using the tab control, which "...is like the dividers in a notebook...." (online help). Like the ShowFont example supplied with CVF, I have three tabs on the tab control, but, unlike ShowFont, I have a QuickWin project, and I have multiple controls on the child dialogs displayed on the tabs. I followed the usual practice of placing an ampersand in the caption of the static text that is immediately prior to an edit box in terms of tab order. However, accelerator keys do not function, and I cannot tab from one edit box to another. I followed ShowFont's technique of setting focus to a particular control whenever a DLG_SELCHANGE event occurs, and that works. Pressing the tab key, though, never places focus on a different edit box but only on the tab's caption; there left- and right-arrow keys will change to a different tab.  &lt;BR /&gt; &lt;BR /&gt;I discovered there is a way to enable the usual tab-key capability, but it comes with a price. Select each child dialog in turn and check "Control" on the "More Styles" tab of the dialog properties dialog. Then the user can tab from one edit box (or other control) to the next. Eventually the focus reaches the tab caption and no further tabbing is possible. Accelerator keys still don't work, but at least there is enough keyboard functionality to use the dialog without a mouse. &lt;BR /&gt; &lt;BR /&gt;I mentioned a price. It's steep: any Alt-key combination causes the program to lock up!  &lt;BR /&gt; &lt;BR /&gt;I'm using CVF 6.5.0 under WinNT 4(SP6). I'd appreciate any suggestions.</description>
      <pubDate>Tue, 06 Mar 2001 02:14:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940784#M16991</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-03-06T02:14:05Z</dc:date>
    </item>
    <item>
      <title>Re: Tab Control not allowed in QuickWin??</title>
      <link>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940785#M16992</link>
      <description>The tabbing issue in a tab control is a complicated one.  The basic &lt;BR /&gt;reason is this: the Windows code does not handle nested dialog boxes &lt;BR /&gt;very well.  You have nested dialog boxes whenever you use a tab control &lt;BR /&gt;in a dialog box.  The problem area is all of the special dialog box &lt;BR /&gt;behavior that is implemented by the Windows API IsDialogMessage.  &lt;BR /&gt;This includes things like tabbing, default button activation, etc.&lt;BR /&gt; &lt;BR /&gt;I'll explain 2 items that Windows uses in its nested dialog box&lt;BR /&gt;"solution".  &lt;BR /&gt; &lt;BR /&gt;The first item is the Windows API IsDialogMessage.  You need to call&lt;BR /&gt;IsDialogMessage for the appropriate dialog box(es) in order to get&lt;BR /&gt;the dialog box behavior.  When using a tab control, this means calling&lt;BR /&gt;IsDialogMessage on the active tab dialog box and then on the main dialog&lt;BR /&gt;box.  The CVF DlgIsDlgMessage routine is the one that calls the &lt;BR /&gt;IsDialogMessage API.  I think the CVF Dialog procedures could do more &lt;BR /&gt;for tab controls in this area and this in on our list for&lt;BR /&gt;future consideration.  But, for now, part of the solution to your&lt;BR /&gt;problem is to keep track of the current tab dialog box and call &lt;BR /&gt;DlgIsDlgMessage on it.  This means that you can't use DlgModal, because&lt;BR /&gt;with DlgModal you do not have control of the message loop, so there is&lt;BR /&gt;no where for you to make the call.  You need to use DlgModeless. &lt;BR /&gt;Fortunately, it is easy to make a modeless dialog box act like a modal&lt;BR /&gt;one - you simply "disable" the parent window while the modeless dialog&lt;BR /&gt;box is active - e.g., ok = EnableWindow(ghwndMain, .FALSE.)&lt;BR /&gt; &lt;BR /&gt;The second item is the "ControlParent" property that you can set on a&lt;BR /&gt;dialog box - see the Dialog properties, Extended styles.  The &lt;BR /&gt;"ControlParent" property is supposed to tell Windows that the dialog box&lt;BR /&gt;is nested, and then Windows is "supposed" to be able to handle dialog&lt;BR /&gt;box behavior across the nested dialog boxes.  Unfortunately, this&lt;BR /&gt;support is very "fragile".&lt;BR /&gt;The problem is that Windows can easily get itself into an infinite loop&lt;BR /&gt;when searching for the next control to tab to, the control that should&lt;BR /&gt;be the default button, etc. &lt;BR /&gt; &lt;BR /&gt;Not using "ControlParent" leaves a few problems.  Windows won't&lt;BR /&gt;automatically tab "into" or "out of" the nested dialog box, and &lt;BR /&gt;key presses when focus is in the tab dialog won't implement the&lt;BR /&gt;dialog box default button behavior.  There are work-arounds&lt;BR /&gt;for 2 of these problems.&lt;BR /&gt; &lt;BR /&gt;For tab "into", when the user selects a different tab, you can add a&lt;BR /&gt;call to the Windows SetFocus API to set the keyboard focus to the first&lt;BR /&gt;control in the tab dialog.  I don't know of any way to fix the tab "out&lt;BR /&gt;of" problem.  Once focus is inside a tab dialog, it will remain there, &lt;BR /&gt;until the user clicks on another tab or one of the controls in the&lt;BR /&gt;main dialog box.&lt;BR /&gt; &lt;BR /&gt;For the default button behavior, you can add code to the message loop to &lt;BR /&gt;look for key presses of "Return" and "Escape".  You can activate the&lt;BR /&gt;OK or Cancel button in this case, as the normal dialog box behavior&lt;BR /&gt;would.&lt;BR /&gt; &lt;BR /&gt;Leo</description>
      <pubDate>Thu, 22 Mar 2001 01:18:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Tab-Control-not-allowed-in-QuickWin/m-p/940785#M16992</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2001-03-22T01:18:54Z</dc:date>
    </item>
  </channel>
</rss>

