помогите пожалуйста, что не делаю одни ошибки...
Код:
#include <Windows.h>
char s[100];
char s2[100];
WNDCLASS wc;
MSG msg;
HWND hWnd;
HINSTANCE hInst;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
// функция WinMain вызывается системой как начальная точка входа
// hInstance идентифицирует текущий образец прикладной программы.
// hPrevInstance идентифицирует предыдущий образец прикладной программы.
// lpCmdLine указывает на строку с нулевым символом в конце, определяющую командную строку для прикладной программы.
// nCmdShow определяет, как окно должно быть показано
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
hInst = hInstance; //идентификатор текущего приложения
wc.style = CS_HREDRAW | CS_VREDRAW; //стиль
wc.lpfnWndProc = WndProc; //указатель на функцию окна
wc.cbClsExtra = 0; //нет дополнительных данных класса
wc.cbWndExtra = 0; // нет дополнительных данных окна
wc.hInstance = hInstance; //идентификатор текущего приложения
wc.hIcon = LoadIcon(hInstance, NULL); //иконка
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW +1); //цвет фона окна
wc.lpszMenuName = NULL; //меню нет
wc.lpszClassName = TEXT("lbWinApi"); //имя программы
RegisterClass(&wc); //регистрация класса окна
hWnd = CreateWindow(TEXT("lbWinApi"), TEXT("Каркас приложения"), // (hWnd = CreateWindow("lbWinApi") - Имя класса окна _T ("Каркас приложения")- Заголовок окна
WS_CAPTION | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, // WS_CAPTION | WS_SYSMENU - стиль окна CW_USEDEFAULT, CW_USEDEFAULT - размеры окна
400, 250, NULL, NULL, hInstance, NULL);
// Создаем главное окно приложения
if (!hWnd) return FALSE;
ShowWindow(hWnd, SW_SHOW); // показать окно
// Main message loop:
while (GetMessage(&msg, NULL, 0, 0)) // Цикл обработки сообщений
{
TranslateMessage(&msg); //функция нажатия кодов нажатой клавиши
DispatchMessage(&msg); //посылает сообщение функции WndProc()
}
return (int) msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) //функции окна
{
// ini wmId, wmevent;
//PAINTSTRUCT ps; //создаём экземпляр структуры графического вывода
//HDC hdc; //создаём контекст устройства
//RECT rect;
TCHAR text[] = TEXT("Каркас приложения на WinApi"); //вывод текста в окне программы
HWND hweIn;
//HWND hweOut;
switch (message)
{
case WM_CREATE :
hweIn = CreateWindow(TEXT("EDIT"), TEXT("1 5 7 9 2 0 3 8 4 6"),
WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT | ES_NUMBER,
10, 10, 250, 20, hWnd, NULL, hInst, NULL);
SendMessage(hweIn, WM_GETTEXT, 100, (LPARAM) s);
hweIn = CreateWindow(TEXT("BUTTON"), TEXT("2 5 7 8 5 0 3 8 4 6"),
WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT | ES_NUMBER,
10, 50, 250, 20, hWnd, NULL, hInst, NULL);
hweIn = CreateWindow(TEXT("STATIC"), TEXT("3 5 7 7 4 9 3 8 4 6"),
WS_VISIBLE | WS_CHILD | WS_BORDER | ES_LEFT | ES_NUMBER,
10, 90, 250, 20, hWnd, NULL, hInst, NULL);
//SendMessage(hweOut, WM_SETTEXT, -1, (LPARAM) s2);
DWORD WINAPI ThredFunc(LPVOID lpParam);
{
char szMsg[80];
wsprintf(szMsg, "Parameter = %d", *(DWORD*)lpParam);
MessageBox(NULL, szMsg, " ThreadFunc", MB_OK);
return 0;
}
VOID main(VOID)
{
DWORD dwthreadId, dwThrdParam = 1;
HANDLE hthread;
char szMsg[80];
hTread = CreateThread(
NULL, //атрибут безопасности по умолчанию
0, //размер стека по умолчанию
ThreadFunc, //фнукци потока
&dwThrdParam, //аргумент функции потока
0, //флажки создания используются по умолчанию
&dwthread); //возвращает идентификатор потока
// При успешном завершении проверяет возвращаемое значение.
if (hThread == NULL)
{
wsprid(szMsg, "CreateThread failed.");
MessageBox(NULL, szMsg, "main", MB_OK);
}
else
{
_getch();
CloseHandle(hThread);
}
}
break;
break;
case WM_DESTROY:
PostQuitMessage(0); //напpавляет сообщение wm_Quit в ответ на сообщение WM_DESTROY
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam); //обеспечивает стандаpтную обpаботку сообщений для сообщений, котоpые явно не обpабатываются пpикладной задачей.
}
return 0;
}