ReactOS 0.4.15-dev-7906-g1b85a5f
main.c File Reference
#include "main.h"
Include dependency graph for main.c:

Go to the source code of this file.

Macros

#define NUM_APPLETS   (2)
 

Functions

BOOL InitPropSheetPage (PROPSHEETHEADER *ppsh, WORD idDlg, DLGPROC DlgProc)
 
BOOL CALLBACK PropSheetAddPage (HPROPSHEETPAGE hpage, LPARAM lParam)
 
LONG CALLBACK CPlApplet (HWND hwndCpl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
 
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpReserved)
 

Variables

HINSTANCE hApplet = 0
 
APPLET Applets [NUM_APPLETS]
 

Macro Definition Documentation

◆ NUM_APPLETS

#define NUM_APPLETS   (2)

Definition at line 30 of file main.c.

Function Documentation

◆ CPlApplet()

LONG CALLBACK CPlApplet ( HWND  hwndCpl,
UINT  uMsg,
LPARAM  lParam1,
LPARAM  lParam2 
)

Definition at line 85 of file main.c.

89{
90 UINT i = (UINT)lParam1;
91
92 switch(uMsg)
93 {
94 case CPL_INIT:
95 return TRUE;
96
97 case CPL_GETCOUNT:
98 return NUM_APPLETS;
99
100 case CPL_INQUIRE:
101 if (i < NUM_APPLETS)
102 {
103 CPLINFO *CPlInfo = (CPLINFO*)lParam2;
104 CPlInfo->lData = lParam1;
105 CPlInfo->idIcon = Applets[i].idIcon;
106 CPlInfo->idName = Applets[i].idName;
107 CPlInfo->idInfo = Applets[i].idDescription;
108 }
109 else
110 {
111 return TRUE;
112 }
113 break;
114
115 case CPL_DBLCLK:
116 if (i < NUM_APPLETS)
117 Applets[i].AppletProc(hwndCpl, uMsg, lParam1, lParam2);
118 else
119 return TRUE;
120 break;
121
122 case CPL_STARTWPARMSW:
123 if (i < NUM_APPLETS)
124 return Applets[i].AppletProc(hwndCpl, uMsg, lParam1, lParam2);
125 break;
126 }
127
128 return FALSE;
129}
#define CPL_INQUIRE
Definition: cpl.h:14
#define CPL_DBLCLK
Definition: cpl.h:16
#define CPL_STARTWPARMSW
Definition: cpl.h:21
#define CPL_INIT
Definition: cpl.h:12
#define CPL_GETCOUNT
Definition: cpl.h:13
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define NUM_APPLETS
Definition: main.c:30
APPLET Applets[NUM_APPLETS]
Definition: main.c:37
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned int UINT
Definition: ndis.h:50
int idDescription
Definition: hotplug.h:37
int idName
Definition: hotplug.h:36
int idIcon
Definition: hotplug.h:35
APPLET_PROC AppletProc
Definition: hotplug.h:38
Definition: cpl.h:24
LONG_PTR lData
Definition: cpl.h:28
int idName
Definition: cpl.h:26
int idInfo
Definition: cpl.h:27
int idIcon
Definition: cpl.h:25

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinstDLL,
DWORD  dwReason,
LPVOID  lpReserved 
)

Definition at line 133 of file main.c.

136{
138 UNREFERENCED_PARAMETER(lpReserved);
139
140 switch(dwReason)
141 {
143 InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX);
146
147 hApplet = hinstDLL;
148 break;
149 }
150
151 return TRUE;
152}
DWORD dwReason
Definition: misc.cpp:154
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
Definition: commctrl.c:893
HINSTANCE hApplet
Definition: main.c:33
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
static VOID InitControls(HWND hwnd)
Definition: mplay32.c:303
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
struct tagINITCOMMONCONTROLSEX INITCOMMONCONTROLSEX
#define ICC_UPDOWN_CLASS
Definition: commctrl.h:62
#define ICC_BAR_CLASSES
Definition: commctrl.h:60
#define ICC_LISTVIEW_CLASSES
Definition: commctrl.h:58

◆ InitPropSheetPage()

BOOL InitPropSheetPage ( PROPSHEETHEADER ppsh,
WORD  idDlg,
DLGPROC  DlgProc 
)

Definition at line 45 of file main.c.

46{
47 HPROPSHEETPAGE hPage;
48 PROPSHEETPAGE psp;
49
50 if (ppsh->nPages < MAX_CPL_PAGES)
51 {
52 ZeroMemory(&psp, sizeof(psp));
53 psp.dwSize = sizeof(psp);
54 psp.dwFlags = PSP_DEFAULT;
55 psp.hInstance = hApplet;
56 psp.pszTemplate = MAKEINTRESOURCE(idDlg);
57 psp.pfnDlgProc = DlgProc;
58
59 hPage = CreatePropertySheetPage(&psp);
60 if (hPage != NULL)
61 {
62 return PropSheetAddPage(hPage, (LPARAM)ppsh);
63 }
64 }
65
66 return FALSE;
67}
WORD idDlg
Definition: desk.c:121
DLGPROC DlgProc
Definition: desk.c:122
#define NULL
Definition: types.h:112
BOOL CALLBACK PropSheetAddPage(HPROPSHEETPAGE hpage, LPARAM lParam)
Definition: main.c:70
#define MAX_CPL_PAGES
Definition: main.h:47
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
#define CreatePropertySheetPage
Definition: prsht.h:399
#define PSP_DEFAULT
Definition: prsht.h:22
#define PROPSHEETPAGE
Definition: prsht.h:389
#define ZeroMemory
Definition: winbase.h:1712
LONG_PTR LPARAM
Definition: windef.h:208
#define MAKEINTRESOURCE
Definition: winuser.h:591

◆ PropSheetAddPage()

BOOL CALLBACK PropSheetAddPage ( HPROPSHEETPAGE  hpage,
LPARAM  lParam 
)

Definition at line 70 of file main.c.

71{
73 if (ppsh != NULL && ppsh->nPages < MAX_CPL_PAGES)
74 {
75 ppsh->phpage[ppsh->nPages++] = hpage;
76 return TRUE;
77 }
78
79 return FALSE;
80}
LPARAM lParam
Definition: combotst.c:139
#define PROPSHEETHEADER
Definition: prsht.h:392

Referenced by InitPropSheetPage().

Variable Documentation

◆ Applets

APPLET Applets[NUM_APPLETS]
Initial value:
=
{
}
#define IDC_CPLICON_1
Definition: resource.h:4
#define IDS_CPLDESCRIPTION_1
Definition: resource.h:8
#define IDS_CPLNAME_1
Definition: resource.h:6
LONG APIENTRY KeyboardApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
Definition: keyboard.c:357
LONG APIENTRY MouseApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
Definition: mouse.c:1829
#define IDS_CPLDESCRIPTION_2
Definition: resource.h:39
#define IDC_CPLICON_2
Definition: resource.h:6
#define IDS_CPLNAME_2
Definition: resource.h:38

Definition at line 37 of file main.c.

Referenced by CPlApplet().

◆ hApplet

HINSTANCE hApplet = 0

Definition at line 33 of file main.c.

Referenced by DllMain(), and InitPropSheetPage().