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

Перемещение элемента - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Последовательность целых чисел http://www.cyberforum.ru/cpp-beginners/thread990447.html
Вводится последовательность челых чисел,0-конец последовательности.Для каждого числа последовательности найти сумму его простых делителей(функцией оформить определения суммы простых делителей числа). Добавлено через 3 часа 13 минут Подскажите пожалуйста
C++ Вычисление логарифма с помощью ряда Тейлора. Программа не работает, не могу понять где ошибся Как я понимаю, программа где-то зацикливается, но вот где именно не могу понять, подскажите, где я ошибся или что-то упустил. Суть задания таково: нужно написать программу, которая высчитывает функцию которая равна ln((X+1)/(X-1)), и вычисление её с помощью ряда Тейлора 1/(2n+1)*X2n-1, с точностью e. #include "stdafx.h" #include "iostream" #include "conio.h" #include "math.h" using... http://www.cyberforum.ru/cpp-beginners/thread990444.html
C++ Ошибка при вызове деструктора
Всем привет ! Есть класс class building { private: string *location_street; unsigned int *number_of_building; public : building() { location_street = new string("Default");
C++ Изменение фокуса клавиатуры
Доброго времени суток. Вожусь тут с одной интересной мне задачей. Обсуждал ее в этой ветке форума. http://www.cyberforum.ru/windows7/thread990204.html#post5247288 Вопрос по С++. Можно ли создать такую программу, которая перехватывала бы событие с клавиатуры, сравнивала его с списком разрешенных символов (к примеру кнопки ZXCVB), если событие было вызвано одной из этих кнопок, то программа бы...
C++ Вывести новый массив состоящий из элементов начального массива в заданной зависимости http://www.cyberforum.ru/cpp-beginners/thread990404.html
1.Нужно ввести размерность начального одномерного массива c клавиатуры. Элементы заполняются с помощью rand(); #include <time.h> #include <iostream> #include <iomanip> void main() { int n; cin>>n; int *mass=new int; for (int i=0; n<i; i++)
C++ Считывание цвета пикселя конкретного окна в конкретном месте Добрый день. Помогите пожалуйста. Какбы нужно в конкретном окне программы при нажатии кнопкой мыши считать цвет и каординаты положения в пикселях (в данном окне. А не экрана) Подогрейте примером пожайлусто ;) Добавлено через 12 минут int wj_GetPix(HANDLE h, int x, int y) // h - хендл нужного окна { return GetPixel(GetWindowDC(h), x, y); //!!! } подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,154
Завершенные тесты: 1
28.10.2013, 16:20     Перемещение элемента
Цитата Сообщение от TyLinka Посмотреть сообщение
надо перемещать не picturebox, а объект в нём, например круг
Тогда, то WM_TIMER пересчитываем новое положение объекта и подаем команду на перерисовку
InvalidateRect(..).
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
int x=0; // координата, где рисовать
int WINAPI fn(HWND hwnd,int cmd,WPARAM wp,LPARAM lp)
{
    switch(cmd)
    {
 
    case WM_INITDIALOG:
        x=0;
        SetTimer(hwnd,1,100,NULL); // запуск таймера при открытии диалогового окна 
        return 1;
    case WM_TIMER:
        x++;                      // пересчет координаты, где рисовать
        InvalidateRect(hwnd,NULL,TRUE); // команда на перерисовку
        return 1;
    case WM_CLOSE:
        EndDialog(hwnd,3); // закрытие диалога
        return 1;
    case WM_SIZE:
        InvalidateRect(hwnd,NULL,TRUE); // перерисовка при изменении окна
        return 1;
    case WM_PAINT:
    {
        PAINTSTRUCT ps;
        HDC hdc = BeginPaint(hwnd, &ps);
        RECT rt;
        GetClientRect(hwnd, &rt);
        int w=rt.right;int h=rt.bottom;// длина и высота рабочей области
                
                
        HBRUSH b1,b2,b0;
        b1=CreateSolidBrush(RGB(255,255,255)); // белая кисть 1 круга
        b2=CreateSolidBrush(RGB(255,0,0)); // красная кисть 2 круга
                
        b0=(HBRUSH)SelectObject(hdc,b1);
        const int R=50;
        Ellipse(hdc,w/2-R,h/2-R,w/2+R,h/2+R);
 
        SelectObject(hdc,b2);
        Ellipse(hdcscr,x,h/2-R,x+2*R,h/2+R); 
        SelectObject(hdc,b0);
        DeleteDC(hdcscr);
        DeleteObject(b1);
        DeleteObject(b2);
                
        EndPaint(hwnd, &ps);
        return 1;
    }
    return 0;
        }
}
int WINAPI WinMain(HINSTANCE hi,HINSTANCE,LPSTR,int) 
{
    return DialogBox(hi,"SIMPLE",NULL,(DLGPROC)fn);
}
 
Текущее время: 03:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru