Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Таймер и неверная логика программы https://www.cyberforum.ru/ win-api/ thread1773883.html
Доброй ночи всем! Есть беда. Пусть "а" - глобальная переменная, при нажатии клавиши "стрелка влево" эта переменная увеличивается на одну единицу. Но суть в том, что в программе есть таймер (убирать его не надо ни в коем случае), и при этом коде наша переменная будет увеличиваться постоянно согласно таймеру, пока не будет нажата любая клавиша, отличная от "стрелки влево". Срочно надо понять,...
C++ WinAPI Как в ShellExecute передать несколько параметров?
Допустим такой вызов ShellExecuteA(NULL, "open", "cmd.exe", "/C ipconfig" , NULL, SW_SHOW); А как затем передать " /C pause" ?
C++ WinAPI Написание коды для игры морской бой https://www.cyberforum.ru/ win-api/ thread1773667.html
Здравствуйте! Пишу код для игры в морской бой.. 1) Поле постоянно переписывается после взаимодействия :( 2) Созданный массив забитый нулями сам перезабивается на различные числа :( проверяется нажатием правой клавишы. 3) буду признателен за помощь в расстановке кораблей.. Прошу помочь с данными ошибками, буду признателен #include <windows.h> #include <iostream> #include <iomanip> using...
C++ WinAPI Использование system() https://www.cyberforum.ru/ win-api/ thread1773241.html
Подскажите, функция system() вообще на что то годна, кроме ввода одиночных команд? К примеру возьмем батник определяет версию ОС.SET Version=Unknown VER | FINDSTR /IL 6.1. > NUL IF %ERRORLEVEL% EQU 0 SET Version="Windows 7" IF %ERRORLEVEL% EQU 1 GOTO exit IF %VERSION% == "Windows 7" GOTO Windows7 :Windows7 echo Windows 7 pause exit /b Возможно ли как то нормально выполнить эту...
Наклон линии при нажатии определённых клавиш [Решено] C++ WinAPI
Здравия желаю, забредший сюда странник! Написал программу, с помощью которой при нажатии стрелок можно будет менять наклон линии. В итоге получилось так, что логика в программе оказалась иная, чем я думал: при нажатии клавиши линия попадала в некое определённое состояние, в котором будет оставаться, пока не нажмёшь на другую стрелку. То есть логика здесь другая: при многократном нажатии клавиши...
C++ WinAPI С++ WinAPI GDIPLUS Всем доброго времени суток. Друзья возможно то, что я ищу уже было на этом форуме, но если честно я не нашел! Поэтому прошу простить и затыкать ссылками если есть пруфы по сабжу! Сабж: Решил я сделать окошко, с прозрачным фоном и налепить на него сплеш, если просто рисуешь формочку и на ней картиночку, это выглядит не красиво, с о стандартным бордером и прочее. Покурил гугель, нашел... https://www.cyberforum.ru/ win-api/ thread1773044.html
C++ WinAPI Анимация движения пунктира посредством таймера https://www.cyberforum.ru/ win-api/ thread1772965.html
Всем привет! Дали задание сделать анимацию дождя средствами WINAPI так, чтобы можно было контролировать скорость и угол падения капель. С углом падения разобрался, пунктиром тоже, осталась сделать только анимацию этого пунктира. Дождь должен представлять собой совокупность пунктирных линий, по которым бегут вниз отрезки. Так как координатные оси у окна начинаются с левого верхнего угла,...
Где ошибка? C++ WinAPI
Доброго времени суток! Я тут пишу программу для копирования bmp1 в bmp2. Программа должна сама создавать bmp2. Как это сделать? Кстати, изначально задача звучит так: Скопировать изображение и увеличить его в n раз. Все аргументы из командной строки, ниче программа спрашивать не должна. Вот код копирования без увеличения, могу также кинуть и код с увеличением. В любом случае ни то ни другое не...
C++ WinAPI Отжатие кнопки мыши над edit Доброго времени суток. Начал изучать c++ winapi и столкнулся с проблемой. У меня есть окно, и в нем несколько edit... в произвольном месте родительского окна я нажимаю на кнопку мыши, и потом удерживая ее навожу курсор на edit. Вопрос вот в чем: как мне узнать, когда я отпускаю кнопку мыши, если курсор над edit?? WM_LBUTTONDOWN не помогает, он работает когда кнопка мыши отжата над родительским... https://www.cyberforum.ru/ win-api/ thread1772648.html C++ WinAPI По перехвату API https://www.cyberforum.ru/ win-api/ thread1772611.html
Я, наверное, сейчас много глупостей напишу, не ругайтесь сильно, для меня просто все это темный лес. Как я прочитал (в т.ч. у Рихтера) из классических методов перехвата API выясняется следующее. 1. SetWindowLongPtr давно не работает, майкрософт закрыл возможность замены процедуры окна другого процесса. Об этом прямо у Рихтера написано. 2. Начиная с 8-й винды, APPInit в реестре игнорируется,...
C++ WinAPI Переменные среды windows
Я только начинаю изучать, для меня все очень сложно. Есть такой код #include <iostream> #include <conio.h> #include <windows.h> using namespace std; int main(int argc, char* argv) { setlocale(LC_ALL, "Russian");
C++ WinAPI Проверить, пустой ли Editbox https://www.cyberforum.ru/ win-api/ thread1772307.html
пишу простенькое приложение на винапи. возникла пробл
0 / 0 / 0
Регистрация: 04.05.2016
Сообщений: 6
02.07.2016, 10:27  [ТС] 0

Лабиринт для мыши. C++ и WinAPI - C++ WinAPI - Ответ 9335510

02.07.2016, 10:27. Показов 1698. Ответов 7
Метки (Все метки)

Ответ

rao, У меня не получилось. Как ограничить белым лабиринтом, и при касании стенки курсор уходил назад?
Вот код:

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
#include <Windows.h>
#include <gdiplus.h>
#include <iostream>
#pragma comment(lib, "gdiplus.lib")
 
using namespace Gdiplus;
using namespace std;
 
#define widht 800 //по иксу
#define height 600 //по игреку
 
VOID OnPaint(HDC hdc) //функциия для вывода текста
{
    Graphics    graphics(hdc);
    SolidBrush  brush(Color::White);
    FontFamily  fontFamily(L"Times New Roman");
    Font        font(&fontFamily, 24, FontStyleRegular, UnitPixel);
    PointF      pointF(300.0f, 0.0f);
 
    graphics.DrawString(L"Maze Mouse", -1, &font, pointF, &brush);
}
 
VOID DrawRectangle(HDC hdc) // функция прорисовки лабиринта
{
    Graphics     graphics(hdc);
    GraphicsPath path;
    Pen          pen(Color::Black, 2);
    SolidBrush   brush(Color::White);
    
    path.AddRectangle(Rect(0, 50, 150, 200));
    path.AddRectangle(Rect(150, 70, 500, 60));
    path.AddRectangle(Rect(650, 70, 30, 400));
    path.AddRectangle(Rect(350, 400, 300, 70));
    path.AddRectangle(Rect(310, 180, 40, 290));
    path.AddRectangle(Rect(310, 150, 250, 30));
    path.AddRectangle(Rect(560, 150, 50, 220));
    path.AddRectangle(Rect(410, 340, 150, 30));
    path.AddEllipse(420,345,20,20);
 
    graphics.DrawPath(&pen, &path);
    graphics.FillPath(&brush, &path);
    
}
 
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); //
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) // главная функция, аналог main
{
    WNDCLASSEX windowClass; //название структуры
    HWND hWnd;
    MSG uMsg;
 
    GdiplusStartupInput gdiplusStartupInput;
    ULONG_PTR gdiplusToken;
 
    memset(&windowClass, 0, sizeof(WNDCLASSEX));
    windowClass.cbSize = sizeof(WNDCLASSEX);    //размер окна
    windowClass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); //цвет фона
    windowClass.hCursor = LoadCursor(NULL, IDC_ARROW); // вид курсора
    windowClass.hIcon = LoadIcon(NULL, IDI_APPLICATION); //иконка окна
    windowClass.hInstance = hInstance;
    windowClass.lpfnWndProc = WindowProc;
    windowClass.lpszClassName = "Maze Mouse";
 
    RegisterClassEx(&windowClass);
 
    GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    SetCursorPos(800,600);
    
 
    hWnd = CreateWindow(windowClass.lpszClassName, "Maze Mouse", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,
        (GetSystemMetrics(SM_CXSCREEN) - widht) / 2, (GetSystemMetrics(SM_CYSCREEN) - height) / 2, widht, height, NULL, NULL, NULL, NULL);
    
    ShowWindow(hWnd, nCmdShow);
    
    while (GetMessage(&uMsg, hWnd,NULL,NULL))
    {
        TranslateMessage(&uMsg);
        DispatchMessage(&uMsg);
        
    }
 
    GdiplusShutdown(gdiplusToken);
    
    return uMsg.wParam;
}
 
LRESULT CALLBACK WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    HDC hDC;
    PAINTSTRUCT ps;
    RECT rtClientArea = { 0, 50, 150, 200 };
    RECT rtClientArea1 = { 150, 70, 500, 60 };
    RECT rtClientArea2 = { 650, 70, 30, 400 };
    
    switch (uMsg)
    {
    case WM_CLOSE:
        ExitProcess(0);
        break;
 
    case WM_PAINT:
        hDC = BeginPaint(hWnd, &ps);
        OnPaint(hDC);
        DrawRectangle(hDC);
        EndPaint(hWnd, &ps);
        break;
 
 
 
    case WM_KEYDOWN:            //закрытие программы Esc
        switch (wParam)
        {
        case VK_ESCAPE:
            exit(0);
            break;
        }
    return 0;
    
    case WM_SIZE:
    case WM_EXITSIZEMOVE:
        //GetWindowRect(hWnd, &rtClientArea);
        ClipCursor(&rtClientArea);
        return 0;
 
    default:
        return DefWindowProc(hWnd, uMsg, wParam, lParam);
        
    }
    
}


Вернуться к обсуждению:
Лабиринт для мыши. C++ и WinAPI C++ WinAPI
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.07.2016, 10:27
Готовые ответы и решения:

Функция WinAPI для получения данных о вращении колёсика мыши
Народ, кто-нибудь знает функцию виндовского апи, которая позволяла бы получить данные о вращении...

Координаты мыши, WinAPI
Как получит координаты мыши в окне программы?

Крутится курсор мыши в WinAPI
Если при запуске приложения курсор мыши находится в окне(в клиентской области, не на кнопке) то он...

WinApi и обработка сообщений мыши
Добрый вечер! Извините, если где-то уже есть такой вопрос - я не нашла. Я пишу программку типа...

7
02.07.2016, 10:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2016, 10:27
Помогаю со студенческими работами здесь

Имитация мыши. Полное управление курсором. WinAPI
Требуется найти функции, которые используем мыщьх. Движение курсора, нажатие LB\RB, прокрутка...

Игра лабиринт. ИИ в лабиринте. Как задать лабиринт
У меня есть следующее задание: Дано: - робот - лабиринт Задание: - Нужно реализовать...

Как сделать клик левой кнопкой мыши без WinApi
Я не нашел, везде WinApi

Лабиринт для матрицы соединений
Дана матрица соединений для лабиринта из n комнат и номера комнат i,j (1&lt;=i&lt;=n,1&lt;=j&lt;=n) Построить...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru