Форум программистов, компьютерный форум CyberForum.ru

Создание окна API windows - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Циклы: Получить сумму первых n членов последовательности http://www.cyberforum.ru/cpp-beginners/thread691224.html
Рассмотрим последовательность, образованную дробями 1/1, 2/1, 3/2, …, в которой числитель (знаменатель) следующего члена последовательности получается сложением числителей (знаменателей) двух предыдущих членов. Числители первых двух дробей равны 1 и 2, знаменатели 1 и 1 Найти n-й член этой последовательности. Получить сумму первых n членов этой последовательности.
C++ Данные типа void* Нужно сделать сохранение данных в бинарном виде в векторе. Я решил сделать так: struct StoreData { shared_str name; void* data; TypeOfData type; }; void CStoreHouse::add_bool(LPCSTR name,bool b) http://www.cyberforum.ru/cpp-beginners/thread691222.html
C++ задача с ускорением
Помогите,пожалуйста
C++ Строки: вывести определенную букву или слово и их количество
Помогите написать программу, которая из символьной последовательности выводит определенную букву или слово и их количество. У меня получается бред типо этого #include "stdafx.h" #include <stdio.h> #include <conio.h> int i,n; char x; int main() { scanf("%c" , &x);
C++ В каждой строке матрицы найти количество нечетных элементов http://www.cyberforum.ru/cpp-beginners/thread691185.html
Дана матрица размерностью nxm. Требуется написать программу, которая в каждой строке матрицы находит количество нечетных элементов и результаты записывает в линейный массив. Проверьте, все ли элементы полученного массива являются нечетными. Напишите полность плиз а то немного путаюсь
C++ Создать перегружаемые функции и шаблоны для типов int и double Создать перегружаемые функции и шаблоны для типов int и double. Передачу параметров в функцию осуществить различными способами: с помощью ссылки, указателя. В одномерном массиве, состоящем из n элементов вычислить: Максимальный по модулю элемент массива (Шаблон функции) Сумму элементов массива, расположенных между первым и вторым отрицательными элементами (Перегружаемая функция).... подробнее

Показать сообщение отдельно
GoodLife
9 / 9 / 3
Регистрация: 23.10.2012
Сообщений: 171

Создание окна API windows - C++

07.11.2012, 16:06. Просмотров 1501. Ответов 13
Метки (Все метки)

Пример взят из книги Румянцева, азбука программирования в win32 API. Должно быть показано окно с надписью Hello World, вот код примера
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <windows.h>
 
LRESULT CALLBACK HelloWorldWndProc(HWND,UINT,UINT,LONG);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{
HWND hWnd;
WNDCLASS WndClass;
MSG Msg;
char szClassName[]="HelloWorld";
 
WndClass.style=CS_HREDRAW|CS_VREDRAW;
WndClass.lpfnWndProc=HelloWorldWndProc;
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=szClassName;
 
if(!RegisterClass(&WndClass))
        {
        MessageBox(NULL,"Cannot register class","Error",MB_OK);
        return 0;
        }
 
hWnd = CreateWindow(szClassName,"Program No 1",
                        WS_OVERLAPPEDWINDOW,
                        CW_USEDEFAULT,CW_USEDEFAULT,
                        CW_USEDEFAULT,CW_USEDEFAULT,
                        NULL,NULL,
                        hInstance,NULL);
 
if(!hWnd)
        {
        MessageBox(NULL,"Cannot createwindows","Error",MB_OK);
        return 0;
        }
 
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
 
while(GetMessage(&Msg,NULL,0,0))
        {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
        }
return Msg.wParam;
}
 
LRESULT CALLBACK HelloWorldWndProc(HWND hWnd,UINT Message,
                                UINT wParam,LONG lParam)
        {
        HDC hDC;
        PAINTSTRUCT PaintStruct;
        RECT Rect;
        switch(Message)
                {
                case WM_PAINT:hDC=BeginPaint(hWnd,&PaintStruct);
                        GetClientRect(hWnd,&Rect);
                        DrawText(hDC,"Hello, World",-1,&Rect,
                                DT_SINGLELINE|DT_CENTER|DT_VCENTER);
                        EndPaint(hWnd,&PaintStruct);
                        return 0;
                case WM_DESTROY:
                        PostQuitMessage(0);
                        return 0;
                }
        return DefWindowProc(hWnd,Message,wParam,lParam);
        }
Компилятор на него не ругается, все проходит, но окна, когда код вставляешь в Билдер 6 не возникает. В моем коде в билдере торчит еще main , вот его код:

C++
1
2
3
4
int main(int argc, char* argv[])
{
        return 0;
}
Стандартный маин пустой.
Может быть его надо затереть? Опять когда его затираешь ошибка вылазит
Создание окна API windows
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru