Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Сохранение содержимого текстового файла в двумерном массиве и вывод в ListBox https://www.cyberforum.ru/ win-api/ thread1332917.html
Уважаемые форумчане у меня проблема, есть задача. Есть Файл, который содержит код ошибки и информацию об ошибке вот в таком виде 0 Нет ошибок 1 Недействительный или неинициализированный дескриптор модуля 2 Недопустимый параметр 3 RTL2 не инициализирована
C++ WinAPI Как с помощью WinApi посмотреть список прав доступа (ACL) к конкретному файлу?
нужно узнать кому конкретно розшаренный тот или инной файл ? Буду очень благодарен !
C++ WinAPI Не открывается существующий файл https://www.cyberforum.ru/ win-api/ thread1332835.html
File=CreateFile(FilePath.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); после этой строки переменная File равна INVALID_HANDLE_VALUE. Что я делаю не так? Добавлено через 12 минут Причём, если файл этой же прогой сохранить и потом, не закрывая её, открывать файл для чтения, то он открывается. Если же сначала закрыть прогу, потом снова запустить и уже...
C++ WinAPI Как распаралелить цикл с помощью второго потока? https://www.cyberforum.ru/ win-api/ thread1332375.html
double Y(double p) { return sin(p); } void PrM ( double a1, double b1, int n1, double h1) { double sum = 0, x, res=0; for (int i = 0; i < n1; i++) { x = a1 + i * h1; sum += Y(x);
MessageBox C++ WinAPI
Здравствуйте! Подскажите если не указывать первый параметр и использовать его в классе, почему останавливает программу и не отображается
C++ WinAPI Вывод static текста, когда курсор находится НАД контролом. как? нужно научиться получать сообщения когда курсор находится над каком нибудь из контролов. пример во вложении. мышка над едитбоксом, получаем мессадж, и вставляем в статиктекст текст. https://www.cyberforum.ru/ win-api/ thread1331872.html
C++ WinAPI Определение размеров создаваемого окна по тексту Доброго времени. Есть что-то типа аськи. При добавлении нового сообщения создаётся окно под предыдущим. Ширины всех окон статичны. Вопрос: как мне рассчитать высоту создаваемого окна, чтобы туда поместился весь текст с учётом переносов и т.д.? Т.е. какое значение высоты мне передать в CreateWindow, имея в распоряжении лишь текстовую строку? Добавлено через 58 секунд Окно создаётся "static". https://www.cyberforum.ru/ win-api/ thread1331750.html C++ WinAPI Координаты создаваемого дочернего окна с перемещённой полосой прокрутки WinApi
Доьрого времени суток. Проблема такова: Я создаю дочерние окна static динамически при чём так, что каждое следующее на 2 пикселя ниже предыдущего. //... rect.top=prew->rect.bottom+2; rect.bottom=rect.top+20; //... И всё прекрасно работало. Потом я добавил к главному окну стиль WS_VSCROLL - появилась полоса прокрутки.
C++ WinAPI Где можно найти список сообщения для создания контрола? Подскажите пару моментов 1)где можно найти список сообщения для создания контрола? хочу создать свой контрол и незнаю что и в какой поочерёдности отлавливать 2)я бы хотел посмотреть на реализацию callback функций стандартных контролов(кнопка, статик и тд), где я могу её найти? я понимаю что гдето в windows.h но там милионы инклудов, и все пересмотреть просто нереально https://www.cyberforum.ru/ win-api/ thread1331266.html C++ WinAPI Вывод текста, при попадении в нужное место https://www.cyberforum.ru/ win-api/ thread1331179.html
При нажатии на Ctr и если курсор находится над прямоугольником, должны выводится координаты... LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; static HPEN hDash, hBezier; static HBRUSH hRect, hSel; static POINT pt; static POINT point; RECT rt, yt;
C++ WinAPI Какая функция воспроизводит файлы формата mp3?
Всем привет. Подскажите пожалуйста, с помощью какой функции можно воспроизвести файлы формата mp3 Пробовал воспроизвести через PlaySound, но эта функция воспроизводит только с расширением wav. PlaySound(lpText, NULL, SND_ASYNC|SND_FILENAME); Пробовал еще вот так: mciSendString("play myFile wait", 0,1, hwnd); но воспроизводит только указанный мною файл "play myFile wait", а нужно...
C++ WinAPI Можно ли сикнуть открытый для записи файл за его текущий конец? https://www.cyberforum.ru/ win-api/ thread1329891.html
Например, после предыдущей записи файл весит 200 байт, можно сикнуть его на 300, записать там чего нибудь, а потом вернуться к 201-му байту?
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
17.12.2014, 20:00 0

DRAWTEXT(DT_CALCRECT) - C++ WinAPI - Ответ 7001830

17.12.2014, 20:00. Показов 6776. Ответов 10
Метки (Все метки)

Лучший ответ Сообщение было отмечено Retyrn0 как решение

Решение

Все проще оказалось. Делается через DrawText, просто никогда не доводилось использовать. Вот решение:
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
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 
    wchar_t *text = L"Determines the width and height of the rectangle. \
        If there are multiple lines of text, DrawText uses the width of the \
        rectangle pointed to by the lpRect parameter and extends the base \
        of the rectangle to bound the last line of text. If the largest word \
        is wider than the rectangle, the width is expanded. If the text is less \
        than the width of the rectangle, the width is reduced. If there is only \
        one line of text, DrawText modifies the right side of the rectangle so that \
        it bounds the last character in the line. In either case, DrawText returns \
        the height of the formatted text but does not draw the text.";
 
    int MenuAndWndFrameHeight = 100;
 
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
 
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Разобрать выбор в меню:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // TODO: добавьте любой код отрисовки...
        RECT r;
        r.left = 0;
        r.right = 100;
        r.bottom = 0;
        r.top = 0;
 
        DrawText(hdc, text, wcslen(text), &r, DT_CALCRECT|DT_WORDBREAK|DT_WORD_ELLIPSIS|DT_NOPREFIX);
        DrawText(hdc, text, wcslen(text), &r, DT_LEFT|DT_WORDBREAK|DT_WORD_ELLIPSIS|DT_NOPREFIX);
 
        SetWindowPos(hWnd, NULL, r.left, r.top, r.right-r.left, r.bottom-r.top+MenuAndWndFrameHeight, 0);
 
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
Извиняюсь за дезинформацию, просто сразу не вник в задание.

DRAWTEXT(DT_CALCRECT)


Вернуться к обсуждению:
DRAWTEXT(DT_CALCRECT) C++ WinAPI
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2014, 20:00
Готовые ответы и решения:

DrawText
как при пощи DrawText сделать надпись в окне , если можно простенький исходник. Заранее всем...

( ? ) DrawText + очистка
Здравствуйте написал такой код,для того,чтобы вывести текст на экран: ... hDC =...

Ошибка в DrawText()
expected primary-expression before ',' token в строчке DrawText(hwnd, str, WORD, &amp;rect,...

Не работает DrawText()
Здравствуйте! Может мне хоть кто-то подскажет почему данная функция ничего не рисует в окне (нужно,...

10
17.12.2014, 20:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2014, 20:00
Помогаю со студенческими работами здесь

функция DrawText()
Здравствуйте! Помогите пожалуйста, как вывести текст с помощью функции DrawText(), предварительно...

DrawText, TextOut
i - глобальная case WM_PAINT: { i++; wchar_t s; hdc=BeginPaint(hwnd,&amp;ps);...

Местоположение текста (DrawText)
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId,...

Есть ли у DrawText уникодовая версия?
И как её зовут? Или надо обязательно преобразовывать строку в Ansi?

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru