Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Cannot focus a disabled or invisible window....

  Alt 19. Apr 2004, 15:00
Hallo himitsu,

ich habe den Fehler gefunden! Ich hatte vor einigen Tagen das Problem, dass beim Scrollen des Grids die besagte darüberschwebende LookupComboBox nicht verschwand. Ich wollte diese aber ausblenden. Tja und da haben wir auch schon dass Problem:

Im OnDrawCollumnCell mache ich folgendes:
Delphi-Quellcode:

procedure TForm_Main.DBGrid_DetailDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var Grid: TDBGrid;
begin

  DBLookupBox_GridDetail.Hide; // wenn ich das hier auskommentiere ist der Fehler verschwunden

    // Wenn das Feld fokussiert ist und ein Lookup dann...
  if (gdFocused in State) then
    if (Column.Field.Lookup) then
      begin
        //...setze Lookup-Attribute
        SetLookup(Grid,Column,DBLookupBox_GridDetail); // setzen der Lookup-Attribute
        if (Column.Field.KeyFields = DBLookupBox_GridDetail.KeyField) then
          PlaceLookupBox(DBLookupBox_GridDetail,Rect,Grid); // festlegen der Position der Box:

      end
      
   end;

procedure PlaceLookupBox(LookupBox: TDBLookupComboBox;const Rect: TRect; Grid:
            TDBGrid);
begin
  with LookupBox do
    begin // setze Eigenschaften
      Left := Rect.Left + Grid.Left + 2;
      Top := Rect.Top + Grid.Top + 2;
      Width := Rect.Right - Rect.Left-15;
      Height := Rect.Bottom - Rect.Top;
      DropDownWidth:= 250;
      BringToFront; // Ist dies das Problem?
      Visible := True;
      Form_Main.Label6.Caption:= 'Alles klar';
    end;
end;
Aber was ist jetzt der eigentliche Auslöser des Problems?
Gruß,

Barnti
  Mit Zitat antworten Zitat