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

Графическая реализация на С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ экранная клавиатура http://www.cyberforum.ru/cpp-beginners/thread1179962.html
Я разобрался как записывать в блокнот текст. void Write(char a) { HANDLE hwnd=FindWindow("Notepad", NULL); hwnd=FindWindowEx(hwnd, NULL, "Edit", NULL); SendMessage(hwnd,WM_ACTIVATE , WA_ACTIVE, NULL); SendMessage(hwnd, WM_CHAR, a, 0); }; Подскажите пожалуйста, как теперь мне отправлять туда же нажатие кнопок. Т.е. чтоб можно было стирать, работали Home и End и т.д.
C++ Деление в матрице дано матрицу А размером 8х7 поделить каждый элемент столбца на элемент этого столбца который находится на главной диагонали если этот элемент равен 0. Помогите с программой я не понимаю как http://www.cyberforum.ru/cpp-beginners/thread1179953.html
Чтение текстовых файлов для новичков (getline) C++
Задача чтения и обработки текстового файла - одна из самых распространенных. Она сравнительно проста, но у новичков порой возникают трудности и тема создана для обсуждения возникающих проблем и способов их решения. Сначала общая схема: открывается некий текстовый файл, в буфер считывается порция данных, затем эта порция обрабатывается. Цикл чтение-обработка порции выполняется, пока не будет...
C++ Маршрутная перестановка. Замена switch-case
Здравствуйте. Программа уже написана и работает, но препод сказал, что нужно заменить switch-case. Подскажите, как эффективнее можно это сделать? Задача программы закодировать и раскодировать текст. Вот код: #include <iostream> #include <string> #include <fstream> #include <stdio.h> using namespace std;
C++ Из двоичного файла выбрать простые числа, расположенные после максимального значения в файле\С++ для начинающи http://www.cyberforum.ru/cpp-beginners/thread1179941.html
Создать двоичный файл, куда записать n целых чисел. Из файла создать массив, элементы которого являются простыми числами и расположены после максимального значения файла.
C++ Ряд Тейлора. В чем ошибка? Составить алгоритм и написать программу, которая вычисляет и выводит на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью . Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда. ... подробнее

Показать сообщение отдельно
Siriniti
0 / 0 / 0
Регистрация: 05.05.2013
Сообщений: 3
18.05.2014, 18:39     Графическая реализация на С++
Добрый вечер, подскажите пожалуйста решение проблемы...есть код,который реализует графический вывод примитивных фигур. вот необходимо чтобы при перемещении мышью нарисованного квадрата он перемещался не свободно по полю, а непосредственно по координатной сетке.
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
class SETKA: public FIGURE
{
   public:
   SETKA()
   {
      BTNW=60; BTNH=60; x=30; a=30; b= 30;zahvat = false;        
   }
   ~SETKA()
   {
   }
   virtual void draw(PAINTER* painter, RECT* rc)
   {
        PEN pen_black;
        BRUSH brush_fon(0x000000);
        painter->rectangle(0, 0, rc->right, rc->bottom, pen_black, brush_fon);
        PEN pen_red;
        pen_red.set_color(0xFF,00,00);
        PEN pen_blue;          
        BRUSH brush(0xFF0000);          
        pen_blue.set_color(0x00,00,0xFF);          
        painter->rectangle(a, b, a+BTNW, b+BTNH, pen_blue, brush);
          
    int i=0;int j=0; 
      for (; i<2000; i+= x)
          {
          painter->line(0, i, 2000, i, pen_red);
          };
      for (; j<2000; j+= x)
         {
         painter->line(j, 0, j, 2000, pen_red);
         };
     }
virtual bool inside(int mousea, int mouseb)        
    {           
        int left = a;           
        int right = a+BTNW;          
        int top = b;           
        int bottom = b+BTNW;           
 
        return (mousea >= left && mousea <= right) &&   (mouseb >= top && mouseb <= bottom);            
    }  
virtual void on_lbtn_down(int newa, int newb)       
    {           
        zahvat = true;        
    }
virtual void on_mousemove(int newa, int newb, bool ctrl_down)       
    {             // если CTRL нажата и мы в режиме захвата, то сохраняем новые координаты               
        if (zahvat && ctrl_down)         
        {              
            a = newa; 
            b = newb;           
        }  
    }          
 
virtual void on_lbtn_up(int newa, int newb)        
{           zahvat = false;        }      
 
 
   virtual void on_char(char ch)
{
    if (ch =='+')
   {
       if(x<100){x=x+10;a=a+10;b=b+10;BTNW=BTNW+20, BTNH=BTNH+20;};
   }
    else 
       if(ch=='-')
      {
          if(x>10) {x=x-10;a=a-10;b=b-10;BTNW=BTNW-20, BTNH=BTNH-20; };
      }
   
   }
   private:
    int BTNW; 
    int BTNH;
    int x;        
    int a;
    int b;
    bool zahvat;
};
FIGURE* create_figure()
{
   return new SETKA;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru