Avatar billede freesite Nybegynder
29. august 2008 - 18:35 Der er 4 kommentarer og
1 løsning

Check om groupbox isBringToFront=true

Hej eksperter

er ved at lave et program med 3 Groupbokse, disse er placeret oven i hinanden og frembringes ved at klikke på en tilhørende knap (groupboxX.bringToFront).

Jeg vil gerne tilføje en printer funktion som printer den groupbox som er inFront.
Hvordan kan jeg se hvilken groupbox som er forrest, havde tænkt mig noget ligende.

if groupbox.isInFront=true then begin
  print...
end
Avatar billede kroning Nybegynder
29. august 2008 - 18:59 #1
Der findes muligvis en bedre metode men dette giver dig front Groupboksen:

function GetFrontGroupBox(WinControl : TWinControl) : TGroupBox;
var
  i : integer;
begin
  for i:=0 to WinControl.ControlCount-1 do
    if (WinControl.Controls[i] is TGroupBox) then
      result:=(WinControl.Controls[i] as TGroupBox);
end;

-----------

Hvis dine Groupbokse er på din form så:
showmessage(GetFrontGroupBox(Self).Caption);
Avatar billede kroning Nybegynder
29. august 2008 - 19:01 #2
Eller:

function GetFrontGroupBox(WinControl : TWinControl) : TGroupBox;
var
  i : integer;
begin
  for i:=WinControl.ControlCount-1 downto 0 do
    if (WinControl.Controls[i] is TGroupBox) then
    begin
      result:=(WinControl.Controls[i] as TGroupBox);
      exit;
    end;
  result:=nil;
end;
Avatar billede freesite Nybegynder
29. august 2008 - 21:26 #3
Hej kroning

Det virker bare, tak for hjælpen. Vil du lige ligge et svar.
Avatar billede kroning Nybegynder
29. august 2008 - 21:28 #4
ok
Avatar billede hrc Mester
30. august 2008 - 21:04 #5
Jeg hader, hader, hader, hader, hader (frit efter Ålen Aalbæk) når man placerer komponenter ovenpå hinanden. Det er noget rod. Brug en TPaceControl hvor TTabSheet.TabVisible (?) := false i stedet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester