|
|
|
@@ -6,7 +6,7 @@
|
|
|
|
|
// Created: 04/01/98
|
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
|
// Copyright: (c) Julian Smart and Markus Holzem
|
|
|
|
|
// Licence: wxWindows license
|
|
|
|
|
// Licence: wxWindows license
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
#ifdef __GNUG__
|
|
|
|
@@ -41,127 +41,136 @@
|
|
|
|
|
|
|
|
|
|
wxColour wxSystemSettings::GetSystemColour(int index)
|
|
|
|
|
{
|
|
|
|
|
COLORREF ref = ::GetSysColor(index);
|
|
|
|
|
wxColour col(GetRValue(ref), GetGValue(ref), GetBValue(ref));
|
|
|
|
|
return col;
|
|
|
|
|
switch (index)
|
|
|
|
|
{
|
|
|
|
|
case wxSYS_COLOUR_LISTBOX:
|
|
|
|
|
return *wxWHITE;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
COLORREF ref = ::GetSysColor(index);
|
|
|
|
|
wxColour col(GetRValue(ref), GetGValue(ref), GetBValue(ref));
|
|
|
|
|
return col;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wxFont wxSystemSettings::GetSystemFont(int index)
|
|
|
|
|
{
|
|
|
|
|
HFONT hFont = (HFONT) ::GetStockObject(index);
|
|
|
|
|
if ( hFont != (HFONT) NULL )
|
|
|
|
|
{
|
|
|
|
|
LOGFONT lf;
|
|
|
|
|
if ( ::GetObject(hFont, sizeof(LOGFONT), &lf) != 0 )
|
|
|
|
|
{
|
|
|
|
|
// In fontdlg.cpp
|
|
|
|
|
return wxCreateFontFromLogFont(&lf);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return wxNullFont;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return wxNullFont;
|
|
|
|
|
}
|
|
|
|
|
HFONT hFont = (HFONT) ::GetStockObject(index);
|
|
|
|
|
if ( hFont != (HFONT) NULL )
|
|
|
|
|
{
|
|
|
|
|
LOGFONT lf;
|
|
|
|
|
if ( ::GetObject(hFont, sizeof(LOGFONT), &lf) != 0 )
|
|
|
|
|
{
|
|
|
|
|
// In fontdlg.cpp
|
|
|
|
|
return wxCreateFontFromLogFont(&lf);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return wxNullFont;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return wxNullFont;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Get a system metric, e.g. scrollbar size
|
|
|
|
|
int wxSystemSettings::GetSystemMetric(int index)
|
|
|
|
|
{
|
|
|
|
|
switch ( index)
|
|
|
|
|
{
|
|
|
|
|
switch ( index)
|
|
|
|
|
{
|
|
|
|
|
#ifdef __WIN32__
|
|
|
|
|
case wxSYS_MOUSE_BUTTONS:
|
|
|
|
|
return ::GetSystemMetrics(SM_CMOUSEBUTTONS);
|
|
|
|
|
return ::GetSystemMetrics(SM_CMOUSEBUTTONS);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
case wxSYS_BORDER_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXBORDER);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXBORDER);
|
|
|
|
|
case wxSYS_BORDER_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYBORDER);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYBORDER);
|
|
|
|
|
case wxSYS_CURSOR_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXCURSOR);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXCURSOR);
|
|
|
|
|
case wxSYS_CURSOR_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYCURSOR);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYCURSOR);
|
|
|
|
|
case wxSYS_DCLICK_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXDOUBLECLK);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXDOUBLECLK);
|
|
|
|
|
case wxSYS_DCLICK_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYDOUBLECLK);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYDOUBLECLK);
|
|
|
|
|
#if defined(__WIN32__) && defined(SM_CXDRAG)
|
|
|
|
|
case wxSYS_DRAG_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXDRAG);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXDRAG);
|
|
|
|
|
case wxSYS_DRAG_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYDRAG);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYDRAG);
|
|
|
|
|
case wxSYS_EDGE_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXEDGE);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXEDGE);
|
|
|
|
|
case wxSYS_EDGE_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYEDGE);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYEDGE);
|
|
|
|
|
#endif
|
|
|
|
|
case wxSYS_HSCROLL_ARROW_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXHSCROLL);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXHSCROLL);
|
|
|
|
|
case wxSYS_HSCROLL_ARROW_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYHSCROLL);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYHSCROLL);
|
|
|
|
|
case wxSYS_HTHUMB_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXHTHUMB);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXHTHUMB);
|
|
|
|
|
case wxSYS_ICON_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXICON);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXICON);
|
|
|
|
|
case wxSYS_ICON_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYICON);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYICON);
|
|
|
|
|
case wxSYS_ICONSPACING_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXICONSPACING);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXICONSPACING);
|
|
|
|
|
case wxSYS_ICONSPACING_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYICONSPACING);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYICONSPACING);
|
|
|
|
|
case wxSYS_WINDOWMIN_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXMIN);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXMIN);
|
|
|
|
|
case wxSYS_WINDOWMIN_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYMIN);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYMIN);
|
|
|
|
|
case wxSYS_SCREEN_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXSCREEN);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXSCREEN);
|
|
|
|
|
case wxSYS_SCREEN_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYSCREEN);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYSCREEN);
|
|
|
|
|
|
|
|
|
|
#if defined(__WIN32__) && defined(SM_CXSIZEFRAME)
|
|
|
|
|
case wxSYS_FRAMESIZE_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXSIZEFRAME);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXSIZEFRAME);
|
|
|
|
|
case wxSYS_FRAMESIZE_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYSIZEFRAME);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYSIZEFRAME);
|
|
|
|
|
case wxSYS_SMALLICON_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXSMICON);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXSMICON);
|
|
|
|
|
case wxSYS_SMALLICON_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYSMICON);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYSMICON);
|
|
|
|
|
#endif
|
|
|
|
|
case wxSYS_HSCROLL_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYHSCROLL);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYHSCROLL);
|
|
|
|
|
case wxSYS_VSCROLL_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXVSCROLL);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXVSCROLL);
|
|
|
|
|
case wxSYS_VSCROLL_ARROW_X:
|
|
|
|
|
return ::GetSystemMetrics(SM_CXVSCROLL);
|
|
|
|
|
return ::GetSystemMetrics(SM_CXVSCROLL);
|
|
|
|
|
case wxSYS_VSCROLL_ARROW_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYVSCROLL);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYVSCROLL);
|
|
|
|
|
case wxSYS_VTHUMB_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYVTHUMB);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYVTHUMB);
|
|
|
|
|
case wxSYS_CAPTION_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYCAPTION);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYCAPTION);
|
|
|
|
|
case wxSYS_MENU_Y:
|
|
|
|
|
return ::GetSystemMetrics(SM_CYMENU);
|
|
|
|
|
return ::GetSystemMetrics(SM_CYMENU);
|
|
|
|
|
#if defined(__WIN32__) && defined(SM_NETWORK)
|
|
|
|
|
case wxSYS_NETWORK_PRESENT:
|
|
|
|
|
return ::GetSystemMetrics(SM_NETWORK) & 0x0001;
|
|
|
|
|
return ::GetSystemMetrics(SM_NETWORK) & 0x0001;
|
|
|
|
|
#endif
|
|
|
|
|
case wxSYS_PENWINDOWS_PRESENT:
|
|
|
|
|
return ::GetSystemMetrics(SM_PENWINDOWS);
|
|
|
|
|
return ::GetSystemMetrics(SM_PENWINDOWS);
|
|
|
|
|
#if defined(__WIN32__) && defined(SM_SHOWSOUNDS)
|
|
|
|
|
case wxSYS_SHOW_SOUNDS:
|
|
|
|
|
return ::GetSystemMetrics(SM_SHOWSOUNDS);
|
|
|
|
|
return ::GetSystemMetrics(SM_SHOWSOUNDS);
|
|
|
|
|
#endif
|
|
|
|
|
case wxSYS_SWAP_BUTTONS:
|
|
|
|
|
return ::GetSystemMetrics(SM_SWAPBUTTON);
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
return ::GetSystemMetrics(SM_SWAPBUTTON);
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|