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

Создание оконного приложения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Современная литература по DirectX http://www.cyberforum.ru/cpp/thread1257502.html
Вот решил стать разработчиком игр точнее мечтаю стать кодером в команде))) но нужно знать кроме плюсов и DirectX про OpenGL в курсе но не нравится и все.Так вот прошу назвать ЛУЧШИЕ СОВРЕМЕННЫЕ (не...
C++ Литература по созданию оконных приложений Здравствуйте!Почти год назад стал изучать плюсы.много инфы перерыл и на этом форуме тоже насчет литературы.Лидеры были Роберт Лафоре и Шилдт.выбрал 1го ну прочитал Объектно-ориентированное... http://www.cyberforum.ru/cpp/thread1257501.html
C++ C++ IDE от JetBrains доступна для скачивания
Друзья! Случилось то, что все (ну многие) так долго ждали - JetBrains выложила свою CLion в публичный доступ. Те, кто хоть раз плотно пользовался IDE от JetBrains знают на сколько они хороши и...
Компиляция многофайлового проекта: Unexpected end of file while looking for precompiled header C++
Здравствуйте! Почему когда компилирую такой проект: testHeader.h #ifndef _TEST_HEADER_H_ #define _TEST_HEADER_H_ int square(int a);
C++ Чтение HTML страницы из памяти открытого браузера http://www.cyberforum.ru/cpp/thread1250889.html
Допустим открыта вкладка с Google Chrome . необходимо с помощью внешнего процесса вытащить из неё HTML/JS и т.д . Реально ли сделать? Может есть у кого образцы кода ?
C++ Как ввести текст в поле ввода другой программы? подскажите каким образом можно ввести текст в поле ввода другой программы? определил HWND но как дальше найти поле ввода и вставить туда текст? подробнее

Показать сообщение отдельно
артист
3 / 5 / 4
Регистрация: 17.09.2014
Сообщений: 711
Завершенные тесты: 1

Создание оконного приложения - C++

17.09.2014, 02:22. Просмотров 1043. Ответов 1
Метки (Все метки)

Подскажите, как сделать вот такое окно, с объектами на нём?

Создание оконного приложения

Я в C++ полный void.

Пока что только окно понял(не до конца) как вывести, задать размер, убрать меню.

Кликните здесь для просмотра всего текста

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// Bone renamer.cpp: определяет точку входа для приложения.
//
 
#include "stdafx.h"
#include "Bone renamer.h"
 
#define MAX_LOADSTRING 100
 
// Глобальные переменные:
HINSTANCE hInst; // текущий экземпляр
TCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
TCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
 
// Отправить объявления функций, включенных в этот модуль кода:
ATOM MyRegisterClass(HINSTANCE hInstance);
BOOL InitInstance(HINSTANCE, int);
//BOOL GetOpenFileName(LPOPENFILENAME lpofn);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
 
    // TODO: разместите код здесь.
    MSG msg;
    HACCEL hAccelTable;
 
    // Инициализация глобальных строк
    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_BONERENAMER, szWindowClass, MAX_LOADSTRING);
    MyRegisterClass(hInstance);
 
    // Выполнить инициализацию приложения:
    if (!InitInstance (hInstance, nCmdShow)) return FALSE;
 
    hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_BONERENAMER));
 
    // Цикл основного сообщения:
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
 
    return (int) msg.wParam;
}
 
ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEX wcex;
 
    wcex.cbSize = sizeof(WNDCLASSEX);
 
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = WndProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_BONERENAMER));
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wcex.lpszClassName = szWindowClass;
    wcex.lpszMenuName = NULL;
    wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
 
    return RegisterClassEx(&wcex);
}
 
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
    HWND hWnd;
 
    hInst = hInstance; // Сохранить дескриптор экземпляра в глобальной переменной
 
    hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS, CW_USEDEFAULT, CW_USEDEFAULT, 400, 250, NULL, NULL, hInstance, NULL);
    if (!hWnd) return FALSE;
 
    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);
 
    return TRUE;
}
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (message)
    {
        case WM_COMMAND:
        {
            wmId    = LOWORD(wParam);
            wmEvent = HIWORD(wParam);
            // Разобрать выбор в меню:
            switch (wmId)
            {
                default: return DefWindowProc(hWnd, message, wParam, lParam);
            }
            break;
        }
        case WM_PAINT:
        {
            hdc = BeginPaint(hWnd, &ps);
 
            // TODO: добавьте любой код отрисовки...
            RECT r; //объявляем экзмепляр структуры RECT - координаты прямоугольника.
            r.left=0; //левый верхний угол
            r.top=250;
            r.right=0; //правый нижний
            r.right=400;
 
            //Заполняем прямоугольник
            FillRect(hdc, &r, (HBRUSH)CreateSolidBrush(RGB(255,0,0)));
            //конец
 
            EndPaint(hWnd, &ps);
            break;
        }
        case WM_DESTROY:
        {
            PostQuitMessage(0);
            break;
        }
        default: return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru