#pragma hdrstop
#endif
-#if wxUSE_TEXTCTRL
+#if wxUSE_TEXTCTRL && !(defined(__SMARTPHONE__) && defined(__WXWINCE__))
#ifndef WX_PRECOMP
#include "wx/textctrl.h"
size_t lenOld = GetValue().length();
wxUint32 code = event.GetRawKeyCode();
- ::keybd_event(code, 0, 0 /* key press */, 0);
- ::keybd_event(code, 0, KEYEVENTF_KEYUP, 0);
+ ::keybd_event((BYTE)code, 0, 0 /* key press */, 0);
+ ::keybd_event((BYTE)code, 0, KEYEVENTF_KEYUP, 0);
// assume that any alphanumeric key changes the total number of characters
// in the control - this should work in 99% of cases
case WM_SETCURSOR:
// ok, so it is hardcoded - do we really nee to
// customize it?
- ::SetCursor(GetHcursorOf(wxCursor(wxCURSOR_HAND)));
- *result = TRUE;
- break;
+ {
+ wxCursor cur(wxCURSOR_HAND);
+ ::SetCursor(GetHcursorOf(cur));
+ *result = TRUE;
+ break;
+ }
case WM_MOUSEMOVE:
case WM_LBUTTONDOWN:
return wxTextCtrlBase::MSWOnNotify(idCtrl, lParam, result);
}
+// ----------------------------------------------------------------------------
+// Default colors for MSW text control
+//
+// Set default background color to the native white instead of
+// the default wxSYS_COLOUR_BTNFACE (is triggered with wxNullColour).
+// ----------------------------------------------------------------------------
+
+wxVisualAttributes wxTextCtrl::GetDefaultAttributes() const
+{
+ wxVisualAttributes attrs;
+ attrs.font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
+ attrs.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
+ attrs.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); //white
+
+ return attrs;
+}
+
// ----------------------------------------------------------------------------
// colour setting for the rich edit controls
// ----------------------------------------------------------------------------
const wxArrayInt& tabs = style.GetTabs();
- pf.cTabCount = wxMin(tabs.GetCount(), MAX_TAB_STOPS);
+ pf.cTabCount = (SHORT)wxMin(tabs.GetCount(), MAX_TAB_STOPS);
size_t i;
for (i = 0; i < (size_t) pf.cTabCount; i++)
{
(void) ::SendMessage(GetHwnd(), EM_GETCHARFORMAT,
SCF_SELECTION, (LPARAM)&cf) ;
+
LOGFONT lf;
lf.lfHeight = cf.yHeight;
lf.lfWidth = 0;
lf.lfClipPrecision = 0;
lf.lfEscapement = 0;
wxStrcpy(lf.lfFaceName, cf.szFaceName);
+
+ //NOTE: we _MUST_ set each of these values to _something_ since we
+ //do not call wxZeroMemory on the LOGFONT lf
if (cf.dwEffects & CFE_ITALIC)
lf.lfItalic = TRUE;
+ else
+ lf.lfItalic = FALSE;
+
lf.lfOrientation = 0;
lf.lfPitchAndFamily = cf.bPitchAndFamily;
lf.lfQuality = 0;
+
if (cf.dwEffects & CFE_STRIKEOUT)
lf.lfStrikeOut = TRUE;
+ else
+ lf.lfStrikeOut = FALSE;
+
if (cf.dwEffects & CFE_UNDERLINE)
lf.lfUnderline = TRUE;
+ else
+ lf.lfUnderline = FALSE;
+
if (cf.dwEffects & CFE_BOLD)
lf.lfWeight = FW_BOLD;
+ else
+ lf.lfWeight = FW_NORMAL;
wxFont font = wxCreateFontFromLogFont(& lf);
if (font.Ok())
#endif // wxUSE_RICHEDIT
-#endif // wxUSE_TEXTCTRL
+#endif // wxUSE_TEXTCTRL && !(__SMARTPHONE__ && __WXWINCE__)