windows - Kontrol Flytter problem i Perl Win32 :: GUI

Indlæg af Hanne Mølgaard Plasc

Problem



I Perl Win32 :: GUI desktop apps,
Mens afkrydsningsfeltet kontrolleret status skal jeg skjule nogle kontroller, og jeg skal flytte kontrollerne til steder, der er skjulte, til vindues kompakt visning i Perl Win32 :: GUI. Under brug af nedenstående kode gentages kontrollens billeder (duplikater) på tidspunktet for kontrol af bevægelser. Venligst vær venlig at give en løsning for at undgå dobbeltbilleder af kontroller, mens du flytter og ændrer størrelsen på vinduet.


sub Check\_Status{
  if($btwdates->GetCheck eq 1){
    $Pushlistmodelabel->Move(30,168);
    $Fromdatelabel->Show();
    $get\_From\_day->Show();
    $Todatelabel->Show();
    $get\_To\_day->Show();
    $FoldersOption->Disable();


    $PushListButton->Move(200,255);
    $processlabel->Move(2,285);

    $PushListButton->Move(135,295);
    $processlabel->Move(2,320);


    $Selectionlabel->Move(195,168);
    $FilesOption->Move(200,195);
    $FoldersOption->Move(200,225);

    $With\_root->Move(35,195);
    $Without\_root->Move(35,225);
    $changeOption->Move(35,255);
    $replacepath->Move(180,255);
    Win32::GUI::DoEvents() >= 0;

  }
  else{
    $FoldersOption->Move(200,165);
    $FilesOption->Move(200,135);
    $FoldersOption->Enable();
    $Selectionlabel->Move(195,108);
    $Pushlistmodelabel->Move(30,108);

    $Fromdatelabel->Hide();
    $get\_From\_day->Hide();
    $Todatelabel->Hide();
    $get\_To\_day->Hide();


    $PushListButton->Move(200,195);
    $processlabel->Move(2,225);
    $Pushlistmodelabel->Move(30,108);
    $With\_root->Move(35,135);
    $Without\_root->Move(35,165);
    $changeOption->Move(35,195);
    $replacepath->Move(180,195);

  }
}

Bedste reference


Hvis du tager et skud i mørket (jeg har ikke en win32 perl-installering), kan du prøve SetRedraw metoden. SetRedraw(0) før omplacering af kontrollerne og SetRedraw(1) bagefter. Måske også en manual Redraw() bagefter. [6]


Der er en ikke-perl-specifik diskussion af nogle teknikker til at undgå flimmer, når opdatering af et vindue i spørgsmålet Win32 GUI flimrer på resize.