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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
McLaren
0 / 0 / 0
Регистрация: 05.12.2010
Сообщений: 6
#1

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

10.04.2011, 07:10. Просмотров 1340. Ответов 0
Метки нет (Все метки)

Здравствуйте!
Есть у меня данная часть кода (функция временного окна). Задача была следующая: при нажатии на 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2011, 07:10     Работа с окнами
Посмотрите здесь:

Работа с двумя окнами - C++ - C++
Всех приветствую. При изучении WinAPI возникла следующая проблема: Требуется создать два окна, причем: - При изменении размера...

управление окнами - C++
доброго времени суток форумчане! кто сможет помогите пожалуйста! проблема в том чтобы создать окно с горизонтальной и вертикальной полосами...

Создание программы с окнами - C++
Привет такой вопрос.Допустим написал прогу или можно написать не суть важно.А как сделать чтоб она была с окнами,кнопками и.т.д...Ну к...

Как работать с окнами? - C++
Здраствуйте, помогите пожалуйсто, не как немогу найти инфу о том как работать с окнами, ни книг на эту тему нечего найти немогу, скиньте...

Взаимодействие з чужими окнами - C++
Здравствуйте, у меня небольшой вопрос, мне нужно чтоб програма взаимодействовала с чужими окнами, например копировала текст окна, изменяла...

Управление окнами (windows.h) - C++
Возник вопрос по следующей задаче: Создайте 2 разных окна. При изменении размеров первого окна, размеры второго тоже меняються. При...

Как работать с окнами? - C++
Гуглил, гуглил.. так ничо путёвого и не нашел.. у меня если чо Dev-C++ Вот код из примеров Dev-C++ помогите разобраться: #include...

Программа для работы с окнами - C++
Здравствуйте . Я пока в с++ новичок .Прошу помощи : подскажите , с какой программы лучше начинать работать в плане создания окон , кнопок (...

Управление окнами другой программы - C++
Доброго времени суток... Я сам не профи по Си++, но в СИ разбираюсь хорошо. А вопрос у меня такой: Есть ли способ одной...

Разработка приложений с диалоговыми окнами - C++
День добрый, я новенький в С++. Хотел бы спросить о следующем: Установлено MinGW, Code::Blocks. Скажите пожалуйста как с помощью моей ИДЕ...

Перевод данных между окнами - C++
Есть у меня 5 окон в одном приложении. Нужно между ними обмениваться данными. Например форма 4 использует переменную инициализированную в...

Переключение между окнами по горячим клавишам - C++
Нужна программа с открытым исходным кодом желательно на С++ Программка должна делать следующее: При нажатии на определённую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru