Форум — Ответы ( К темам )
? | Тесля: Александр, снова про перенос текста в ячейке TStringGrid (12-04-2003 18:54:41) |
Извини, но не мог бы ты привести пример исходника? (Ну торможу я) "просто прямо в OnDrawCell рисуй себе текст через DrawText с флагом DT_WORDBREAK. " StringGrid1->Canvas->DrawText...??? Так в C Builder 5 не получается спасибо | |
Alexander (14-04-2003 16:19:08) | |
DrawText — функция Windows API. Пример: DrawText(hDC, str, strlen(str), &tmp, DT_LEFT|DT_SINGLELINE|DT_VCENTER); Дальше по хелпу... Я же говорю, простыми методами не получится... здесь hDC, очевидно, равен StringGrid1->Canvas->Handle. | |
Павел (14-04-2003 20:27:18) | |
Да, что-то типа: void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { char* str="Hello, my dear friend"; HDC hdc; hdc = GetDC(StringGrid1->Handle); DrawText(hdc, str, strlen(str), &Rect, DT_WORDBREAK); ReleaseDC(StringGrid1->Handle,hdc); } //----------------------------------------------------------- Только еще надо поколдовать с опциями StringGrid1 и с флагами в DrawText, чтобы все корректно выводилось. А уж если хочется, чтобы ячейка StringGrid еще расширялась (Height) чтобы вместить весь текст, то колдовать придется долго. |