exp |
Отправлено: 20.04.2005, 16:26 |
|
Мастер участка
Группа: Участник
Сообщений: 304
|
Здравствуй многоуважаемый и всезнающий Ол!
Вот хочу поделиться проблемой.
Печатаю DBGrid на принтере. Строки & столбцы. ширина страницы принтера около 2000 пикселей. ширина грида около 600 пикселей.
Т. е. при переносе сетки на лист придется ее увеличивать. Это выполнено. НО! проблема возникает со шрифтом.
Размер шрифта сетки = 8. Но и на листе этот 8-й шрифт становится больше относительно ширины столбца. Из-за этого текст не влезает в колонки.
Подскажите, пожалуйста, как пологнать размер шрифта таким образом, чтоб отношение ширины столбца грида к ширине шрифта сохранялись при переносе на лист.
Надеюсь, понятно изложил.
Спасибо.
|
|
Asher |
Отправлено: 20.04.2005, 16:48 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
Привет.
Посмотри в сторону GetDeviceCaps? должно помочь.
Будет примерно так:
double dFontRate = (double)GetDeviceCaps(Printer()->Handle, LOGPIXELSY) / GetDeviceCaps(Image1->Canvas->Handle, LOGPIXELSY));//
Хотя наверняка прийдется все-таки проверять ширину получившейся строки если шрифт не моноширинный
|
|