Name/Tiel eines Tabs ermitteln
-
Das kann doch nicht so schwer sein den Namen/Titel eines Tabs/Registerkarte zu ermitteln. Das TabCtrl läuft sonst wunderbar.
Wenn ich bspw. auf das Tab mit dem Namen "abc" klicke, dann brauche ich den Namen "abc" auch in einer anderen Klasse. Ich kann zwar die Nummer des Tabs ermitteln, aber nict den Namen/Titel. Was ich auch mache nichts will funktionieren.
Hat jemand eine Idee wie ich an den Namen komme?
-
int tabitem=0; CString sText; char label[64]; TC_ITEM item; item.mask = TCIF_TEXT; item.pszText = label; item.cchTextMax = 63; GetItem(tabitem, &item); sText = label; TRACE("Labelname = " + sText + "\n"); CString str = CString(sText);
einbauen musst du es selber
-
Ich dreh am Rad! Ich hatte dies bereits so ähnlich versucht aber mehr als Fehler hatte mir dies nicht eingebracht. Wahrscheinlich mache ich mal wieder einen Anfängerfehler.
Das Problem scheint daran zu liegen, dass er nicht wirklich auf CMyTabCtrl in dem GetTitel liegt zugreift. Ich versuche in CTuWas mit GetTitel den Namen des Tabs auszugeben. In CtuWas ist CMyTabCtrl.h includiert! Egal was ich auch mache es hat keinen Docht.
-
Ich habe mal mit ein paar Haltepunkte versucht den Fehler weiter einzugrenzen. Ich habe mal den Code von Devil eingebunden:
int tabitem=0; CString sText; char label[64]; TC_ITEM item; item.mask = TCIF_TEXT; item.pszText = label; item.cchTextMax = 63; GetItem(tabitem, &item); sText = label; ...
item.pszText = label, da aber label folgenden Müll enthält:
0x00328510 "ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ…2"}. Ich bekomme einen Debug Assertation failed.Was läuft hier bloß falsch?
-
Ich bekomme den gleichen Fehler. Bei mir sieht es so aus:
CString CTabCtrl::GetTabName(int TabIn) { TCITEM tcItem; tcItem.mask = TCIF_TEXT; GetItem(TabIn, &tcItem); CString puf; puf.Format("%d",tcItem.pszText); return puf; }
Langsam steigt der Frustpegel dramatisch an. Kann uns jemand helfen?