Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Вниз

Мой вариант управления размером тулбара :)   Найти похожие ветки 

 
eSKey   (2002-05-16 10:50) [0]

Не все же вопросы писать, надо и ответы иногда ;) Если помните, я спрашивал как правильно подогнать размер тулбара, не получалось через Width & Heigth. Оказалось, что на тестовых компах стоит не только высокое разрешение, но и крупных шрифт в настройках экрана. Соответственно рабочий код (проверен сейчас):

//Images - ImageList кнопок Toolbar"a
//ViewR - Toolbutton с самым длинным кэпшн, при Autosize все кнопки будут одинаковы по ширине
procedure TMainForm.FormCreate(Sender: TObject);
yCaption:=getsystemmetrics(SM_CYCAPTION);
yFrame:= getsystemmetrics(SM_CYFRAME);
yFrame:=yFrame*2;
Xfactor:=Images.Height+MyToolBar.Canvas.TextHeight(ViewR.Caption);
TBXSize:=MyToolBar.Canvas.TextWidth(ViewR.Caption)+getsystemmetrics(SM_CXFRAME)*2;
minYsize:=Xfactor+yFrame;
minYsize:=yFrame+yCaption+minYsize;
minXsize:=MyToolBar.ButtonCount*TBXSize;

Возможно такой код выглядит не слишком красиво и очевидно, однако размеры получаются абсолютно те, что нужно (могу выложить скриншот).

Вопрос по ходу: как программно определить системные настройки масштабирования шрифта (Дисплей::Свойства::Настройка::[Дополнительно])?

ЗЫ: Спасибо за вчерашний совет по тредам! Надо было мне выложить весь текст конструктора, там был еще один баг с недосыпа :) - CopyFrom в несозданный стрим (запутала фраза из хелпа - Using CopyFrom eliminates the need for the user to create, read into, write from, and free a buffer when copying data.).


 
Игорь Шевченко   (2002-05-16 11:09) [1]


> Вопрос по ходу: как программно определить системные настройки
> масштабирования шрифта (Дисплей::Свойства::Настройка::[Дополнительно])?


В Delphi - Screen.PixelsPerInch
Через API, соответсвенно,
GetDeviceCaps(DC, LOGPIXELSY);



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
3-88325
qqqq
2002-04-29 11:50
2002.05.27
GROUP BY ?


1-88485
Faustus
2002-05-15 14:41
2002.05.27
Класс


1-88455
Бульбаш
2002-05-17 16:45
2002.05.27
Смена клавиши табуляции


3-88317
weak
2002-04-29 17:06
2002.05.27
Простите, но опять проблема с полем даты


1-88550
st_Lexa
2002-05-16 11:30
2002.05.27
Как разделить форму?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский