Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизРазрешение экрана и форма Найти похожие ветки
← →
Monah (2005-11-01 15:42) [0]Скажите пожалуйста как сделать чтобы при различных разрешениях экрана программа нормальо выглядела. И как сделать чтобы все кабы сжималось при изменение разиеров
← →
Nitur (2005-11-01 17:45) [1]Кажеться есть какойто там проседура масштабирования точно незнаю. может кто знает тоже это интересует
← →
ArchValentin © (2005-11-02 01:37) [2]
> Nitur (01.11.05 17:45) [1]
мда, мужик, ты конечно помог... :)))
← →
Nitur (2005-11-02 19:33) [3]ArchValentin
ну помоги если знаешь я просто слышал такое
← →
Sysanin (2005-11-03 12:09) [4]Можно попробовать узнать текущее разрешение экрана и уже подгонять по нему как нужно. Текущее разрешение экрана можно узнать с помощью вызова GetSystemMetrics() в качестве параметров передается: SM_CXSCREEN высота рабочей области экрана в пикселах SM_CYSCREEN ширина рабочей области экрана в пикселах SM_CXFULLSCREEN высота всей экранной области в пикселах SM_CYFULLSCREEN ширина всей экранной области в пикселах Ниже приведен пример получения высоты и ширины рабочей области экрана (для всей экранной области надо просто поменять параметры вызова GetSystemMetrics): Var x, y : Integer; Mode:String; begin x:=GetSystemMetrics(Sm_Cxscreen); y:=GetSystemMetrics(Sm_CYscreen); Mode:=Format("%d x %d",[x,y]); If y=480 Then Mode:=Mode+("Standard VGA") Else Mode:=Mode+("Super VGA"); StaticText1.Caption:=Mode;
← →
Floppy © (2005-11-03 13:33) [5]>Monah (01.11.05 15:42)
Прежде всего поясни, что для тебя означает - при различных разрешениях экрана программа нормально выглядела
В чем заключается ненормальность при различных разрешениях? Решения тебе надеюсь подскажут
← →
Monah (2005-11-03 14:05) [6]ну я делаю 1024 768
при 800 600 у проги появляеться скролбары а при 1280 там вообще свободно еместо
← →
Floppy © (2005-11-03 16:34) [7]Попробуй так:
procedure TForm1.FormCreate(Sender: TObject);
const
cScreenWidth: integer = 1024;
cScreenHeight: integer = 768;
cPixelsPerInch: integer = 96;
cFontHeight: integer = -11; {В режиме проектирование значение из Font.Height}
begin
if (Screen.width > cScreenWidth) or (Screen.PixelsPerInch <>
cPixelsPerInch) then
begin
Form1.scaled := TRUE;
Form1.height := Form1.height * screen.Height div cScreenHeight;
Form1.width := Form1.width * screen.width div cScreenWidth;
Form1.ScaleBy(screen.width, cScreenWidth);
end;
if (Screen.PixelsPerInch <> cPixelsPerInch) then
begin
for ii := Form1.ControlCount - 1 downto 0 do
TFooClass(Form1.Controls[ii]).Font.Height:=
(Form1.Font.Height div cFontHeight) *
TFooClass(Form2.Controls[ii]).Font.Height;
end;
end;
Возможно поможет
← →
msguns © (2005-11-03 16:41) [8]>Floppy © (03.11.05 16:34) [7]
Ух, лихо ! А как быть с тем, что на "экране" может быть еще панель задач, офисная панель и еще что-нибудь "панельное" ?
А просто использовать якоря, выравнивание и сплиттеры ?
← →
Duralei (2005-11-03 17:30) [9]флоппи спасибо щя проверю и еще сразу вопрос а как сделать чтобы наприме при изменение размеров формы? то есть при ресайзе как делать? тчобы иео и другие уменьшались?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c