Lazarus + WinCE

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Сообщение Юра » 05.08.2007 15:00:08

Т.к. применять патч буду я, то лучше сразу сделать отдельный tapi.inc :)
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение SovNarKom » 05.08.2007 15:58:29

Хорошо, в ближайшее время.
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение SovNarKom » 05.08.2007 21:37:45

Патч выложил.
Постепенно планирую ещё кое какие, а может и все=) куски SDK портировать, но это по мере необходимости.
Поэтому, если кто-то разрабатывает что-либо под покет, и в особенности смарт - не молчите.

У меня 1 в планах - портировать сдк, касающееся работе с сим-картой.
2 - сетевые всякие штуки.

---------------------

А ещё у меня вдогонку вопрос, что делать с меню, (на смартах это две кнопки внизу экрана).
Мне бы просто хотелось всю эту нижнюю полоску скрыть.
Кстати, хотя я возможно где-то ошибся, меню к ним как-то в KOL цепляется непонятно...

Код: Выделить всё
     mainMenu := NewMenu(form,0,
     [
     'File',
     '(',
       'New',
       'Open',
       'Save As..',
       '-',
       '&Exit',
     ')'
     ],
     nil
     );


А в результате однострочное вплывающее, причём даже без подписи.
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение Юра » 06.08.2007 14:18:23

SovNarKom
tapi.inc уже применил. Спасибо!

Насчет меню на смартах. Скрывать его не надо. Надо просто создавать меню, чтобы было не более 2х элементов верхнего уровня.

С подписью кнопок есть какой-то глюк. Прочитав твое сообщение запустил тестовое приложение на смарте и подписей к кнопкам не было. Долго бился головой об стену, чтобы починить.
Потом удалил тулбар с формы и кнопки стали подписаными :shock:
Добавил опять тулбар - все равно кнопки с надписями.

Если получится сделай тестовую программу, где баг с надписями проявляется и кинь мне на мыло.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение SovNarKom » 06.08.2007 19:30:00

Так как пока MSK я не использую код просто для KOL выложу тут.

Код: Выделить всё
program menutest;

{$mode objfpc}{$H+}

uses
KOL;

var
form: PControl;
menu: PMenu;

begin
form:=NewForm(Applet, 'First');
menu:=NewMenu(form, 0,
  ['Left',
   '(','One','Two','Three',')',
   'Right'], nil);
Run(form);
end. 


У правой кнопки подпись есть, а у левой - нет, причём всё левое подменю состоит из одного пустого пункта.

Кстати, я как сторонник легко настраиваемого, по крайней мере разработчиком, интерфейса, считаю, что если в приложении явно меню не создавалось то и этой строки быть не должно. Но пока как её убрать при помощи апи я не нашёл...
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение Юра » 07.08.2007 16:21:39

Меню починил.

Насчет невидимости строки меню - на смартах меню обязательно. Область меню даже не включена рабочую область экрана, которая выдается соответствующими функциями на смартах.
Вот на Pocket PC меню не обязательно
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение SovNarKom » 07.08.2007 16:34:03

>Меню починил.
Хорошо.

>меню - на смартах меню обязательно
Плохо, хочется полностью полноэкранное... а GAPI не хочется.
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение Юра » 08.08.2007 01:19:33

SovNarKom писал(а):>меню - на смартах меню обязательно
Плохо, хочется полностью полноэкранное... а GAPI не хочется.


Меню желательно для обычных приложений.
Но при необходимости полноэкранную форму можно сделать таким образом:
Код: Выделить всё
Form.CreateWindow;
DestroyWindow(SHFindMenuBar(Form.Handle));
SHFullScreen(Form.Handle, SHFS_HIDETASKBAR or SHFS_HIDESTARTICON or SHFS_HIDESIPBUTTON);
Form.BoundsRect:=MakeRect(0, 0, ScreenWidth, ScreenHeight);
Form.HasBorder:=False;
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение SovNarKom » 08.08.2007 01:27:22

Юра
Во, спасибо, про SHFullScreen(Form.Handle, SHFS_HIDETASKBAR or SHFS_HIDESTARTICON or SHFS_HIDESIPBUTTON); я знал, верхняя полоска убирается... а вот про
DestroyWindow(SHFindMenuBar(Form.Handle)); не знал.

Меню конечно будет, но с другим оформлением...
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение SovNarKom » 08.08.2007 08:12:18

Не... к сожалению меню не исчезло... но заработало.
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение Юра » 08.08.2007 11:12:52

Вставь приведенный выше код полностью. Тогда окно будет на весь экран без всяких меню.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение SovNarKom » 08.08.2007 16:26:55

Полность вставлял... вопрос только куда его надо вставлять.
Если у меня чистый KOL.
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение Юра » 08.08.2007 16:59:54

Вставь сразу после создания формы.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение SovNarKom » 08.08.2007 17:17:34

Код: Выделить всё
Form:=NewForm(nil, 'First');
Form^.CreateWindow;
DestroyWindow(SHFindMenuBar(Form^.Handle));
SHFullScreen(Form^.Handle, SHFS_HIDETASKBAR or SHFS_HIDESTARTICON or SHFS_HIDESIPBUTTON);
Form^.BoundsRect:=MakeRect(0, 0, ScreenWidth, ScreenHeight);
Form^.HasBorder:=False;
btn:=NewButton(Form, 'Go');
btn^.Align:=caTop;
Run(form);
SovNarKom
постоялец
 
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]

Сообщение Юра » 09.08.2007 00:08:28

Починил. Теперь приведенный код работает.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Пред.След.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

Рейтинг@Mail.ru