Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

GetPixel gibt fehlerhaften Wert zurück

  Alt 8. Aug 2006, 22:44
Ich habe folgenden Code:
Delphi-Quellcode:
procedure TfrmEId3.FormShow(Sender: TObject);
var
  hDesk : HWND;
  hdcDesktop : HDC;
  i : Byte;
begin
  hDesk := GetDesktopWindow;
  hdcDesktop := GetWindowDC(hDesk);

  for i := 0 to xiBg.ControlCount - 1 do begin
    if xiBg.Controls[i] is TEdit then begin
      (xiBg.Controls[i] as TEdit).Color := GetPixel(hdcDesktop, 71, xiBg.Controls[i].Top);
    end;
  end;
end;
Der bei Show ausgeführt wird. Diese TEdits haben folgende Position:
Top = 32 + (Edit - 1) * 16
Left = 72

Das sind 7 Edits die alle untereinander angeordnet sind.
Alle sind auf einem "xiPanel", welches eine Farbverlauf hat und mit diesem Code wollte ich den Pixelfarbwert von Edit.Top und Edit.Left - 1 (immer 71) nehmen... Nun funktioniert das auch schon einigermaßen ( )... Siehe Anhang... Ich kann mit das eigentlich nicht erklären... (Das 1. Edit kann man nicht erkennen )
Angehängte Dateien
Dateityp: zip farbmurks_195.zip (4,3 KB, 29x aufgerufen)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat