Thema: Spectragram

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#29

AW: Spectragram

  Alt 22. Sep 2016, 05:19
Puh. Ohne Debugger nur mit Notepad++ etwas mühsam.

Delphi-Quellcode:
Atom := GlobalAddAtom(PWideChar(DriveList.Strings[nItem]));
SendMessage(DirListHandle, WM_COMMAND, FILL_DIRECTORY, Atom);
Du erzeugst dir eine eindeutige Zeichenfolgen (Atom) und schickst sie als LParam von WM_Command an das Fenster DirListHandle. Warum?
Schien mir das einfachste um die Liste zu füllen ohne nochmals einen extra Knopf oder was auch immer dafür in Anspruch zu nehmen.
Wird dann hier ausgewertet. DirListBoxProc

Delphi-Quellcode:
    WM_COMMAND:
      case LoWord(wP) of
        FILL_DIRECTORY:
          begin
            Buffer := StrAlloc(lP + 1);
            try
              DirList.clear;
              GlobalGetAtomName(lP, Buffer, lP + 1);
              FindDirs(Buffer, DirList);
              FillList(DirList);
              SkinEngine.FInvalidateRect(WinHandle, false);
              // FileListe löschen
              if FileListHandle <> 0 then
                SendMessage(FileListHandle, WM_COMMAND, FILL_FILELIST, GlobalAddAtom
                    (PWideChar(DirStrPath)));
            finally
              StrDispose(Buffer);
            end;
          end;
      end;
Diese drei listen sind miteinander verknüpft
DirList, DriveList, FileList

Zitat:
Ist irgendwie alles so etwas von hinten durch die Brust ins Auge, habe ich das Gefühl. Kann aber auch sein, dass ich noch nicht so gaz durch den Aufbau des Projekts durchgestiegen bin.
Hmm...
Alle meine Projekt funktionieren bei mir einwandfrei.. Verstehe ich nicht wo das Problem ist.

gruss

Geändert von EWeiss (22. Sep 2016 um 05:26 Uhr)
  Mit Zitat antworten Zitat