# include <fstream>
#endif
+#if defined(__EMX__) && !defined(MLE_INDEX)
+#define MLE_INDEX 0
+#define MLE_RGB 1
+#endif
+
// ----------------------------------------------------------------------------
// event tables and other macros
//
// OS2 uses normal coordinates, no bassackwards Windows ones
//
- vPos.y = pParent->GetSize().y - (vPos.y + rSize.y);
+// vPos.y = pParent->GetSize().y - (vPos.y + rSize.y);
}
else
{
RECTL vRect;
::WinQueryWindowRect(HWND_DESKTOP, &vRect);
- vPos.y = vRect.yTop - (vPos.y + rSize.y);
+// vPos.y = vRect.yTop - (vPos.y + rSize.y);
}
m_windowStyle = lStyle;
,WC_MLE // Window class
,(PSZ)rsValue.c_str() // Initial Text
,(ULONG)lSstyle // Style flags
- ,(LONG)vPos.x // X pos of origin
- ,(LONG)vPos.y // Y pos of origin
- ,(LONG)rSize.x // field width
- ,(LONG)rSize.y // field height
+ ,(LONG)0 // X pos of origin
+ ,(LONG)0 // Y pos of origin
+ ,(LONG)0 // field width
+ ,(LONG)0 // field height
,(HWND)GetHwndOf(pParent) // owner window handle (same as parent
,HWND_TOP // initial z position
,(ULONG)vId // Window identifier
,WC_ENTRYFIELD // Window class
,(PSZ)rsValue.c_str() // Initial Text
,(ULONG)lSstyle // Style flags
- ,(LONG)vPos.x // X pos of origin
- ,(LONG)vPos.y // Y pos of origin
- ,(LONG)rSize.x // field width
- ,(LONG)rSize.y // field height
+ ,(LONG)0 // X pos of origin
+ ,(LONG)0 // Y pos of origin
+ ,(LONG)0 // field width
+ ,(LONG)0 // field height
,(HWND)GetHwndOf(pParent) // owner window handle (same as parent
,HWND_TOP // initial z position
,(ULONG)vId // Window identifier
const wxString& rsValue
)
{
+ if (m_defaultStyle.HasFont() || m_defaultStyle.HasTextColour())
+ {
+ long lStart;
+ long lEnd;
+
+ GetSelection( &lStart
+ ,&lEnd
+ );
+ SetStyle( lStart
+ ,lEnd
+ ,m_defaultStyle
+ );
+ }
::WinSetWindowText(GetHwnd(), rsValue.c_str());
AdjustSpaceLimit();
} // end of wxTextCtrl::WriteText
::WinSendMsg(hWnd, EM_SETSEL, MPFROM2SHORT((USHORT)lFromChar, (USHORT)lToChar), (MPARAM)0);
} // end of wxTextCtrl::SetSelection
+bool wxTextCtrl::SetStyle(
+ long lStart
+, long lEnd
+, const wxTextAttr& rStyle
+)
+{
+ HWND hWnd = GetHwnd();
+ //
+ // Order the range if needed
+ //
+ if (lStart > lEnd)
+ {
+ long lTmp = lStart;
+
+ lStart = lEnd;
+ lEnd = lTmp;
+ }
+
+ //
+ // We can only change the format of the selection, so select the range we
+ // want and restore the old selection later
+ long lStartOld;
+ long lEndOld;
+
+ GetSelection( &lStartOld
+ ,&lEndOld
+ );
+
+ //
+ // But do we really have to change the selection?
+ //
+ bool bChangeSel = lStart != lStartOld || lEnd != lEndOld;
+
+ if (bChangeSel)
+ {
+ if (m_bIsMLE)
+ ::WinSendMsg(hWnd, MLM_SETSEL, MPFROM2SHORT((USHORT)lStart, (USHORT)lEnd), 0);
+ else
+ ::WinSendMsg(hWnd, EM_SETSEL, MPFROM2SHORT((USHORT)lStart, (USHORT)lEnd), 0);
+ }
+ //
+ // TODO:: finish this by setting fonts and colors
+ //
+ return TRUE;
+} // end of wxTextCtrl::SetStyle
+
bool wxTextCtrl::LoadFile(
const wxString& rsFile
)