Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2022, 07:41   #1
Andrew221
 
Регистрация: 15.03.2022
Сообщений: 5
По умолчанию WinAp, плавное увеличение и уменьшение текста без мерцания

Всем привет. Можете помочь с плавностью. Заранее спасибо
Вот код
Код:
#define _CRT_SECURE_NO_WARNINGS 
#include <iostream> 
#include <conio.h> 
#include <windows.h> 
#include<locale.h> 
#include<stdio.h> 
#include<string.h> 
#include<stdlib.h> 
#include<time.h> 
#include <cstddef> 


int main()
{
    srand(time(NULL));
    HFONT p1, p2; 
    srand(time(NULL));
    int c = 0, f, f2, x, y;
    HWND hwnd;
    wchar_t Title[5000];
    GetConsoleTitle(Title, 5000); // Узнаем имя окна 
                                  // или GetModuleFileName(NULL,Title, sizeof(Title)); 
    setlocale(LC_ALL, "RUS");

    hwnd = FindWindow(NULL, Title); // Узнаем hwnd окна  	
    HDC hdc = GetDC(hwnd);

    p2 = CreateFont(c, c, 0, 0, FW_BOLD, 0, 0, 0,
        ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
        DEFAULT_PITCH, L"Times"); // создает щрифт 

    p1 = (HFONT)SelectObject(hdc, p2);
    int top = 10, right = 100, left = 0, bottom = 200;
    static HBRUSH blue = CreateSolidBrush(RGB(48, 213, 200));//кисть 
    SelectObject(hdc, blue);
    system("color B0");//фон
    SetBkColor(hdc, RGB(48, 213, 200));//передний план 
   
    do
    {

        SetTextColor(hdc, RGB(rand() % 255, rand() % 255, rand() % 255));//выбор случайного чвета
        f = 70;
        x = rand() % 400;
        y = rand() % 400;

        RECT r; //объявляем экзмепляр структуры RECT - координаты прямоугольника.
        r.left = x; //левый верхний угол
        r.top = y;
        r.right = 250; 
        r.bottom = 300;

        for (c = 0; c < f; c++)
        {
            p2 = CreateFont(c, c, 0, 0, FW_BOLD, 0, 0, 0,
                ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
                DEFAULT_PITCH, L"Times"); // создает щрифт 

            p1 = (HFONT)SelectObject(hdc, p2);

            TextOut(hdc, x, y, L"Си - крут", 10);//вывод текста
            Sleep(100);
            system("cls");//удаление всего
        }

       
        Sleep(2000);

        for (c = f; c >= 0; c--)//уменьшение текста
        {

        }

    } while (c <= 14);

    SelectObject(hdc, p1);  // Возвращаем старое значение 
    ReleaseDC(hwnd, hdc);   // Освобождаем контекст рисования 
    DeleteObject(p2);
}
Andrew221 вне форума Ответить с цитированием
Старый 25.04.2022, 15:04   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Где BeginPaint / EndPaint?
Код:
system("cls");//удаление всего
По моему это должно очищать консоль, но не dc. Для dc можно использовать Rectangle / FillRect / BitBlt.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Увеличение или уменьшение стрелы Ирина93.08.04 Паскаль, Turbo Pascal, PascalABC.NET 0 30.03.2014 18:49
SDL увеличение и уменьшение изображения Кипящий чайник Qt и кроссплатформенное программирование С/С++ 0 24.01.2012 12:08
увеличение - уменьшение изображения subbota HTML и CSS 2 19.06.2010 16:03
Увеличение/уменьшение изображения nikmay Мультимедиа в Delphi 2 18.02.2010 00:01
Алгоритм (плавное увеличение) BOBAH13 Общие вопросы Delphi 4 07.01.2009 20:01