+ {
+ wxString sTmp = sFullString;
+
+ bFoundMneumonic = TRUE;
+ sTmp.Remove(nIndex);
+ rDC.GetTextExtent( sTmp
+ ,(long *)&nWidth
+ ,(long *)&nHeight
+ );
+ sTmp = sFullString[nIndex + 1];
+ rDC.GetTextExtent( sTmp
+ ,(long *)&nCharWidth
+ ,(long *)&nHeight
+ );
+ sFullString.Replace(sTgt.c_str(), "", TRUE);
+ }
+
+ //
+ // Draw the main item text sans the accel text
+ //
+ POINTL vPntStart = {nX, rRect.y + 4};
+ ::GpiCharStringAt( rDC.GetHPS()
+ ,&vPntStart
+ ,sFullString.length()
+ ,(PCH)sFullString.c_str()
+ );
+ if (bFoundMneumonic)
+ {
+ //
+ // Underline the mneumonic -- still won't work, but at least it "looks" right
+ //
+ wxPen vPen;
+ POINTL vPntEnd = {nX + nWidth + nCharWidth - 3, rRect.y + 2}; //CharWidth is bit wide
+
+ vPntStart.x = nX + nWidth - 1;
+ vPntStart.y = rRect.y + 2; // Make it look pretty!
+ vPen = wxPen(vColText, 1, wxSOLID); // Assuming we are always black
+ rDC.SetPen(vPen);
+ ::GpiMove(hPS, &vPntStart);
+ ::GpiLine(hPS, &vPntEnd);
+ }
+
+ //
+ // Now draw the accel text
+ //
+ if (bFoundAccel)
+ {
+ size_t nWidth;
+ size_t nHeight;