|
автор: Askerrr (09.02.2007 в 08:04) |
|
| Увидел тему про консольный Hello world! Попробовал, получилось. ггг пол часа радовался ).
А как сделать оконное приложение с надписью Hello world. Я пользуюсь Visual Studio (.NET). В каком проекте это делать? Win32 project или Windows Forms? Не совсем понятно что для чего. | |
|
|
|
|
|
|
|
для: Askerrr
(09.02.2007 в 08:04)
| | Делай Вин32 апликайшен и пиши:
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "HelloWin";
HWND hwnd;
MSG msg;
WNDCLASSEX wndclass;
wndclass.cbSize = sizeof(wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
RegisterClassEx(&wndclass);
hwnd = CreateWindow(
szAppName, // window class name
"The Hello Program", // window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL
); // creation parameters
ShowWindow(hwnd, iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch(iMsg)
{
case WM_CREATE:
//PlaySound("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC);
return 0;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
DrawText(hdc, "Hello, Windows 95!", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
|
| |
|
|
|
|
14.9 Кб |
|
|
для: Askerrr
(09.02.2007 в 08:04)
| | Существует несколько приёмов, создания оконных приложений, например, Windows API компилируется под любым компилятором, приложение с использованием специфичной библиотеки MFC, VCL компилируется в своей среде. Под Windows API разрабатывать приложения сложнее, с использованием библиотеки проще... однако, Windows API знать следует - не всё реализовано в библиотеках, да и понимая как они работают можно создавать более изящные приложения.
1. Windows API. Открываем новый чистый проект File->New->Project, выбираем в проектах Visual С++ Projects тип проекта Win32 Project, в окне настройки выбираем Application Settings, отмечаем галку Empty project, нажимаем кнопку Finish. В source files добавляем новый C++ файл main.cpp, а в нём пишем
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,
int iCmdShow)
{
MessageBox(NULL, "Hello world", "Hello world", MB_OK);
} |
PS Проект Visual Studio .NET 2003 во вложении. | |
|
|
|
|
76.5 Кб |
|
|
для: Askerrr
(09.02.2007 в 08:04)
| | 2. Более традиционный способ заключается в использовании MFC-приложения. Создаём новый проект, выбирая тип MFC Application, в разделе Application Type выбираем тип "Dialog based" (диалоговое окно). Нажимаем кнопку Finish, идём на вкладку resource и в разделе Dialog выбираем главное диалоговое окно. Двойным щелчком нажимаем на кнопку OK и пишем в обработчике кнопки следующие строки
MessageBox("Hello world");
OnOK(); |
PS Проект Visual Studio .NET 2003 во вложении. | |
|
|
|
|