|
|
|||
|
wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 46Вопрос и Ответ 46
Вопросы и Ответы 46. Возможно ли определить общую ширину всех видимых полей TDBGrid во время работы приложения? Желание узнать полную ширину компоненты TDBGrid возникает при необходимости отображения всей сетки без горизонтальной полосы прокрутки. При этом необходимо учитывать не только ширину всех видимых полей, но и общую ширину разделительных линий (если они есть), ширину столбца индикации (если он есть), и ширину вертикальной полосы прокрутки (есть всегда). Ширина одной разделительной линии равна одному пикселу, ширина столбца индикации - примерно 11-15 (в зависимости от различных факторов), ширина полосы прокрутки является системной информацией. ............ function TForm1.GridWidth(DBG:
TDBGrid):Integer; cMEASURE_CHAR = '0'; VAR i, iColumns, iColWidth, iTitleWidth, iCharWidth : Integer; BEGIN {Ширина вертикальной полосы
прокрутки} FOR i := 0 TO FieldCount-1 DO WITH Fields[i] DO IF Visible THEN BEGIN iColWidth := iCharWidth*DisplayWidth; iTitleWidth := DBG.Canvas.TextWidth(DisplayLabel); END; END; {Ширина столбца индикатора} Inc(iColumns, 1); END; Inc(Result, iColumns) ELSE Inc(Result, 1); END; ............ ...предыдущая страница следующая... |
|
| бодибилдинг | Строим Домик | RU-домены за 170 рублей | Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.117 |