Другие языки программирования и технологии
как создать простое пустое окно в с++?
раскопал кучу сайтов, ни с одного не работает)) работаю в Microsoft Visual C++ 2010.
через WinAPI, кури в сторону CreateWindow, CreateWindowEx ЕМНИП
UPD:
See Also
Reference
CLIENTCREATESTRUCT
CREATESTRUCT
CreateWindow
DestroyWindow
EnableWindow
RegisterClass
RegisterClassEx
SetActiveWindow
SetForegroundWindow
SetWindowLong
SetWindowPos
ShowWindow
WM_CREATE
WM_NCCALCSIZE
WM_NCCREATE
WM_PARENTNOTIFY
UPD:
See Also
Reference
CLIENTCREATESTRUCT
CREATESTRUCT
CreateWindow
DestroyWindow
EnableWindow
RegisterClass
RegisterClassEx
SetActiveWindow
SetForegroundWindow
SetWindowLong
SetWindowPos
ShowWindow
WM_CREATE
WM_NCCALCSIZE
WM_NCCREATE
WM_PARENTNOTIFY
Игорь Перепечко
а можно код, если не сложно?) я тож с winApi пробовал, не получается, а нормального ресурса для изучения не нахожу, поэтому большинство операторов не понятно(
Возьми Qt и будет тебе счастие:
#include <QtGui/QApplication>
#include <QtGui/QLabel>
int main(int ac, char** av)
{
QApplication a(ac,av);
QLabel l("Hello World!");
l.show();
return a.exec();
}
#include <QtGui/QApplication>
#include <QtGui/QLabel>
int main(int ac, char** av)
{
QApplication a(ac,av);
QLabel l("Hello World!");
l.show();
return a.exec();
}
Если использовать только WinAPI, то:
#include <windows.h>
const char WindowClass[] = "TestWindow";
LRESULT CALLBACK WindowProc(HWND wnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
LRESULT result;
switch (msg) {
case WM_CREATE:
result = 0;
break;
case WM_DESTROY:
PostQuitMessage(0);
result = 0;
break;
default:
result = DefWindowProc(wnd, msg, wparam, lparam);
}
return result;
}
int main()
{
WNDCLASSEX class;
HINSTANCE instance;
HWND window;
DWORD style;
MSG msg;
instance = GetModuleHandle(NULL);
//
// Создаем и регистрируем класс окна.
//
class.cbSize = sizeof(WNDCLASSEX);
class.style = CS_HREDRAW | CS_VREDRAW;
class.lpfnWndProc = WindowProc;
class.cbClsExtra = 0;
class.cbWndExtra = 0;
class.hInstance = instance;
class.hIcon = LoadIcon(NULL, IDI_APPLICATION);
class.hCursor = LoadCursor(NULL, IDC_ARROW);
class.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
class.lpszMenuName = NULL;
class.lpszClassName = WindowClass;
class.hIconSm = NULL;
RegisterClassEx(&class);
//
// Создаем окно.
//
style = WS_OVERLAPPEDWINDOW | WS_VISIBLE;
window = CreateWindowEx (0, WindowClass, "Hello", style, CW_USEDEFAULT, CW_USEDEFAULT,
800, 600, NULL, NULL, instance, NULL);
if (window == NULL) {
return 1;
}
//
// Цикл обработки сообщений.
//
while (GetMessage(&msg, NULL, NULL, 0)) {
DispatchMessage(&msg);
}
return msg.wParam;
}
#include <windows.h>
const char WindowClass[] = "TestWindow";
LRESULT CALLBACK WindowProc(HWND wnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
LRESULT result;
switch (msg) {
case WM_CREATE:
result = 0;
break;
case WM_DESTROY:
PostQuitMessage(0);
result = 0;
break;
default:
result = DefWindowProc(wnd, msg, wparam, lparam);
}
return result;
}
int main()
{
WNDCLASSEX class;
HINSTANCE instance;
HWND window;
DWORD style;
MSG msg;
instance = GetModuleHandle(NULL);
//
// Создаем и регистрируем класс окна.
//
class.cbSize = sizeof(WNDCLASSEX);
class.style = CS_HREDRAW | CS_VREDRAW;
class.lpfnWndProc = WindowProc;
class.cbClsExtra = 0;
class.cbWndExtra = 0;
class.hInstance = instance;
class.hIcon = LoadIcon(NULL, IDI_APPLICATION);
class.hCursor = LoadCursor(NULL, IDC_ARROW);
class.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
class.lpszMenuName = NULL;
class.lpszClassName = WindowClass;
class.hIconSm = NULL;
RegisterClassEx(&class);
//
// Создаем окно.
//
style = WS_OVERLAPPEDWINDOW | WS_VISIBLE;
window = CreateWindowEx (0, WindowClass, "Hello", style, CW_USEDEFAULT, CW_USEDEFAULT,
800, 600, NULL, NULL, instance, NULL);
if (window == NULL) {
return 1;
}
//
// Цикл обработки сообщений.
//
while (GetMessage(&msg, NULL, NULL, 0)) {
DispatchMessage(&msg);
}
return msg.wParam;
}
Похожие вопросы
- Как создать простое Виндовское окно с помощью DevC++?
- как восстановить поиск на компьютере? нажимаю на поиск и появляется пустое окно с собачкой...
- сайт создать. помогите пожалуйста создать простой сайт
- хочу чтобы на Gps навигаторе, во время "простоя" всплывало окно с текстом, например анекдотами.
- Если организация хочет создать простой сайт, просто чтоб был. Ей достаточно купить имя сайта (оплачивать ежегодно) и
- На каком простом языке программирования можно создать такую программу?
- можно ли в Winapi создать несколько таймеров, если программа работает без окна?
- C++. Как создать Пустой проект консольного приложения Win32? После обновления VS не знаю как создать
- C++ Win32 API - Как создать окно фиксированного размера?
- создать. как создать самую простую игру