Таки все по отрисовке GroupBox gtk2

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

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

Таки все по отрисовке GroupBox gtk2

Сообщение Владимир » 24.10.2009 01:22:07

Господа-граждане! Нет отрисовки рамки в GroupBox, RadioGroup,CheckGroup
Кто-нить сталкивался?
Владимир
постоялец
 
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Re: Таки все по отрисовке GroupBox gtk2

Сообщение скалогрыз » 24.10.2009 01:28:05

а можно скриншоты с тем "как есть" и "как должно быть"?!
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Таки все по отрисовке GroupBox gtk2

Сообщение Владимир » 24.10.2009 01:33:58

К сожалению сейчас не могу. Выглядит это так. В разработке кидаем на форму GroupBox - виден только Caption м обозначена рамка - самой рамки нет... Свойства типа Color не поддерживаются...
Владимир
постоялец
 
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Re: Таки все по отрисовке GroupBox gtk2

Сообщение скалогрыз » 24.10.2009 01:44:27

Владимир писал(а):К сожалению сейчас не могу. Выглядит это так. В разработке кидаем на форму GroupBox - виден только Caption м обозначена рамка - самой рамки нет... Свойства типа Color не поддерживаются...

в багрепорт его, со скришотами!
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Таки все по отрисовке GroupBox gtk2

Сообщение alexmai » 26.10.2009 15:46:34

Не только отрисовка GroupBox отсутствует под GTK2 под линукс
Этот вопрос уже обсуждался на форуме
в моем топике "Ничего не делают свойства Borderstyle и Bordericons в Linux"
viewtopic.php?f=5&t=4056&hilit=BorderIcons
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Таки все по отрисовке GroupBox gtk2

Сообщение Владимир » 26.10.2009 23:43:09

Доброго! По отрисовке GroupBox - в моих приложениях не сильно волнует - написал функцию по отрисовке с использованием TBevel с параметрами GroupBox - работает!
Ваш топик не нашел - к сожалению.
p.s. ф-цию могу выложить - если интересно...

Добавлено спустя 18 минут 18 секунд:
в багрепорт это ушло?

Добавлено спустя 20 часов 27 минут 19 секунд:
На всякий пожарный выкладываю код отрисовки рамки GroupBox, чтобы хоть прилично выглядело...
Понятно, что должно работать и с TRadioGroup, и с TCheckGroup.
Использую TBevel
Результат - рамка ПОД GroupBox.Caption.
Код: Выделить всё
procedure TMainFrm.FormCreate(Sender: TObject);
var
i,l,w,t,h,fh:Integer;
nam:AnsiString;
FParent:TWinControl;
begin
//для создания bevel выясняем координаты и отцов всех GroupBox
for i:=0 to ComponentCount-1 do
if Components[i] is TGroupBox then begin
FParent:=(Components[i] as TGroupBox).Parent;
l:=(Components[i] as TGroupBox).Left;
w:=(Components[i] as TGroupBox).Width;
t:=(Components[i] as TGroupBox).Top;
h:=(Components[i] as TGroupBox).Height;
fh:=(Components[i] as TGroupBox).Font.Height;
  //здесь вызвать ф-цию создания bevel как альтернативу отрисовки GroupBox
CreateBevelNew(fParent,l,w,t,h,fh);
end;
end;
//а вот и сама ф-ция
function TMainFrm.CreateBevelNew(fPar:TWinControl;l,w,t,h,f_h:Integer):Byte;
var
myBevel:TBevel;
begin
myBevel:=TBevel.Create(self);
with myBevel do begin
parent:=fPar;
Left:=l;
Width:=w;
Top:=t+f_h+round(f_h/4);//здесь внимательно - высота шрифта в utf отрицательна!
Height:=h-f_h-round(f_h/4);
Shape:=bsFrame;
Style:=bsLowered;
Show;
end;//with
CreateBevelNew:=0;//формально
end;

Жду критику...
Владимир
постоялец
 
Сообщения: 355
Зарегистрирован: 23.08.2007 19:48:39
Откуда: Москва

Re: Таки все по отрисовке GroupBox gtk2

Сообщение 0beron » 22.03.2018 10:21:46

Здравствуйте все. Может немного не в тему...
Имеется БД SqLite3, а на форме CheckGroup
В программе делаю запрос и пытаюсь поменять названия чеков,
доступность и состояние взяв значения из БД

...
sqlIO.First;
for i := 0 to 7 do begin
CheckGroup.Controls[i].Caption := FieldValues['Cap'];
CheckGroup.Controls[i].Enabled := FieldValues['Enb'];
// Не работает никоим образом!!!!!!!!!!!!!!!!!
CheckGroup.Checked[i] := FieldValues['Chk'];
sqlIO.Next;
end;

Caption и Enabled работают на ура, проблемма с Chacked
В БД в этом поле все значения true - в CheckGroup
через один, меняю на false - то же самое...
Что делаю не так?

Lazarus 1.8.2 Linux Rosa KDE
0beron
новенький
 
Сообщения: 23
Зарегистрирован: 18.08.2012 19:32:10

Re: Таки все по отрисовке GroupBox gtk2

Сообщение zoltanleo » 25.03.2018 17:25:20

0beron писал(а):Что делаю не так?

Код: Выделить всё
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  with CheckGroup1 do
  begin
    CheckGroup1.Items.Clear;

    for i:= 0 to 10 do
    begin
      Items.Add('Item ' + IntToStr(i));

      //uses math
      Checked[i]:= (i mod 2 = 0);   
    end;
  end;
end;


Что накодишь, то и будет. Ищи косяк в значениях из БД

Изображение
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru