pagecontrol свойство pagecontrol.Pages[y].Highlighted

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

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

Ответить
Валентина
новенький
Сообщения: 16
Зарегистрирован: 02.09.2013 13:05:37

pagecontrol свойство pagecontrol.Pages[y].Highlighted

Сообщение Валентина »

Всем привет! Ругается на свойство pagecontrol.Pages[y].Highlighted. В дельфевом варианте все норм. Подскажите, пожалуйста, как обойти ситуацию?
Zak
новенький
Сообщения: 31
Зарегистрирован: 16.06.2013 07:24:39
Откуда: морозная Сибирь

Сообщение Zak »

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

и что значит обойти? а что в вашем случае это свойство делало? какую роль? можно кусок кода и описание ошибки?
Валентина
новенький
Сообщения: 16
Зарегистрирован: 02.09.2013 13:05:37

Сообщение Валентина »

Zak писал(а):Не совсем понимаю, что это свойство делает, но догадываюсь - полоска сверху наверное.
такого свойства просто нету. соответственно его просто не использовать.

и что значит обойти? а что в вашем случае это свойство делало? какую роль? можно кусок кода и описание ошибки?


На экране появляется pagecontrol с переменным числом закладок, на каждой закладке списки. В зависимости от значений в этих списках часть закладок должна как-то помечаться. В моем дельфевом варианте это так:

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

for y:=1 to PageControl1.PageCount do
begin
...
if dog[x,8]=1 then
      pagecontrol1.Pages[y].Highlighted := true;
...
end;


Т.е. пользователь должен эти закладки как-то от других отличить.
svk12
постоялец
Сообщения: 411
Зарегистрирован: 09.06.2008 18:42:47

Сообщение svk12 »

Можно менять у закладок свойство ImageIndex.
Валентина
новенький
Сообщения: 16
Зарегистрирован: 02.09.2013 13:05:37

Сообщение Валентина »

svk12 писал(а):Можно менять у закладок свойство ImageIndex.

Большое спасибо за ответ, хорошая идея, буду пробовать.

Тут еще проблемка нарисовалась. Потом я запускаю просмотрщик изображений, находящихся в выбранном каталоге командой:

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

 WinExec(pAnsichar('rundll32.exe shimgvw.dll ImageView_Fullscreen '+path+file_name),SW_SHOWNORMAL)


А как бы это сделать под линуксом?
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

Валентина писал(а):А как бы это сделать под линуксом?

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

Uses ..., lclintf;

...
OpenDocument(path+file_name);
...

Файл откроется в той программе, которая назначена по умолчанию для просмотра данного файла. Кроссплатформенно, работает и в Linux и в Windows.
svk12
постоялец
Сообщения: 411
Зарегистрирован: 09.06.2008 18:42:47

Сообщение svk12 »

Для запуска приложений можно использовать компонент TAsyncProcess со страницы "System" (кроссплатформный вариант) или,
под Линуксом, функцию fpSystem из модуля Unix.
Валентина
новенький
Сообщения: 16
Зарегистрирован: 02.09.2013 13:05:37

Сообщение Валентина »

Большое спасибо за советы! Буду экспериментировать. С свойством ImageIndex все получилось, еще раз спасибо!.
Ответить