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

Создание окна WinAPI в Visual Studio, графика и кнопки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
27.04.2013, 21:47     Создание окна WinAPI в Visual Studio, графика и кнопки #1
собственно вопрос - как?
конечно понимаю что можно и другие кнопочки потыкать, может там и проще будет. Интересует именно это.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2013, 21:47     Создание окна WinAPI в Visual Studio, графика и кнопки
Посмотрите здесь:

Visual Studio 2008, WinAPI - Openfile C++
Visual Studio 2008, WinAPI - Вывод изображения C++
Visual Studio/WinAPI функция memccpy() C++
Visual Studio(WINAPI), fopen trouble C++
Создание кнопки с иконкой на WinAPI C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
27.04.2013, 21:49     Создание окна WinAPI в Visual Studio, графика и кнопки #2
конкретизируй вопрос
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
27.04.2013, 22:03  [ТС]     Создание окна WinAPI в Visual Studio, графика и кнопки #3
интересует код, чтобы выводил окно с указанными параметрами, ширина, высота, положение на экране.
на Visual Studio

Добавлено через 3 минуты
наверно это не так уж и просто как кажется))
пока копаюсь дальше по форуму

Добавлено через 6 минут
хм если создать не "консольное приложение win32" а просто "приложение Win32", генерируется код на создание окна, это круто...
тогда другой вопрос, если ниже писать код, нужно будет изменять сгенерированный код?
Issues
429 / 364 / 37
Регистрация: 06.08.2012
Сообщений: 961
27.04.2013, 22:08     Создание окна WinAPI в Visual Studio, графика и кнопки #4
Цитата Сообщение от Zakat Посмотреть сообщение
если ниже писать код, нужно будет изменять сгенерированный код?
это как бы шаблон (но не совсем), изменяй и добавляй в него всё что нужно.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
27.04.2013, 22:10     Создание окна WinAPI в Visual Studio, графика и кнопки #5
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
#include <windows.h>
#include <iostream>
 
 
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam, LPARAM lParam);
#define WMAIN_CLASSNAME     "WndClassTestMyName???"
#define WMAIN_CAPTION       "WndCaption"
 
int main(){
    HINSTANCE hInstance=(HINSTANCE)GetModuleHandle(NULL);
    HWND hWnd;
    MSG msg;
    WNDCLASS wc;
    int width,height;
 
    std::cout<<"Enter width: ";
    std::cin>>width;
    std::cout<<"Enter height";
    std::cin>>height;
 
    wc.cbClsExtra=0;
    wc.cbWndExtra=0;
    wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
    wc.hCursor=LoadCursor(NULL,IDC_ARROW);
    wc.hIcon=LoadIcon(NULL,IDI_WINLOGO);
    wc.hInstance=hInstance;
    wc.lpfnWndProc=WndProc;
    wc.style=CS_HREDRAW | CS_VREDRAW;
    wc.lpszClassName=WMAIN_CLASSNAME;
    wc.lpszMenuName=NULL;
 
    if(!RegisterClass(&wc))
        return 1;
 
    hWnd=CreateWindow(WMAIN_CLASSNAME,WMAIN_CAPTION,/*WS_OVERLAPPEDWINDOW*/WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX | WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,width,height,HWND_DESKTOP,NULL,hInstance,0);
 
    if (!hWnd)
        return 1;
 
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
 
 
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam, LPARAM lParam)
{
    PAINTSTRUCT ps;
    HDC hdc;
    switch (message)
    {
    case WM_SIZE:
        InvalidateRect(hWnd,NULL,true);
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
 
        EndPaint(hWnd,&ps);
        break;
    case WM_CLOSE:
        if (MessageBox(hWnd,"Close?","Msg Caption",MB_YESNO)==IDYES){
            return DefWindowProc(hWnd,message,wParam,lParam);
        }
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default: 
        return DefWindowProc(hWnd,message,wParam,lParam);
    }
    return 0;
}
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
27.04.2013, 22:14  [ТС]     Создание окна WinAPI в Visual Studio, графика и кнопки #6
4 IntelliSense: значение типа "const char *" нельзя присвоить сущности типа "LPCWSTR" d:\Мои документы\Visual Studio 2012\Projects\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 33 21 ConsoleApplication3

оу вот такое при компиляции
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
27.04.2013, 22:18     Создание окна WinAPI в Visual Studio, графика и кнопки #7
Отключить Юникод в настройках проекта:
Создание окна WinAPI в Visual Studio, графика и кнопки
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
27.04.2013, 22:23  [ТС]     Создание окна WinAPI в Visual Studio, графика и кнопки #8
Спасибо, буду эксперементировать =)
Khludenkov
31 / 25 / 4
Регистрация: 30.04.2014
Сообщений: 382
15.07.2015, 16:57     Создание окна WinAPI в Visual Studio, графика и кнопки #9
Здравствуйте. Вопрос по вышеупомянутой теме.

1. Можно ли на этом окне рисовать (к примеру график?). Если можно, пример постановки пары точек.
2. Сложно ли добавить две стандартные кнопки кнопки с обработчиками событий?

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
Отключить Юникод в настройках проекта:
Лучше ставить 'L' перед строковыми константами.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
15.07.2015, 17:01     Создание окна WinAPI в Visual Studio, графика и кнопки #10
1) Да
2) Нет
Лучше ставить 'L' перед строковыми константами
_T
Butt-Head
Заблокирован
15.07.2015, 17:06     Создание окна WinAPI в Visual Studio, графика и кнопки #11
Цитата Сообщение от Khludenkov Посмотреть сообщение
Лучше ставить 'L' перед строковыми константами.
Лучше использовать Qt и не парить мозг с убогими штатными окнами WinAPI
Khludenkov
31 / 25 / 4
Регистрация: 30.04.2014
Сообщений: 382
15.07.2015, 17:16     Создание окна WinAPI в Visual Studio, графика и кнопки #12
Цитата Сообщение от Butt-Head Посмотреть сообщение
Лучше использовать Qt

1. Проект написан на VS2010 и переписывать некогда.
2. Там одинаково подключаются dll и lib от visual studio? Знаю что у билдера с этим проблемы.



Croessmah, подскажите, к примеру, как создать линию, состоящую из точек заданного цвета на вышеприведённом окне.

Добавлено через 2 минуты
Croessmah, то есть надо просто вывести картинку из bmp-файла, которая бы обновлялась раз в секунду.
Сам кадр получается в консольном приложении.

Пытался добавить windows form. Проект сразу в cli портировался. И namespaces ругаться стали.
Butt-Head
Заблокирован
15.07.2015, 17:42     Создание окна WinAPI в Visual Studio, графика и кнопки #13
Цитата Сообщение от Khludenkov Посмотреть сообщение
Проект написан на VS2010 и переписывать некогда.
Под проектом ты имеешь ввиду пустое окно?
Цитата Сообщение от Khludenkov Посмотреть сообщение
Там одинаково подключаются dll и lib от visual studio? Знаю что у билдера с этим проблемы.
Где там? lib - это либо библиотека импорта для dll, либо статическая либо. Если ведаешь, что творишь, то подключишь где угодно без проблем.

Цитата Сообщение от Khludenkov Посмотреть сообщение
Пытался добавить windows form. Проект сразу в cli портировался. И namespaces ругаться стали.
Чего ты добиться в итоге хочешь? Что за софт ты пишешь и что он должен делать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2015, 15:06     Создание окна WinAPI в Visual Studio, графика и кнопки
Еще ссылки по теме:

C++ Черчение графика через C++ Visual Studio
кнопки в Visual Studio (2010) C++
C++ [WINAPI] Открытие/Закрыти окна по нажатию/отжатию левой кнопки мыши

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Khludenkov
31 / 25 / 4
Регистрация: 30.04.2014
Сообщений: 382
16.07.2015, 15:06     Создание окна WinAPI в Visual Studio, графика и кнопки #14
Есть консольный проект на visual c++. В нём dll, lib, h - файлы. Причём где-то h-ки где-то dll-ки, и не все парные. В линкере подключена одна единственная lib (без соответствующего h-файла). Надо сделать к проекту GUI.
Yandex
Объявления
16.07.2015, 15:06     Создание окна WinAPI в Visual Studio, графика и кнопки
Ответ Создать тему
Опции темы

Текущее время: 22:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru