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
)