Code:
int CreateExpenseWnd()
{
char error[701];
// register expense module class
if( RegWndClassEx(sizeof(WNDCLASSEX), 0, ExpWndProc, 0, 0, g_hInst, LoadIcon(NULL, IDI_APPLICATION), LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_WINDOW+1), NULL, g_szExp, LoadIcon(NULL, IDI_APPLICATION)) != 0 )\
{
sprintf(error, "Could not initialize Expense module. (Error Code: 0050; %u)", GetLastError());
MessageBox(NULL, error, "Error", MB_ICONEXCLAMATION);
return(-1);
}
// create Expense window
if( (hExp = CreateWindow(g_szExp, "Expenses", WS_BORDER | WS_VISIBLE, 50, 50, 600, 400, NULL, NULL, g_hInst, NULL)) == NULL )
{
sprintf(error, "Could not initialize Expense module. (Error Code: 0051; %u)", GetLastError());
MessageBox(NULL, error, "Error", MB_ICONEXCLAMATION);
return(-1);
}
return(0);
}
LRESULT CALLBACK ExpWndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
char error[701];
LVCOLUMN LVColumn;
LVITEM LVItem;
switch(Message)
{
case WM_CREATE:
// create the different controls
hLV_Wnd = CreateWindow("SysListView32", NULL, WS_CHILD | WS_VISIBLE | LVS_REPORT | WS_BORDER | WS_VSCROLL | WS_EX_RIGHTSCROLLBAR | WS_TABSTOP, 100, 100, 500, 400, hParent, (HMENU)iLVID, g_hInst, NULL);
if( hLV_Wnd == NULL )
{
sprintf(error, "Could not initialize Expense module. (Error Code: 0052; %u)", GetLastError());
MessageBox(NULL, error, "Error", MB_ICONEXCLAMATION);
return(-1);
}
LVColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT;
LVColumn.fmt = LVCFMT_LEFT;
LVColumn.cx = (int)(500 * 0.17);
LVColumn.pszText = "Date";
LVColumn.cchTextMax = 4;
LVColumn.iSubItem = 1;
LVColumn.iImage = 0;
LVColumn.iOrder = 0;
ListView_InsertColumn(hLV_Wnd, 1, &LVColumn);
LVColumn.cx = (int)(500 * 0.50);
LVColumn.pszText = "Description";
LVColumn.cchTextMax = 11;
LVColumn.iSubItem = 2;
ListView_InsertColumn(hLV_Wnd, 2, &LVColumn);
LVColumn.cx = (int)(500 * 0.17);
LVColumn.pszText = "Amount";
LVColumn.cchTextMax = 6;
LVColumn.iSubItem = 3;
ListView_InsertColumn(hLV_Wnd, 3, &LVColumn);
LVColumn.cx = (int)(500 * 0.17);
LVColumn.pszText = "Paid";
LVColumn.cchTextMax = 4;
LVColumn.iSubItem = 4;
ListView_InsertColumn(hLV_Wnd, 4, &LVColumn);
break;
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return(DefWindowProc(hwnd, Message, wParam, lParam));
}
return(DefWindowProc(hwnd, Message, wParam, lParam));
}
When I run the program, I get an error message (the error code 0050 with GetLastError() returning 87 -- this error message is "The parameter is incorrect." when looked up). I don't understand what is wrong with it. If you can tell me, then please let me know!