Функция GetTextExtentPoint32

Тема в разделе "MS Visual C++", создана пользователем george, 11 янв 2005.

Статус темы:
Закрыта.
  1. george

    george Гость

    Выдает на выходе в структуре SIZE бешанные числа (как будто фонт не определен) и в это время функция говорит об успехе ее отработки.
    А в DEBUG-файле все нормально. Догадываюсь, что где-то в программе не освобождаю ресурсы от рисования.
    Использую смешанный функционал из GDI+ и GDI:
    Pen
    SolidBrush
    HatchBrush
    Graphics::DrawLine
    Graphics::DrawRectangle
    Graphics::FillRectangle
    CreateFontIndirect()
    GetTextMetrics()
    Обычные утечки памяти с помощью Compuware DevPartner Studio вроде отловил.
    Где копать ? ;)
     
  2. Dico

    Dico Гость

    Попробуй заминить её на стандартную(о такой неразу неслышел)(Win32Api):
    function GetTextExtent(DC: HDC; Str: PChar; Count: Integer): Longint;
    Вычисляет pазмеpности Str, базиpуясь на текущем выбpанном шpифте.
    Паpаметpы:
    DC: Идентификатоp контекста устpойства.
    Str: Стpока текста.
    Count: Число символов в Str.
    Возвpащаемое значение:
    Высота и шиpина (в логических единицах) в стаpшем и младшем слове, соответственно.
     
  3. zubr

    zubr Гость

    Dico
    Функция GetTextExtent для Win3.x, в Win32 врядли будет работать.
    george
    Из твоего описания непонятно как ты саму функцию GetTextExtentPoint32 реализуешь. Попробуй не меняя шрифта в контексте устройства, применить эту функцию и посмотри что она покажет.
     
  4. Guest

    Guest Гость

    Всем спасибо!
    Причины оказались банальными: не везде освобождал HFONT и к тому же пытался определить строку из одного символа, а сам под нее отвел не char[2], а char[1].
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей