<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eine einzelne Pages im TPageControl sperren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte in einem TPageControl (frm1_tabReiter) die erste<br />
Pages 'Liste' (frm1_tabListe) nur sperren, nicht ausblenden,<br />
was mit</p>
<pre><code class="language-cpp">frm1_tabReiter-&gt;Pages[0]-&gt;TabVisible=!o1;
</code></pre>
<p>auch einwandfrei funktioniert.</p>
<p>Ich möchte aber den Reiter sichtbar lassen; aber eben nicht auswählbar.<br />
Mit diesen Einstellungen klappt es überhaupt nicht:</p>
<pre><code class="language-cpp">frm1_tabReiter-&gt;Pages[0]-&gt;PageControl-&gt;Enabled=false;  // hier sperrt er das gesamte  Control, also alle Pages!?
 frm1_tabReiter-&gt;Pages[0]-&gt;Enabled=false;               // das sollte doch eigentlich gehen... 
 frm1_tabListe-&gt;Enabled=false;                          // und das eigentlich auch.. grübel?
</code></pre>
<p>Wo ist mein Denkfehler? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>MfG Stefan Scholz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184689/eine-einzelne-pages-im-tpagecontrol-sperren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 05:01:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184689.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Jun 2007 09:36:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Mon, 18 Jun 2007 09:36:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte in einem TPageControl (frm1_tabReiter) die erste<br />
Pages 'Liste' (frm1_tabListe) nur sperren, nicht ausblenden,<br />
was mit</p>
<pre><code class="language-cpp">frm1_tabReiter-&gt;Pages[0]-&gt;TabVisible=!o1;
</code></pre>
<p>auch einwandfrei funktioniert.</p>
<p>Ich möchte aber den Reiter sichtbar lassen; aber eben nicht auswählbar.<br />
Mit diesen Einstellungen klappt es überhaupt nicht:</p>
<pre><code class="language-cpp">frm1_tabReiter-&gt;Pages[0]-&gt;PageControl-&gt;Enabled=false;  // hier sperrt er das gesamte  Control, also alle Pages!?
 frm1_tabReiter-&gt;Pages[0]-&gt;Enabled=false;               // das sollte doch eigentlich gehen... 
 frm1_tabListe-&gt;Enabled=false;                          // und das eigentlich auch.. grübel?
</code></pre>
<p>Wo ist mein Denkfehler? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>MfG Stefan Scholz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308241</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Mon, 18 Jun 2007 09:36:49 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Mon, 18 Jun 2007 09:45:55 GMT]]></title><description><![CDATA[<p>wenn du nicht willst das das Tab ausgewählt wird schau dir mal das Ereignis <em>OnChanging</em> von <em>TPageControl</em> an,<br />
falls du allerdings nur alle Elemente auf dem PageControl nicht auswählbar/änderbar machen willst bietet sich ein Panel an auf dem du alle Elemente plazierst und dann Enabled auf true oder false setzt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308250</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Mon, 18 Jun 2007 09:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Mon, 18 Jun 2007 09:57:20 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5990">@Linnea</a></p>
<p>Danke die Antwort; aber mich würde interessieren,<br />
warum die Enableds nicht funktionieren!? Mit<br />
OnChanging usw. klar, machbar. Aber es würde den<br />
Pages-Reiter selbst auch nicht gesperrt darstellen<br />
(also die Beschriftung 'Liste' in grau).</p>
<p>Gruss Stefan Scholz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308256</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Mon, 18 Jun 2007 09:57:20 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Mon, 18 Jun 2007 13:17:10 GMT]]></title><description><![CDATA[<p>Beschriftung selber zeichnen!?</p>
<p>Allerdings wird es wohl einen Grund geben, dass sich der Tab nicht &quot;visuell disablen&quot; lässt: es verstösst wahrscheinlich gegen etablierte GUI-Richtlinien.<br />
Ich habe jedenfalls noch kein Programm mit einem derartigen Feature gesehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308395</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Mon, 18 Jun 2007 13:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Mon, 18 Jun 2007 20:10:34 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/52">@Jansen</a></p>
<p>Warum bietet die Komponente dann verschiedene Enabled-Funktionen an?<br />
Bei</p>
<pre><code class="language-cpp">frm1_tabReiter-&gt;Pages[0]-&gt;PageControl-&gt;Enabled=false;
</code></pre>
<p>macht er ja was; sperrt aber unsinnigerweise das TPageControl<br />
komplett, obwohl der Bezug vorher mit Pages[0] eigentlich<br />
nur für den 1. Reiter gelten dürfte...</p>
<p>Das selbst zeichnen, abfangen mit OnChanging usw. ist zwar<br />
kein zu grosses Problem, aber lästiger Zusatzcode ohne echten<br />
Nutzen... grummel...</p>
<p>Danke für Eure Antworten..<br />
MfG Stefan Scholz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308684</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Mon, 18 Jun 2007 20:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Mon, 18 Jun 2007 20:34:15 GMT]]></title><description><![CDATA[<p><em>frm1_tabReiter-&gt;Pages[0]-&gt;PageControl</em> ist eine Art zirkulärer Bezug. Die PageControl-Property von TTabSheet zeigt auf das Eltern-PageControl, in deinem Fall also auf <em>frm1_tabReiter</em>. Ein einzelnes Sheet dis/enablest du mit <em>Pages[x]-&gt;Enabled</em>.</p>
<p>Stefan7124 schrieb:</p>
<blockquote>
<p>ohne echten Nutzen...</p>
</blockquote>
<p>Wenn du das selber einsiehst, warum versteifst du dich dann auf die Funktionalität? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>TTabSheet ist ein passiver Container, der nicht visuell auf Benutzereingaben reagiert, vergleichbar z.B. mit TGroupBox. Deshalb muss beim Disablen auch nichts ausgegraut werden.<br />
Im Gegensatz dazu muss z.B. bei einer deaktivierten CheckBox dem Benutzer sichtbar klargemacht werden, dass ein Anklicken nichts bringen wird, sonst würde er einen Programmfehler vermuten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308696</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Mon, 18 Jun 2007 20:34:15 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Tue, 19 Jun 2007 08:05:13 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe die Reiter jetzt grau, wenn ich sie disable.</p>
<p>Allerdings habe ich ein Problem mit der OnChanging Funktion!</p>
<p>Mit AllowChange=false kann ich das wechseln ja blocken;<br />
leider gibt mit das TPageControl aber in allen Funktionen<br />
immer nur den <strong>aktiven</strong> Reiter wieder (also mit TabIndex;<br />
ActivePageIndex usw.) Ich brauche aber für die Abfrage, ob<br />
der Reiter (=Pages[x]) Enabled/Disabled ist, den Reiter, der vom<br />
Benutzer gerade angeklickt wurde. Der einzige Beitrag hier im Forum<br />
bezieht sich zwar im Endeffekt auf das gleiche Problem, verweist aber<br />
auch &quot;nur&quot; auf das OnChanging Problem...</p>
<p>Wie bekomme ich also die Pages/Index raus vom angeklickten Reiter???</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Grüsse, Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308851</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Tue, 19 Jun 2007 08:05:13 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Tue, 19 Jun 2007 08:27:03 GMT]]></title><description><![CDATA[<p>Dann nimm doch OnChange statt OnChanging. Dann stimmt auch der TabIndex. OnChanging wird ja aufgerufen bevor der neue Reiter gewählt wird. Das Ereignis kann also gar nicht wissen was danach kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308862</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 19 Jun 2007 08:27:03 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Tue, 19 Jun 2007 08:30:12 GMT]]></title><description><![CDATA[<p>@Braun</p>
<p>Aber im ChangeEreigniss ist der Reiter bereits ausgewählt und<br />
es gibt keine AllowChange=false Übrigens macht dann das OnChanging<br />
Ereigniss ja keinen Sinn. Oder stehe ich mittlerweile komplett auf<br />
dem Schlauch?</p>
<p>MfG Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308867</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Tue, 19 Jun 2007 08:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Tue, 19 Jun 2007 08:33:53 GMT]]></title><description><![CDATA[<p>Du kannst dir z.B. beim Ereignis <em>OnChanging</em> merken welches das letzte verwendete Tab war und dann im Ereignis <em>OnChange</em> das neu ausgewählte Tab abfragen (<em>TabIndex</em>) und dann nach deinen Bedingungen entweder den <em>ActivePageIndex</em> lassen oder falls diese Tab nicht angezeigt werden soll den <em>ActivePageIndex</em> neu setzen</p>
<p>[Edit] in der BCB-Hilfe zu <em>OnChanging</em> steht übrigends wozu es gut ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308869</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Tue, 19 Jun 2007 08:33:53 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Tue, 19 Jun 2007 08:42:26 GMT]]></title><description><![CDATA[<p>Wenn du verhindern willst, ein Tab auszuwählen, setze doch gleich dort Visible auf false. Dann ist es gar nicht erst sichtbar. Mich als Nutzer würde das sehr irritieren, wenn ein Tab sichtbar ist, ich ihn aber nicht anwählen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308876</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 19 Jun 2007 08:42:26 GMT</pubDate></item><item><title><![CDATA[Reply to Eine einzelne Pages im TPageControl sperren on Tue, 19 Jun 2007 08:44:06 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Danke für alle Tips und Hinweise.</p>
<p>Habe es jetzt so gelöst; finde es nicht sehr elegant, aber gut..</p>
<pre><code class="language-cpp">void __fastcall TForm1::frm1_tabReiterChanging(TObject *Sender,  bool &amp;AllowChange)
{frm1_tabReiter-&gt;Tag=frm1_tabReiter-&gt;ActivePageIndex;                           // akt. Index merken für frm1_tabReiterChange()
}
void __fastcall TForm1::frm1_tabReiterChange(TObject *Sender)
{Integer i2,iTag;                                                               // Vars definieren

 i2=frm1_tabReiter-&gt;ActivePageIndex;                                            // aktuelle Seite Index?
 if(frm1_tabReiter-&gt;Pages[i2]-&gt;Enabled==false) {                                // ist gesperrt
  iTag=frm1_tabReiter-&gt;Tag;                                                     // letzter aktiver Reiter
  frm1_tabReiter-&gt;Pages[iTag]-&gt;Show();                                          // und diesen wieder aktivieren
 }                                                                              // ende if(frm1_
}
</code></pre>
<p>Grüsse, Stefan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1308882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1308882</guid><dc:creator><![CDATA[Stefan71242]]></dc:creator><pubDate>Tue, 19 Jun 2007 08:44:06 GMT</pubDate></item></channel></rss>