![]() |
AW: Property Sheets mit Delphi
Grundsätzlich genauso, das ganze Handling muss dazu halt innerhalb der Dll erfolgen
|
AW: Property Sheets mit Delphi
Mir ist aber nicht ganz klar, was ich dann bei diesen beiden Zeilen eintragen muss:
Delphi-Quellcode:
Irgendwie muss ich meinen Dialog doch erzeugen und anzeigen lassen :gruebel:
aPSP.pszTemplate := MakeIntResource(IDD_PROPDLG);
{ ... } aPSP.pfnDlgProc := @?????; // Dialogfunktion Ich will kein Non-VCL, weil ich für das, was ich anzeigen will sowieso die VCL laden muss |
AW: Property Sheets mit Delphi
Wenn du das ganze Editor-geführt haben willst und auch bereit bist, was dafür auszugeben, kannst du dir dafür auch die
![]() Damit lassen sich solche Property-Sheets sehr einfach erstellen. |
AW: Property Sheets mit Delphi
Die hab ich auch schon gefunden, allerdings können die ja viel mehr als ich eigentlich brauche und für das bißchen was ich brauche wollte ich die jetzt nicht komplett kaufen müssen. Das muss doch auch so gehen und kann nicht so schwer sein. Der Rahmen ist ja klar, es fehlt "nur" die Einbindung des Forms.
|
AW: Property Sheets mit Delphi
Gibt es hier mittlerweile einen etwas einfacheren Weg, sind z.B. freie Komponenten bekannt, oder ist das noch der aktuelle Stand?
Vielen Dank für eure Infos. |
AW: Property Sheets mit Delphi
Hi,
die Google-Suche hat mich im Jahr 2025 hierher gebracht und da ich eine Lösung gefunden habe hier eine Antwort auf diesen sehr alten Thread. Das Tutorial kann erst einmal komplett so befolgt werden, nur übergeben wir dem Dialog lediglich ein leeres Template über die Resource-Datei. Der Inhalt meiner .rc-Datei sieht wie folgt aus:
Code:
Diese Ressource wird wie im Tutorial angegeben über MAKEINTRESOURCE(...) dem PropertySheet übergeben. Damit wird schon einmal ein leeres Tab im Property-Sheet angezeigt.
100 DIALOG DISCARDABLE 0, 0, 200, 200
STYLE WS_CHILD | WS_VISIBLE FONT 8, "MS SHELL DLG" BEGIN END Nun legt man ein neues reguläres VCL-Formular an. In der Funktion PropertySheetDlgProc() (den Pointer hierhin hat man zuvor in der AddPages() mittels .pfnDlgProc := @PropertySheetDlgProc; übergeben) können wir nun das VCL-Formular wie folgt erzeugen und dem PropertySheet einfügen:
Code:
Vorteilhaft ist dann noch die VCL-Form als Align:=alClient zu stellen und den BorderStyle auf bsNone zu setzen. Dann kann man aber sehr einfach den Formular-Editor von Delphi wieder verwenden.
myvclform := Tmyvclform.CreateParented(hDlg);
myvclform.Show; Vielleicht stolpert ja noch ein anderer über diese Sache :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz