Einzelnen Beitrag anzeigen

SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#3

Re: Postmessage probleme (falsche lparam werte)???

  Alt 9. Okt 2008, 12:02
ja also wie gesagt, x, y errechne ich wie folgt:


1. Maus wird auf Position 100,100 bewegt, dort werden aus dem Porgramm koordniaten ausgelesen,

2. Maus wird auf Position 500,500 bewegt, dort werden aus dem Porgramm koordniaten ausgelesen,

3. Es wird errechnet, welche Länge bzw Breite 1 Pixel in x-Richtung und 1 Pixel in y-Richtung hat.


demzufolge bewege ich dann meine maus auf die gewünschtge Position. Diese ist auch korrekt, nur wird scheinbar der klick nicht vollständig ausgeführt.

klicke ich nach ausführen des codes genau an die Stelle wo die maus hin bewegt wurde, dann funktioniert das was bei einem linksklick auch passieren sollte.


das macht mich stutzig!



Wahrscheinlich liegt es wirklich an der fensterposition, wie bekomme ich denn die Borderhöhe des Fensters raus?


Delphi-Quellcode:
Function Get_CommBox_selected_CallSign : string;
var Handle : Hwnd;
    WndCaption: PWideChar;
    len: Integer;
begin
  Handle := Find_WindowHandle('#32770','COMMBox');
  Handle := get_Handle(Handle,'Edit');
  len := SendMessage(Handle, WM_GETTEXTLENGTH, 0, 0);
  if len > 0 then
    begin
    len := len * 2;
    WndCaption := GetMemory(len + 1);
    if Assigned(WndCaption) then
      begin
      SendMessageW(Handle, WM_GETTEXT, len + 1, Integer(WndCaption));
      result := String(WndCaption);
      FreeMemory(WndCaption);
      SendMessageW(Handle, WM_setTEXT, 0, Integer(0));
      end;
    end;
end;


also auch wenn ich die Borderhöhe und alles abziehen von der position funktioniert der linksklich nicht! es geht nur ein rechtsklick;
Marco Tröger
  Mit Zitat antworten Zitat