Показать сообщение отдельно
  #2  
Старый 25.08.2009, 00:04
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Да в принципе, доп. компоненты необязательны...
Можно и так нарисовать картинку в Edit'е.
Код:
procedure DrawToEdit;
var
  DC: HDC;
  bmp: TBitmap;
begin
  DC := GetDC(Form1.Edit1.Handle);
  bmp := TBitmap.Create;
  try
    bmp.Height := 32;
    bmp.Width := 32;
    DrawIcon(Bmp.Canvas.Handle, 0, 0, Application.Icon.Handle);
    StretchBlt(DC, Form1.Edit1.ClientWidth - Form1.Edit1.ClientHeight, 0,
               Form1.Edit1.ClientHeight, Form1.Edit1.ClientHeight, Bmp.Canvas.Handle,
               0, 0, bmp.Width, bmp.Height, SRCCOPY);
  finally
    bmp.Free;
    ReleaseDC(Form1.Edit1.Handle, DC);
  end;
end;

Только придется перерисовывать картинку при каждом «существенном» для Edit'а событии:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  DrawToEdit();
end;

procedure TForm1.Edit1Click(Sender: TObject);
begin
  DrawToEdit();
end;
Ответить с цитированием