Lazarus + WinCE

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

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

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

Сообщение Юра »

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

Сообщение SovNarKom »

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

Сообщение SovNarKom »

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

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

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

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

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

     mainMenu := NewMenu(form,0,
     [
     'File',
     '(',
       'New',
       'Open',
       'Save As..',
       '-',
       '&Exit',
     ')'
     ],
     nil
     );


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

Сообщение Юра »

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

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

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

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

Сообщение SovNarKom »

Так как пока 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. 


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

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

Сообщение Юра »

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

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

Сообщение SovNarKom »

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

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

Сообщение Юра »

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;
SovNarKom
постоялец
Сообщения: 389
Зарегистрирован: 28.05.2005 10:37:39
Откуда: Воронеж [vrn] [36]
Контактная информация:

Сообщение SovNarKom »

Юра
Во, спасибо, про 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 »

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

Сообщение Юра »

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

Сообщение SovNarKom »

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

Сообщение Юра »

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

Сообщение SovNarKom »

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

 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);
Юра
постоялец
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Юра »

Починил. Теперь приведенный код работает.
Ответить