-
Forum: Software-Projekte der Mitglieder
by Garfield,
5. Okt 2010
Kleines Update.
05.10.2010 - Build 15
destructor TOpenDirDialog.Destroy entfernt.
procedure TOpenDirDialog.FormClose eingefügt.
Auswertung von DelphiCompilerVersionen eingefügt.
Root war als String anstelle als Widestring deklariert.
Die beiden Formulare werden mit ShowModal angezeigt. Deshalb habe ich für diese ein FormClose mit der Zeile "Action := caFree;" eingefügt. Das Überschreiben...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
30. Aug 2010
Unter Turbo Delphi wird der Text so zugewiesen:
TVN_GETDISPINFOW:
with PTVDispInfoW(NMHdr)^
do begin
Node := GetNodeFromItem(item);
if Node <> nil
then begin
if (item.mask and TVIF_TEXT) <> 0
then lStrCpyNW(item.pszText, PWideChar(Node.Text), item.cchTextMax - 1);
if (item.mask and TVIF_IMAGE) <> 0
-
Forum: Software-Projekte der Mitglieder
by Garfield,
29. Aug 2010
:? Ein Teil Unicode muss schon enthalten sein. Zumindest sind einige Konstanten und Funktionen bereits in D7 enthalten bzw. bekannt. Muss morgen mal weitersehen. Ich will es ja am liebsten in nonVCL weitermachen, aber das will nicht so ganz.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
29. Aug 2010
Ich habe die TTreeView teilweise aus TurboDelphi kopiert und modifiziert. Bevor das Treeview angezeigt wird, werden auch WideMessages verschickt. Nur müssen da die Widestrings der Nodes zur Anzeige in Strings konvertiert werden. Wenn das Treeview angezeigt wird, gibt es nur noch Ansimessages. Ich habe den Eindruck, ich habe zu wenig kopiert.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
29. Aug 2010
Warum auch immer wird anscheinend aus dem TTreeViewW beim ShowModal ein TTreeViewA. Das habe ich im Moment nicht so hinbekommen wie ich es mir gewünscht habe. Deshalb habe ich die Versionen, welche anstelle des TTreeView noch das TShellTreeView verwenden durchgesehen und bei der letzten ein paar Fehler, welche nicht unter Turbo Delphi aber unter Delphi 7 aufgetreten sind, bereinigt. Die...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
28. Aug 2010
Also die Messages kommen doch. Allerdings anstelle der *W die *A, obwohl der Tree auf Unicode eingestellt sein sollte.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
28. Aug 2010
Es scheint an der procedure TCustomTreeViewW.CNNotify(var Message: TWMNotify); zu hängen. Bei TurboDelphi wird diese ab dem ShowModal ständig aufgerufen und das Tree neu gezeichnet. Bei Delphi 7 nicht.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
28. Aug 2010
Sieht so aus, als würde Delphi 7 die Widestrings trotz TNT Controls nicht im TreeView anzeigen können.
Möglicherweis hängt es mit den Events TTVCustomDrawEvent, TTVCustomDrawItemEvent, TTVAdvancedCustomDrawEvent und TTVAdvancedCustomDrawItemEvent zusammen.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
27. Aug 2010
Jetzt läuft die Komponente unter D7 und TD. Allerdings mit dem Unterschied, dass unter D7 kein Text im TreeView ist. Warum weiß ich allerdings nicht; die Unterschiede in der Komponente sind nicht allerdings nicht dafür ursächlich. Entweder habe ich noch einen Fehler in der Komponente oder es liegt an den TNT Controls.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
26. Aug 2010
Hallo ASM,
vielen Dank für Deinen Bericht.
Unter Delphi 7 Personal fing es an. Dann kam Turbo Delphi dazu und ab Build 10 entfiel Delphi 7. Leider muss ich zugeben, dass ich die Komponente genauso wie in der Demo nur zur Laufzeit einbinde und nicht installiert habe.
Die Classes TCustomTreeView und TTreeView habe ich aus TurboDelphi kopiert und angepasst. Die Properties OnMouseActivate,...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
15. Jul 2010
Vor kurzem wurde folgendes festgestellt: Wird in einem leeren Verzeichnis ein Unterverzeichnis angelegt, werden für das Unterverzeichnis zwei TreeNodes angelegt. Wird das letzte Unterverzeichnis gelöscht und ein neues angelegt, dann wird es nur einmal angezeigt. Ursache ist, dass beim leeren TreeNode die Eigenschaft Expanded den Wert False hat. Deshalb wird beim Expanding noch einmal EnumFolder...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
4. Mai 2010
Beim Rescan wurden die existierenden Ordner in die Liste hinzugefügt. So erhöhte sich die Anzahl bei jedem Einfügen oder Löschen eines Ordners. Hier die Liste der Änderungen:
04.05.2010 - Build 13
Option odPerformCreate entfernt. Funktionierte mit dem PathExplorer nicht mehr, da nicht der Text aus dem Edit sondern der Folder aus dem PathExplorer verwendet wurde.
Ist die Option odCaption...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
3. Mai 2010
So ganz war es doch noch nicht auf WideStrings umgestellt. Wenn ein Verzeichnis WideChars enthielt, wollte der NewFolder-Dialog nicht. Ebenso war es dann mit dem Erstellen des Unterordners weil ForceDirectories nur Ansi verwendet. Ausserdem hatte ich beim Vergleichen der Strings beim Setzen des InitialDir übersehen, das LowerCase auch nur Ansi ist.
03.05.2010 - Build 12
function ExtractDir...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
17. Apr 2010
Zwei Versionen für Delphi mit und ohne unicodefähige Komponenten waren mir zuviel. Auch die Verwendung von zwei Units. Deshalb:
17.04.2010 - Build 11
Auswertung der Compilerdirektive Unicode zum Laden der Unit TntHackStdCtrls.
Wegen der Verwendung der Unit TntHackStdCtrls wird das TWideLabel nicht mehr benötigt und wurde deshalb entfernt.
Komponente PathExplorer integriert um zweite Unit...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
11. Apr 2010
11.04.2010 - Build 10
Unit ShellCtrls mit TShellTreeView gegen Unit uPathExplorer mit TPathExplorer ausgetauscht.
Die Property FInitialDir und FPath auf WideString geändert.
Function DirExists für Namen in Widestring eingefügt und DirectoryExists entfernt.
Function DeleteDirectory in DirDelete umbenannt und für Widestring geändert.
ExtractFileDrive aus Unit SysUtils als ExtractDrive...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
11. Sep 2008
Mit D2009 sieht der OpenDirDialog schon erheblich besser aus.
Unter TurboDelphi war mir aufgefallen, dass das Ereignis ST_OrdnerChange nicht eingebunden war. Ausserdem wird das Property OnCreate nicht benötigt und aus der Liste der verbotenen Keys habe ich den : herausgenommen, weil sonst immer das Laufwerk angeklickt werden muss, wenn man den Pfad im Edit eingeben will.
Für D2009 konnten...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
15. Aug 2008
Vielen Dank. Ist jetzt weg.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
30. Jan 2008
Ohne Edit kannst Du es machen wie Luckie meinte:
Oder Du baust Dir noch eine Dateiliste dazu. Zum Beispiel mit FileListBox.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
19. Sep 2007
In Build 7 gibt es ein paar kleine Änderungen:
Die Initialvariablen für die Höhe und die Breite des Dialoges heißen nun OpenDirDlg_Height und OpenDirDlg_Width. Dürfte zur Verwendung im Hauptprogramm sinnvoller sein.
Die Befehlsfolge bei der Erstellung des Labels für den Title wurde geändert. Dadurch funktioniert nun der Zeilenumbruch für mehrzeilige Titel.
Das TLabel für den Title wurde...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
18. Sep 2007
Dazu müsstest Du in der Klasse TOpenDirDialog unter published die Zeile
property Root : String write SetRoot;
in
property Root : String write FRoot;
ändern.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
2. Sep 2007
Moin Felix,
vielen Dank für Deinen Hinweis und Deinen Vorschlag.
Ich hatte für die Höhe des Labels die Standardhöhe von 13 Pixel verwendet aber die Font.Size um 1 erhöht. Bei mir passte die Höhe dennoch. :? Nun wird vor der Festlegung der Labelgröße die Höhe der Schriftart ermittelt.
Das Ändern der Schriftart und -größe hatte ich im ersten Entwurf drin. Weil es mit der Mehrzeiligkeit...
-
Forum: Software-Projekte der Mitglieder
by Garfield,
1. Sep 2007
Das TSizeGripPanel wurde nach http://www.delphi3000.com/article.asp?ID=3785 durch eine TPaintBox ersetzt.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
25. Aug 2007
SizeGrip eingefügt. Auf ein Panel werden Linien gezeichnet und das Panel wird rechts unten festgehalten. Dazu zwei Variablen, die in der Initialisation gesetzt werden und sich die Größe "merken". Alle Dateien oben aktualisiert.
Jetzt müsste das ganze noch Unicode unterstützen.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
19. Aug 2007
Wenn die Option odSizeable gesetzt und das Dialogformular damit größenveränderbar ist, fehlt die Markierung an der rechten unteren Ecke. Beim Original funktioniert das, bei den Delphiforms anscheinend nur, wenn eine TStatusBar vorhanden ist.
Die Eigenschaft heißt SizeGrip.
-
Forum: Software-Projekte der Mitglieder
by Garfield,
17. Aug 2007
Ich habe eine Option odSizeable hinzugefügt. Damit ist die Form größenveränderlich. Zusätzlich gibt es zwei Variablen für Höhe und Breite, welche von der Class unabhängig sind. Damit werden Größenveränderungen bis zur Beendigung der Anwendung gemerkt. Die Anwendung kann die Werte eventuell in ihrer INI speichern.
Der Fehler lag doch bei mir. Genauer bei meiner...