Господа-граждане! Нет отрисовки рамки в GroupBox, RadioGroup,CheckGroup
Кто-нить сталкивался?
Таки все по отрисовке GroupBox gtk2
Модератор: Модераторы
а можно скриншоты с тем "как есть" и "как должно быть"?!
К сожалению сейчас не могу. Выглядит это так. В разработке кидаем на форму GroupBox - виден только Caption м обозначена рамка - самой рамки нет... Свойства типа Color не поддерживаются...
Владимир писал(а):К сожалению сейчас не могу. Выглядит это так. В разработке кидаем на форму GroupBox - виден только Caption м обозначена рамка - самой рамки нет... Свойства типа Color не поддерживаются...
в багрепорт его, со скришотами!
Не только отрисовка GroupBox отсутствует под GTK2 под линукс
Этот вопрос уже обсуждался на форуме
в моем топике "Ничего не делают свойства Borderstyle и Bordericons в Linux"
viewtopic.php?f=5&t=4056&hilit=BorderIcons
Этот вопрос уже обсуждался на форуме
в моем топике "Ничего не делают свойства Borderstyle и Bordericons в Linux"
viewtopic.php?f=5&t=4056&hilit=BorderIcons
Доброго! По отрисовке GroupBox - в моих приложениях не сильно волнует - написал функцию по отрисовке с использованием TBevel с параметрами GroupBox - работает!
Ваш топик не нашел - к сожалению.
p.s. ф-цию могу выложить - если интересно...
Добавлено спустя 18 минут 18 секунд:
в багрепорт это ушло?
Добавлено спустя 20 часов 27 минут 19 секунд:
На всякий пожарный выкладываю код отрисовки рамки GroupBox, чтобы хоть прилично выглядело...
Понятно, что должно работать и с TRadioGroup, и с TCheckGroup.
Использую TBevel
Результат - рамка ПОД GroupBox.Caption.
Жду критику...
Ваш топик не нашел - к сожалению.
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;
Жду критику...
Здравствуйте все. Может немного не в тему...
Имеется БД 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
Имеется БД 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 писал(а):Что делаю не так?
Код: Выделить всё
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; Что накодишь, то и будет. Ищи косяк в значениях из БД

