mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 02:25:17 +00:00
Make icon drawing mode corresponding to the current display settings (4,8,16,24,32 bit colors)
By Semyon "Tappak" Novikov. svn path=/trunk/; revision=10866
This commit is contained in:
parent
57dbd89701
commit
380da77736
1 changed files with 24 additions and 4 deletions
|
@ -17,7 +17,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: control.c,v 1.4 2004/06/30 12:10:12 ekohl Exp $
|
||||
/* $Id: control.c,v 1.5 2004/09/15 16:03:09 fireball Exp $
|
||||
*
|
||||
* PROJECT: ReactOS System Control Panel
|
||||
* FILE: lib/cpl/system/control.c
|
||||
|
@ -45,7 +45,6 @@
|
|||
#define CTL_DEBUG(x)
|
||||
#endif
|
||||
|
||||
|
||||
#define MYWNDCLASS _T("CTLPANELCLASS")
|
||||
|
||||
typedef LONG (CALLBACK *CPLAPPLETFUNC)(HWND hwndCPL, UINT uMsg, LPARAM lParam1, LPARAM lParam2);
|
||||
|
@ -63,6 +62,7 @@ typedef struct CPLLISTENTRY
|
|||
HWND hListView;
|
||||
HINSTANCE hInst;
|
||||
HWND hMainWnd;
|
||||
DEVMODE pDevMode;
|
||||
|
||||
void dbgprint(TCHAR *format,...)
|
||||
{
|
||||
|
@ -81,11 +81,31 @@ void PopulateCPLList(HWND hLisCtrl)
|
|||
TCHAR pszSearchPath[MAX_PATH];
|
||||
HIMAGELIST hImgListSmall;
|
||||
HIMAGELIST hImgListLarge;
|
||||
int C_Depth;
|
||||
|
||||
GetSystemDirectory(pszSearchPath,MAX_PATH);
|
||||
_tcscat(pszSearchPath,_T("\\*.cpl"));
|
||||
hFind = FindFirstFile(pszSearchPath,&fd);
|
||||
hImgListSmall = ImageList_Create(16,16,ILC_COLOR | ILC_MASK,256,1000);
|
||||
hImgListLarge = ImageList_Create(32,32,ILC_COLOR | ILC_MASK,256,1000);
|
||||
|
||||
/* Icon drawing mode */
|
||||
pDevMode.dmSize = sizeof(DEVMODE);
|
||||
pDevMode.dmDriverExtra = 0;
|
||||
|
||||
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&pDevMode);
|
||||
switch(pDevMode.dmBitsPerPel)
|
||||
{
|
||||
case 32: C_Depth = ILC_COLOR32; break;
|
||||
case 24: C_Depth = ILC_COLOR24; break;
|
||||
case 16: C_Depth = ILC_COLOR16; break;
|
||||
case 8: C_Depth = ILC_COLOR8; break;
|
||||
case 4: C_Depth = ILC_COLOR4; break;
|
||||
default: C_Depth = ILC_COLOR; break;
|
||||
}
|
||||
|
||||
hImgListSmall = ImageList_Create(16,16,C_Depth | ILC_MASK,256,1000);
|
||||
hImgListLarge = ImageList_Create(32,32,C_Depth | ILC_MASK,256,1000);
|
||||
|
||||
|
||||
while(hFind != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
CPLLISTENTRY *pEntry;
|
||||
|
|
Loading…
Reference in a new issue