kot_, твоё сообщение добило почти окончательно мою тупость.
Но остатки остались.
Вот код:
Код:
AnsiString VD = "", VM = "", VY = "", StartD="", StartM="", StartY="", EndD="", EndM="", EndY="", ChisloD="", ChisloM="", ChisloY="";
DateTimeToString(VD, "dd" ,DateTimePicker1->Date);
DateTimeToString(VM, "mm" ,DateTimePicker1->Date);
DateTimeToString(VY, "yyyy" ,DateTimePicker1->Date);
DateTimeToString(StartD, "dd" ,DateTimePicker2->Date);
DateTimeToString(StartM, "mm" ,DateTimePicker2->Date);
DateTimeToString(StartY, "yyyy" ,DateTimePicker2->Date);
DateTimeToString(EndD, "dd" ,DateTimePicker3->Date);
DateTimeToString(EndM, "mm" ,DateTimePicker3->Date);
DateTimeToString(EndY, "yyyy" ,DateTimePicker3->Date);
r=Rect(XCoordinate, YCoorfinate+350, CurPrinter->PageWidth,CurPrinter->PageHeight);
AnsiString TextRaporta=AnsiString("\tАаааа бббббббббббб вввввввв")+VD+" "+Months[VM.ToInt()-1]+" "+VY+AnsiString(" гггг зз жжжжж")+ComboBox1->Text+AnsiString(" и ")+StartD+" "+Months[StartM.ToInt()-1]+StartY+" "+AnsiString(" кккк лл ")+EndD+" "+Months[EndM.ToInt()-1]+" "+EndY+AnsiString(" оооо.");
DrawText(CurPrinter->Canvas->Handle,
TR.c_str(),
TR.Length(),
&r,
DT_EXPANDTABS|DT_WORDBREAK | DT_LEFT);
Количество букв в словах текста соответсвует оригиналу. Так вот если в ComboBox'е длинный текст, то при печати он вылещает за границы листа на 5-7 символов. При короком тесте - всё нормально. Проблемы...