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

PW_PAINT: переполнение счетчика - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Добавить элемент в конец списка http://www.cyberforum.ru/cpp-beginners/thread562042.html
написал две функции, add заполняет список, а функция add1 добавляет элемент в конец списка, помогите разобраться с функцией add1 void add1(void) {pt=new magazin; int d; while (true){ if (pg->next==NULL) break; pg=pg->next; } pt=pg;
C++ Код Хаффмана Здравствуйте! Нужна ваша помощь.. Нашла архиватор, работающий по алгоритму Хаффмана. Создала файл text.txt с набором букв на английском и различных знаков. Поместила в папку с программой. Код программы: #include <iostream> #include <fstream> #include <vector> #include <string> #include <queue> #include <algorithm> http://www.cyberforum.ru/cpp-beginners/thread562009.html
Как в Visual Studio 2010 развернуть окно выполнения программы на весь экран? C++
Создаю в Студии 2010 консольное приложение. Запускаю программу F5. Появляется маленькое чёрное окошко и в нём выводятся нужные мне числа. У окошка вверху справа есть 3 стандартные кнопки: Свернуть, Развернуть и Закрыть. Но когда я нажимаю Развернуть, то окно становится размером не во весь экран, а только вполовину. Это так и задумано? Или можно как-то во весь экран его растянуть?
C++ Приведение типов.
Доброго времени суток! В общем, есть класс Matrix(прямоугольные над полем вещ. чисел). Необходимо реализовать приведение типов Matrix -> double и double -> Matrix. Значит, как я пытаюсь это сделать: class Matrix{ private: double** data; //.. public: //... Matrix& operator =(double a);
C++ графический вывод бинарного дерева http://www.cyberforum.ru/cpp-beginners/thread561993.html
Имеется текст проги создающей и выводящей бинарное дерево, но вывод дерева происходит горизонтально. Как сделать вывод в нормальном "древесном виде"? //Ïðîãðàììà ôîðìèðóåò äåðåâî èç ìàññèâà öåëûõ ÷èñåë è âûâîäèò åãî íà ýêðàí //root - êîðåíü äåðåâà #include <iostream.h> #include <conio.h> struct Node{ int d; //Äàííûå ýëåìåíòà Node *left; //Ññûëêà íà ëåâîå...
C++ Cуществует более одного экземпляра перегруженная функция pow При написание программы про решение задачи, выдает ошибку связанную с функцией pow. Подскажите как ее исправить. #include<stdio.h> #include<math.h> int main() { float x, y, z, a, b; printf("enter x, a, b;\n"); scanf("%f%f%f" , &x, &a, &b); y= log (((x-3)+4) /(x*x+12)); float m= pow(y+5,1.0/3); z=(m+a) / (sin (b)+m); подробнее

Показать сообщение отдельно
Arderun
1 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 17
30.04.2012, 13:22     PW_PAINT: переполнение счетчика
Здраствуйте Я совсем новичек в WINAPI,буквально второй день как разбираюсь. Нужно срочно написать програмку где щелчком мыши можно вызвать таблицу на окне и задать координаты и масу для спутника который будет вращатся на орбите. пока пытался прописать просто вращение шара по кругу и вызов диалогового окна.
появилось две проблемы:

1. По прошествию небольшего времени WM_PAINT перестает обновлятся(толи изза таймера толи еще что)
2. диалог вызываемый DialogBox каждый раз обновляется по тикам таймера как все основное окно.

если кто сталкивался с первой и видит что я напортачил во второй буду очень признателен за помощь
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
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 
switch (message)
{
    case WM_LBUTTONDOWN:
            {           
            // окно  с низу почемуто постоянно обновляется =(
            DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOGBAR), hWnd,DialogBarDlgProc);  
            break;
            }
        
    case WM_CREATE:
        {
             SetTimer(hWnd, 1, 10, NULL);
        }
         
    case    WM_TIMER:
        {
           InvalidateRect(hWnd, NULL, FALSE);
        break;
        }
    case WM_PAINT:  
        {   
             HDC hdc;
                         hdc = GetDC(hWnd);
            
           SelectObject(hdc, hPen1);  
            SelectObject(hdc,EarthBrush);
            Ellipse( hdc, EarthХ-EarthR,EarthY-EarthR,EarthХ+EarthR,EarthY+EarthR); // EarthХ=500,EarthY =400, EarthR=35 земля с центром в EarthХ=235 EarthY =225 радиус EarthR=35  
        
            SelectObject(hdc,SatelliteBrush);
            Ellipse( hdc,  
            (int)SatX-SatR,  
            (int)SatY-SatR,  
            (int)SatX+SatR,  
            (int)SatY+SatR);
 
            Sleep(50);
            
            SelectObject(hdc,ClearBrush);
            Ellipse( hdc,  
            (int)SatX-SatR,  
            (int)SatY-SatR,  
            (int)SatX+SatR,  
            (int)SatY+SatR);
 
             OrbitAngle=( OrbitAngle+STEP*PI/180); 
             if(AngleCut>359/STEP){   //условие для сбрасывания угла по прохождению полного круга.
                 OrbitAngle=0;
                 AngleCut=0;}
             else AngleCut++;
            SatX=EarthХ + SatOrbit*cos(OrbitAngle);
            SatY=EarthY+ SatOrbit*sin(OrbitAngle);
 
 
            ReleaseDC(hWnd, hdc);
            return DefWindowProc(hWnd,message,wParam,lParam);
        
            break; 
            }
    case WM_DESTROY:   
            PostQuitMessage(0);
            break;
    //default:
            //return DefWindowProc(hWnd, message, wParam, lParam);
            //break;
}
return DefWindowProc(hWnd, message, wParam, lParam);
 
}
весь код во вложении
Вложения
Тип файла: rar Orbits.rar (22.9 Кб, 13 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru