Показать сообщение отдельно
Старый 03.11.2009, 09:29   #1
Bruteo
ПроЭктировщик
 
Регистрация: 31.01.2007
Сообщений: 128
Написано 20 полезных сообщений
(для 43 пользователей)
Lib_displaysize - ширина и высота дисплея в текущий момент

Библиотека позволяет узнать ширину и высоту дисплея в пикселях в данный момент времени.

Стандартные функции getWidth и getHeight всегда возвращают те размеры, которые были при запуске приложения. Но ширина с высотой могут меняться в процессе работы мидлета.
На некоторых телефонах, в частности, смартфонах nokia: n82, 5800, n97, n95 8gb, e66 и многих других - происходит автоматический поворот экрана при повороте самого телефона. Т.е. ширина "меняется" с высотой. Но при использовании getWidth и getHeight мидлет не знает об этом и продолжает выводить информацию за пределы экрана, а часть экрана наоборот начинает пустовать.
Могут быть и другие случаи, когда размеры изменяются.
Всё это будет учитываться при использовании функций библиотеки.

Библиотека содержит 4 функции:
init - инициализация библиотеки. Нужно вызывать перед использованием других функций. Лучше - сразу после запуска мидлета.
integer lastwidth - возвращает текущую ширину в пикселях.
integer lastheight - возвращает текущую высоту в пикселях.
integer is_resized - проверяет, изменилась ли ширина или высота с момента последнего вызова is_resized(или запуска мидлета). Если какой-либо размер изменился - вернёт 1. Иначе вернёт 0.

Пример использования библиотеки:
Program testsize;
Uses displaysize;
Begin
	displaysize.init;    
	repeat
    setColor(255,255,255);
    FillRect(0, 0, lastwidth, lastheight); 
    setColor(0,0,0);
		DrawText('w '+lastwidth,20,20);
		DrawText('h '+lastheight,20,60);
		DrawRect(15,15,lastwidth-30,lastheight-30);
		if is_resized=1 then
		begin
			DrawText('Размеры изменились,ждём 2 сек',20,100);
			Repaint;
			delay(2000);
		end;		
		delay(100);
    Repaint;
  until false;
End.
В приложении сама библиотека, её исходный код и проект с примером использования.
Вложения
Тип файла: zip Lib_displaysize.zip (2.1 Кб, 584 просмотров)
Тип файла: zip source-Lib_displaysize.zip (546 байт, 531 просмотров)
Тип файла: zip example.zip (7.3 Кб, 527 просмотров)
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Bruteo за это полезное сообщение:
AVL (03.02.2011), odd (03.11.2009), Phantom (11.11.2009), Sk.MaCh (06.11.2009), Skythrone (03.11.2009)