Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fremden ListView einen Eintrag hinzufügen (https://www.delphipraxis.net/123416-fremden-listview-einen-eintrag-hinzufuegen.html)

napsterxx 1. Nov 2008 13:31


Fremden ListView einen Eintrag hinzufügen
 
Jup, ich würde gerne einer fremden ListView mit vier Spalten einen Eintrag hinzufügen :D Aber keine Ahnung wie das gehen soll.

napsterxx 1. Nov 2008 16:06

Re: Fremden ListView einen Eintrag hinzufügen
 
Weis wirklich niemand wie es geht? Geht es vll überhaupt nciht?

toms 1. Nov 2008 16:12

Re: Fremden ListView einen Eintrag hinzufügen
 
Zitat:

Zitat von napsterxx
Weis wirklich niemand wie es geht? Geht es vll überhaupt nciht?

Delphi-Quellcode:
function ListView_InsertColumn(hwnd: HWND; iCol: Integer; const pcol: TLVColumn): Integer;
begin
  Result := SendMessage(hWnd, LVM_INSERTCOLUMN, iCol, Longint(@pcol));
end;
PS: Rechtschreibung :warn:

Apollonius 1. Nov 2008 16:25

Re: Fremden ListView einen Eintrag hinzufügen
 
Ich vermute, dass man die Struktur erst in den Adressraum des Zielprozesses schreiben muss.

napsterxx 1. Nov 2008 16:32

Re: Fremden ListView einen Eintrag hinzufügen
 
@toms
Fügt diese Funktion nun eine Spalte oder eine Zeile ein? Ich glaube ein Spalte, aber mein Anliegen ist das Einfügen einer Zeile.

PS: Rechtschreibung besser? :D

Adressraum?

napsterxx 2. Nov 2008 13:28

Re: Fremden ListView einen Eintrag hinzufügen
 
Huhu :D Das muss doch irgendwie funktionieren, eine neue Zeile in einer fremden Listview hinzuzufügen. Gibt es niemand der das weis?

mkinzler 2. Nov 2008 13:29

Re: Fremden ListView einen Eintrag hinzufügen
 
Warum willst du in einen fremdem Listview was einfügen?

napsterxx 2. Nov 2008 13:51

Re: Fremden ListView einen Eintrag hinzufügen
 
Es geht um eine Banlist. Ich füge erst etwas in eine SQL Tabelle ein, und dann muss ich den Eintrag in die Listview einfügen, sonst müsste der Anwender das Programm neustarten, das die neue Banlist geladen wird.

Relicted 2. Nov 2008 13:59

Re: Fremden ListView einen Eintrag hinzufügen
 
Tacho.

Schaust du hier - evtl musst bissl umbauen aber das klappt. benutze ich in ner geänderten form in nem treeview.

gruß
reli

napsterxx 2. Nov 2008 14:17

Re: Fremden ListView einen Eintrag hinzufügen
 
Das schaffe ich nie im Leben umzubauen.

napsterxx 2. Nov 2008 15:11

Re: Fremden ListView einen Eintrag hinzufügen
 
Delphi-Quellcode:
var
  test: TLVItem;
  Cap: pAnsiChar;
begin
  Cap := 'test';
  test.iItem := 1;
  test.iSubItem := 1;
  test.pszText := @Cap;
  Result := SendMessage(hWnd, LVM_INSERTITEM, w, cardinal(@pcol));
So gehts auch nicht :(

Relicted 2. Nov 2008 15:28

Re: Fremden ListView einen Eintrag hinzufügen
 
du MUSST dich in den speicher der applikation reinhängen...
ich hätte erwartet dass jetzt fragen zu dem link kommen (da gibts einen download in dem thread - und da ist sogar zum auslesen ein beispiel drin!)

hast du überhaupt reingeschaut?
nach deiner aussage würde ich nein sagen...

hast du mal debugged?
ich denke nicht...

wenn du keine lust hast selbstinitiative zu zeigen wird dir hier auch keiner wirklich weiterhelfen... nach deinem postcount solltest du das aber auch wissen.
es gibt nix was man nicht kann... wenn man etwas nicht hinbekommt auf anhieb dann hat man sich nicht genug damit beschäftigt...

Gruß
reli

napsterxx 2. Nov 2008 15:35

Re: Fremden ListView einen Eintrag hinzufügen
 
Ich verwende schon seit einiger Zeit diese Funktion zum Auslesen eines TreeView oder ListView Steuerelements, aber so Leid es mir tut, ich weis nicht was bzw wie "sich in den Speicher hängen" funktionieren soll. Postanzahl hat nichts über die Fähigkeiten zu sagen. Es gibt gute und schlechte Programmierer mit mehr als 1000 Posts. Selbstinitiative habe ich sehrwohl gezeigt, sonst hätte ich wohl kaum eine SendMessage funktion bauen können wozu ich auf folgender Seite ein Beschreibung gefunden habe.
http://www.joachimrohde.com/cms/xoop...icle.php?id=89

Merke dir: Nicht flamen oder spammen, wenn du helfen willst dann tue dies, ansonsten nicht, sprich nicht von Selbstinitiative wenn es unangebracht ist. Zudem finde ich deine Hilfe des Auslesens eines Steuerelements überflüssig, da ich dies nicht machen will.

Gruß

Relicted 2. Nov 2008 16:49

Re: Fremden ListView einen Eintrag hinzufügen
 
wenn ich flamen wollen würde würde das anders aussehen...

schau dir doch mal an was in der demo gemacht wird. da ist das mit dem "in den speicher hängen" schon drin...

das reinhängen tut ja die unit für dich... du brauchst dich ja nur um
Delphi-Quellcode:
  MemMgr := CreateProcessMemMgrForWnd(Wnd);
diese zeile zu kümmern...

debug doch einfach mal die demo... dir wird dann auffallen was du brauchst, was raus kann und du wirst merken dass es nicht nur funktionen wie
Delphi-Quellcode:
ListView_GetItem(Wnd, PrItem^);
sondern auch ListView_SetItem, ListView_InsertItem und ListView_DeleteItem, usw usw usw... gibt.

Das meine ich zur eigeninitiative... ich helfe dir gerne wenn du fragen zu dem code hast. ich finds halt nur sehr schade wenn man jemanden die werkzeuge und das material in die hand gibt und dann nix dazu kommt ausser "ich kann das nicht". das is dann der punkt wo ich an einen spruch denken muss: "stell dich dumm und dir wirds gemacht". ich meine wenn ich dir zeige wie man butter auf nen toast streicht und dir dann butter, messer und nen roggenbrot hinhalte erwarte ich dass du zumindest versuchst es mit butter zu beschmieren und nicht das messer aus der hand legst und sagst "das kann ich nicht!".

Sorry...

napsterxx 5. Nov 2008 20:59

Re: Fremden ListView einen Eintrag hinzufügen
 
Also so leid es mir tut sagen zu müsse:
Ich habe probiert Butter aufs Brot zu schmieren, aber es hat nicht geklappt.
Ich bin der Meinung, es geht nur mit Sendmessage, das blöde ist nur, meine Methode löscht die Caption eines Items, fügt allerdings kein neues hinzu.

napsterxx 6. Nov 2008 12:12

Re: Fremden ListView einen Eintrag hinzufügen
 
Habe es geschafft.
DLL injiziert welche dann das Item hinzufügt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz