don't crash in wxGetWindowXXX() if HWND is 0

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-12-07 00:08:02 +00:00
parent be050baf48
commit 5acc0d5f32

View File

@@ -1381,43 +1381,30 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height)
wxString WXDLLEXPORT wxGetWindowText(WXHWND hWnd) wxString WXDLLEXPORT wxGetWindowText(WXHWND hWnd)
{ {
wxString str; wxString str;
if ( hWnd )
{
int len = GetWindowTextLength((HWND)hWnd) + 1; int len = GetWindowTextLength((HWND)hWnd) + 1;
GetWindowText((HWND)hWnd, str.GetWriteBuf(len), len); ::GetWindowText((HWND)hWnd, str.GetWriteBuf(len), len);
str.UngetWriteBuf(); str.UngetWriteBuf();
}
return str; return str;
} }
wxString WXDLLEXPORT wxGetWindowClass(WXHWND hWnd) wxString WXDLLEXPORT wxGetWindowClass(WXHWND hWnd)
{ {
#ifdef __WXMICROWIN__
// MICROWIN_TODO
return wxEmptyString;
#else
wxString str; wxString str;
// MICROWIN_TODO
#ifndef __WXMICROWIN__
if ( hWnd )
{
int len = 256; // some starting value int len = 256; // some starting value
for ( ;; ) for ( ;; )
{ {
// as we've #undefined GetClassName we must now manually choose the int count = ::GetClassName((HWND)hWnd, str.GetWriteBuf(len), len);
// right function to call
int count =
#ifndef __WIN32__
GetClassName
#else // Win32
#ifdef UNICODE
GetClassNameW
#else // !Unicode
#ifdef __TWIN32__
GetClassName
#else // !Twin32
GetClassNameA
#endif // Twin32/!Twin32
#endif // Unicode/ANSI
#endif // Win16/32
((HWND)hWnd, str.GetWriteBuf(len), len);
str.UngetWriteBuf(); str.UngetWriteBuf();
if ( count == len ) if ( count == len )
@@ -1431,9 +1418,10 @@ wxString WXDLLEXPORT wxGetWindowClass(WXHWND hWnd)
break; break;
} }
} }
}
#endif // !__WXMICROWIN__
return str; return str;
#endif
} }
WXWORD WXDLLEXPORT wxGetWindowId(WXHWND hWnd) WXWORD WXDLLEXPORT wxGetWindowId(WXHWND hWnd)