Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi NM_RETURN - Problem (https://www.delphipraxis.net/22651-nm_return-problem.html)

silentAMD 20. Mai 2004 21:33


NM_RETURN - Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi!
ich versuche mich gerade an nonvcl und stecke gerade fest: wenn ich eine datei in der listview öffnen möchte, funktioniert der doppelklick, aber wenn ich auf enter drücke, passiert NICHTS! der quelltext im anhang.

PLEASE HELP!!!


PS: super-respekt an luckie! ohne seine tutorials wäre ich nicht weit gekommen :wink:

MathiasSimmack 21. Mai 2004 11:29

Re: NM_RETURN - Problem
 
Du könntest es alternativ mal mit LVN_KEYDOWN probieren:
Delphi-Quellcode:
    WM_NOTIFY:
      case PNMHdr(lp)^.code of
        LVN_KEYDOWN:
          case PLVKeyDown(lp)^.wvKey of
            VK_RETURN:
              { ... }
          end;
Ein Beispiel für F2 findest du auch in den Tutorials (ms-help://Win32API.Delphi.20/CommonC/Listview/lv-0008.htm) und in der dazu gehörenden Demo. Und schau dir bei der Gelegenheit mal an, wie man die Trennung der WM_NOTIFY-Nachrichten besser machen kann:
Delphi-Quellcode:
    WM_NOTIFY:
      with PNMHdr(lp)^ do
        if(code = TTN_NEEDTEXT) then
        begin
          // Tooltipps für die Toolbar
        end;
        end
        else
        // ab hier der Code für die List-View
        if(hwndFrom = hLV) then
        begin
          { ... }
        end;
Normalerweise muss nämlich auch NM_RETURN funktionieren, nur weil du separat die Nachrichten für Tree-View und List-View bearbeitest, kommen sich da zwei Sachen u.U. in die Quere.

silentAMD 23. Mai 2004 12:22

Re: NM_RETURN - Problem
 
hi!

@MathiasSimmack: ich hab auch schon alles was mit der treeview zu tun hat aus wm_notify rausgschmissen, aber hat auch nicht geholfen.

ich hab auch schon in den tutorials von luckie (commonc/listview) den doppelclick um nm_return ergänzt und da funzt es!!! geht mal von meinem prog aus... :wink:

kann es damit zusammenhängen, dass ich die listview in einer resource ausgelegt habe? wenn ja wäre es für mich kein problem alles ohne resource zu machen, nur die buttons sehen dann so sch****e aus und lassen sich nicht wie normale buttons handeln.

MathiasSimmack 23. Mai 2004 17:03

Re: NM_RETURN - Problem
 
Ob Ressource oder nicht, das sollte eigentlich keine Rolle spielen. Die Programmierung unterscheidet sich ja auch nicht (sieht man mal vom Unterschied zwischen Dialog und Fenster ab ;)). Ich selbst habe zwar gerade kein Beispiel parat, in dem die List-View aus der Ressource kommt. Aber ich kann mir auch nicht vorstellen, dass es daran liegen soll.

Nur die List-View-Demo ist auch nicht ganz so kompliziert.
Sie ist ja nicht mit einem Programm aus dem praktischen Einsatz zu vergleichen. ;)
Also halten sich mögliche Fehlerquellen in Grenzen, und die Sache bleibt überschaubar.

silentAMD 23. Mai 2004 20:51

Re: NM_RETURN - Problem
 
Zitat:

Ich selbst habe zwar gerade kein Beispiel parat, in dem die List-View aus der Ressource kommt.
dann guck mal im anhang :mrgreen: :cyclops:


ich habe schon (fast) alles ausprobiert! schaut doch mal den anhang an und versucht es herauszubekommen! ich werd verrückt :wall: :wall: :wall: :wall: :wall:

MathiasSimmack 23. Mai 2004 20:58

Re: NM_RETURN - Problem
 
Ich meinte damit, ich habe gerade kein Programm von mir parat, in dem die LV aus den Ressourcen kommt. Dann hätte ich dir nämlich sagen können, ob es daran liegt. Aber wie gesagt: Ich glaube es nicht.

Ich schau mir bei Gelegenheit noch mal dein Programm an. Darf ich ein bisschen ändern, wenn ich was Änderungswertes finde? ;) Ich meine, Luckies Original-LV-Demo habe ich ja auch umgebaut. :mrgreen:

silentAMD 23. Mai 2004 21:13

Re: NM_RETURN - Problem
 
natürlich. ich habs ja deswegen zum download bereitgestellt...
versuchs... :zwinker: :mrgreen:

silentAMD 23. Mai 2004 21:15

Re: NM_RETURN - Problem
 
wenn du es schaffst, kannst du es dann wieder bereitstellen?

bitte!!! :cry:

MathiasSimmack 23. Mai 2004 21:45

Re: NM_RETURN - Problem
 
Na ja, versprechen werde ich nichts. Aber eins kann ich dir jetzt schon sagen: Du solltest mal über deinen Stil nachdenken. Bei so einem Ding hier
Delphi-Quellcode:
function dlgfunc(hDlg: hWnd; uMsg: dword; wp: wParam; lp: lParam): bool; stdcall;
var HitHandle: HTreeItem; tv: TTVItem; buf: array[0..MAX_PATH]of char;
rc: TRect; i: Integer;
const SB_SIMPLEID= $00FF; MINX = 500; MINY = 350;
  fCheckState: array[boolean]of cardinal = (0,MF_CHECKED);
sieht doch kein Mensch mehr durch. Oder war das der Versuch, meinen und Luckies Code so unkenntlich wie möglich zu machen, damit man nicht merkt woher du ihn hast? :mrgreen: Spricht was gegen:
Delphi-Quellcode:
function dlgfunc(hDlg: hWnd; uMsg: dword; wp: wParam; lp: lParam): bool;
  stdcall;
var
  HitHandle  : HTreeItem;
  tv         : TTVItem;
  buf        : array[0..MAX_PATH]of char;
  rc         : TRect;
  i          : Integer;
const
  SB_SIMPLEID = $00FF;
  MINX       = 500;
  MINY       = 350;
  fCheckState : array[boolean]of cardinal = (0,MF_CHECKED);
Klar, das belegt mehr Zeilen. Aber auf dein Programm hat das keinen Einfluss. Und es sieht übersichtlicher aus. Also: Eine vernünftige Gliederung und ab und zu mal eine Leerzeile schadet nicht. Im Gegenteil ... ;)

Schön ist auch, wenn du dir den rechten Rand von 80 Zeichen anzeigen lässt und diesen nach Möglichkeit nicht überschreitest. Wenn doch mal jemand den Quellcode ausdruckt, dann hat er keine Probleme.

MathiasSimmack 24. Mai 2004 16:54

Re: NM_RETURN - Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Tja, hätte ich nicht gedacht, aber im Dialog geht es nicht. Ich habe die Fenster und Controls mal via API erzeugt, und siehe da: Enter geht ... Merkwürdig. :gruebel:
Der Sache sollte man vielleicht mal auf den Grund gehen, denn ich wüsste nicht, was bei einer List-View, die aus einem Dialog kommt, anders sein soll als bei einer API-erzeugten. Na ja, im Anhang mal ein Quellcode, den ich persönlich als übersichtlich und lesbar einschätzen würde. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.
Seite 1 von 4  1 23     Letzte »    

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