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

Работа с окнами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Классы.вычисление иррациональных чисел http://www.cyberforum.ru/cpp-beginners/thread273342.html
Решить через классы. сделать задачу которая складывает, вычитает, умножает и делит дроби(иррациональные числа)
C++ Работа со строками в файловом стиле (pure C) Есть ли для Си библиотека, которая позволяет работать со строками как с файлами? Чтобы можно было создать "файловый" указатель, с которого читать с помощью функций подобных fscanf(...) и писать fprintf(). Фактически как сиплюсплюсный std::stringstream... http://www.cyberforum.ru/cpp-beginners/thread273339.html
C++ Немогу понять почему в программе выкидует ошибка
#include "stdafx.h" #include <iostream> #include <math.h> # include <clocale> #include <conio.h> using namespace std; void main () { setlocale (LC_CTYPE, "Russian"); short val;
агент для wininet C++
Пытаюсь указать свой агент для сессии, но в логах сервера выходит "00", вместо того что я указал - "Super/Kachalo". Как с этим бороться, где-то что то забыл указать? session = InternetOpen("Super/Kachalo", PRE_CONFIG_INTERNET_ACCESS, 0, 0, 0);
C++ Метод Гаусса http://www.cyberforum.ru/cpp-beginners/thread273325.html
Помогите, пожалуйста, написать программу. Вот условие: Написать программу решения системы уравнений методом Гаусса. С ее помощью решить систему уравнений, коэффициенты которой записаны в файле pr3_04.dat в виде a11 a12 . . . a1n f1 a21 a22 . . . a2n f2 ... an1 an2 . . . ann fn Застрял на прямом ходе метода Гаусса.
C++ Построить сечение В понедельник зачет...помогите пожалуйста с программой!( В правильной четырехугольной пирамиде построить сечение, проходящее через диагональ основания и вершину пирамиды. подробнее

Показать сообщение отдельно
McLaren
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 6
10.04.2011, 07:10     Работа с окнами
Здравствуйте!
Есть у меня данная часть кода (функция временного окна). Задача была следующая: при нажатии на PageUp/PageDown меняется цвет шрифта и цвет фона текста.
Теперь нужно сделать, чтобы при нажатии на Pageup/pagedown размер шрифта увеличивался/уменьшался на 4. (изменение цвета и фона уже не нужно, только размера). Нашел вроде функцию lfHeight - менять размер шрифта, но что-то не хочет работать.

Выделил красным, где я "пытался вставить" эту функцию.

Помогите пожалуйста подправить.



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
// --- Функция временного окна
LRESULT CALLBACK PopUpWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    static char text3[]="Текстовая строка"; // Выводимая в окне строка
    static int a1,a2,a3,b1,b2,b3;   // Переменные для задания цветов фона и текста 
    static RECT rc1;
    static int x1,y1;
    static TEXTMETRIC tm1;
    GetClientRect(hWnd,&rc1);
    switch(msg)
    {
    // Задание координат и цветов текста
    case WM_CREATE:
    {
        HDC hdc=GetDC(hWnd);
        GetTextMetrics(hdc,&tm1);
        x1=(rc1.right-tm1.tmAveCharWidth*strlen(text3))/2;
        y1=(rc1.bottom-tm1.tmHeight)/2;
        a1=255;
        a2=255;
        a3=255;
        b1=0;
        b2=0;
        b3=0;
        ReleaseDC(hWnd,hdc);
    }; break;
    // Вывод строки с текущими цветами фона и символов
    case WM_PAINT:
    {
        PAINTSTRUCT ps;      // структура для рисования
        HDC hdc = BeginPaint(hWnd, &ps);
        SetBkColor(hdc,RGB(a1,a2,a3));
        SetTextColor(hdc,RGB(b1,b2,b3));
        TextOut(hdc, x1, y1,text3, strlen(text3));
        EndPaint(hWnd, &ps);
    };break;
    // Обработка сообщения о нажатии клавиши
    case WM_KEYDOWN:
    {
        int nVKey=(int)wParam;//Виртуальный код клавиши
        switch(nVKey)
        {
        case VK_NEXT:           // Нажата клавиша Стрелка влево
            {
                a1=255*rand();
                a2=255*rand();
                a3=255*rand();
                InvalidateRect(hWnd,&rc1,TRUE);
            };break;
        case VK_PRIOR:          // Нажата клавиша Стрелка вправо
            {
               // b1=255-255*rand();
            //  b2=255-255*rand();
            //  b3=255-255*rand();
            HFONT WINAPI CreateFontIndirect(const LOGFONT FAR* lplf);
            [COLOR="Red"]static LOGFONT lf;
                                  lf.lfHeight=20;[/COLOR]
 
                
                InvalidateRect(hWnd,&rc1,TRUE);
            };break;
        }
    };break;
    // Необработанные сообщения передаем в стандартную
    // функцию обработки сообщений по умолчанию.
    default: return DefWindowProc(hWnd, msg, wParam, lParam);
    }
    return 0l;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru