Avatar billede jackass- Nybegynder
13. september 2007 - 10:36 Der er 2 kommentarer og
1 løsning

Visning af TImage

Hej,

På min formSettings (som åbnes fra en TPopupmenu) har jeg en TCombobox og en TImage. Jeg laver et tjek inden jeg sætter drivesCombo til enabled := true eller false.

Altså på min TFormSettings.FormCreate:

  if DiskInDrive(mGetDriveLetter) then
    drivesCombo.Enabled := false;

  if not drivesCombo.Enabled then
  begin
    formSettings.Image2.Visible := true;
    formSettings.Image2.Enabled := true;
    formSettings.Image2.Proportional := true;
    formSettings.Image2.Repaint;
  end;

Hvis DiskInDrive(mGetDriveLetter) returnerer true første gang (og drivesCombo dermed bliver disabled) vises Image2 ikke. Men lukker jeg formSettings og åbner den igen, vises den.

Det undrer mig, for i begge tilfælde returnerer DiskInDrive(mGetDriveLetter) true. Hvordan kan det være Image2 ikke vises første gang? :/
Avatar billede hrc Mester
13. september 2007 - 12:07 #1
Måske burde du initialisere drivesCombo først - eller lave det som vist nedenfor.

  drivesCombo.Enabled := not DiskInDrive(mGetDriveLetter);
  Image2.Visible := not drivesCombo.Enabled;
  Image2.Enabled := not drivesCombo.Enabled;
  Image2.Proportional := true;
  Image2.Repaint;
Avatar billede hrc Mester
13. september 2007 - 12:09 #2
var
  NoDiscInDrive: boolean;
begin
  NoDiscInDrive := not DiskInDrive(mGetDriveLetter);

  drivesCombo.Enabled := NoDiscInDrive;

  Image2.Visible := NoDiscInDrive;
  Image2.Enabled := NoDiscInDrive;
  Image2.Proportional := true;

  if NoDiscInDrive then
    Image2.Repaint;
end;
Avatar billede jackass- Nybegynder
13. september 2007 - 13:01 #3
My bad.. Havde overset at nil'e form pointeren. Det virker nu, ellers mange tak :)
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