Оценить ширину колонки в MSFlexGrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Оценить ширину колонки в MSFlexGrid

Сообщение Leon_ » 23.08.2004 (Пн) 15:25

При добавлении строк в MSFlexGrid, заранее неизвестно, какой ширины потребуются колонки. Как можно наиболее изящным способом оценить требуемую ширину для каждой из колонок?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 23.08.2004 (Пн) 16:02

попробуй применить функцию TextWidth , она есть у формы.

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 23.08.2004 (Пн) 16:34

Прошу прощения, не указал среду -- VBA Access XP. У нас в формах Access'а нет такого свойства TextWidth. Как быть? Может можно еще и по-другому как-то?
(только не советуйте мне перейти на другие Grid'ы, не до того сейчас :) )

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 23.08.2004 (Пн) 16:52

кажется есть подобная функция в API, но названия сейчас не помню
но кажется надо копать GetTextMetrics

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.08.2004 (Пн) 17:00

Konst_One писал(а):кажется есть подобная функция в API, но названия сейчас не помню
но кажется надо копать GetTextMetrics

Неа, мимо - GetTextExtentPoint32

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 23.08.2004 (Пн) 17:09

GetTextExtentPoint32 и GetTextMetrics -- это, конечно, очень мощно. Но я все-таки надеюсь набрести на какой-н способ без использования hDC и подобного. Вот как, положим, в Проводнике, Вид-->Таблица. Если doubleclick на границе между заголовками в этой таблице, тогда ширина колонки выравнивается по МАХ длине. Ведь наверняка есть такой метод и в других эл.управления от Microsoft? Вот как к такому подобраться в MSFlexGrid?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.08.2004 (Пн) 17:32

В проводнике ListView, и ему няп шлётся LVM_SETCOLUMNWIDTH с LVSCW_AUTOSIZE. Может быть, его и MSFlexGrid обработает? Попробуй!

Leon_
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 333
Зарегистрирован: 19.05.2004 (Ср) 16:31
Откуда: Moscow

Сообщение Leon_ » 24.08.2004 (Вт) 9:33

:(
Попробовал разные комбинации с LVM_SETCOLUMNWIDTH (передавл LVSCW_AUTOSIZE), не работает с MSFlexGrid. Конечно, это не столь важно, но...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 32

    TopList