Einzelnen Beitrag anzeigen

Benutzerbild von ralfiii
ralfiii

Registriert seit: 30. Mai 2007
489 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Caret in TEdit /TComboBox an X/Y - Position setzen

  Alt 5. Sep 2008, 13:04
Zitat von taaktaak:
Du hast das Handle der Combobox übergeben, du benötigst aber das Handle des eingebetteten Edits. Daher funktioniert das nicht.
Der Vorfahr TCustomCombo kennt dieses Handle, schau mal in den Source - es ist dort allerdings als "protected" deklariert
<Snip>
Ok, I see.

Einfachere Lösung: hacken und drübercasten. In der gleichen Unit kommt man ja auch auf die Protected-Teile.

Delphi-Quellcode:
type
  TCrackCombobox = class(TCombobox)
end;
procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
var i : integer;
begin
     i:=SendMessage(TCrackCombobox(ComboBox1).EditHandle, EM_CHARFROMPOS, 0, x);
     if i>=0 then ...
Danke für den Denkanstoss!
  Mit Zitat antworten Zitat