Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi nonVCL?? (https://www.delphipraxis.net/2748-nonvcl.html)

delphi_freak 5. Feb 2003 14:32


nonVCL??
 
Hi Leude....
fang gerade mit nonVCL an. Nun habe ich einige Fragen:
1) ICh habe eine Funktion (z.b. aus dem Mircosoft SDK), wie finde ich heraus welche Unit ich für die Funktion einbinden muss?
2) Wie kann ich unter Delphi Vorlagen anfertigen? (...sodass ich nciht immer den gleichen mist zum Erzeugen eines fenster schreiben muss.)
3) Gibt es bei nonVCL einen Unterschied zwischen Hauptforms und Unterforms (wie bei der VCL)?
4) Wie kann ich die Hintergrund und SChriftfarbe eines Labels einstellen?
Ich hoffe ihr könnt mir helfen`!

Christian Seehase 5. Feb 2003 14:44

Moin Delphi_Freak,

erst einmal herzlich willkommen in der Delphi-Praxis.
  1. Wenn Du das mitgelierfert SDK meinst (was ich nicht hoffe ;-) ):
    Wenn man hier auf den Button "Quick Info" klickt (oben auf der Seite), geht ein kleines Fenster auf. Hier wird i.d.R. auch angegeben, welche Headerdatei einzubinden ist. Im Normalfalle entspricht deren Name dem der einzubindenden Unit.
    Solltest Du das "normale" PSDK verwenden:
    Hier steht die Info unten unter "Requirements". Dort natürlich wieder der Header.
  2. Zumindest unter D5 kannst Du das hier finden:
    Tools\Editor Optionen...\Programmierhilfe und dort dann die Quelltextvorlagen.
    Wie wir gerade heute Nacht herausbekommen haben: Diese Vorlagen werden in der Datei Delphi32.dci gespeichert (einfache Textdatei). Zu finden im Delphi\Bin Verzeichnis.
  3. K.A. ;-)
  4. Wie 3.

delphi_freak 5. Feb 2003 14:56

zu 1) mhm. Dass ist wohl das PSDK, aber was von Requirements habe ihc nicht gefunden. Habe das von August.
zu 2) Werd ich mir ankucken.
zu 3 und 4) Vielleicht weiß ja wer anders noch was
jetzt kommt gleich noch nummer 5 :lol:
5) Was sind Resource-Dateien, was kann ich mit ihnen machen, gibt es bestimmmte Editoren?
Danke erstmal

delphi_freak 5. Feb 2003 15:45

und gleich noch eine:
Wie erzeuge ich ein Memo?`
so habe ich es versucht
Delphi-Quellcode:
       
CreateWindowEx(WS_EX_CLIENTEDGE, 'Edit', nil, WS_VISIBLE or WS_CHILD, 30, 55, 120, 200, hWnd, ID_edit, hInstance, nil);
Aber man kann dort nur einzeiligen Text eingeben!? Wie mache ich das richtig?

Christian Seehase 5. Feb 2003 15:55

Moin Delphi_Freak,

im "normalen" PSDK ist eine Seite auf der eine Funktion dokumentiert wird doch so gegliedert:
  • Funktionsname
  • Parameters
  • Return Values
  • Remarks
  • Requirements
  • See Also

es ist zwar nicht immer unbedingt jeder Abschnitt enthalten, aber Requirements fehlen wohl nur in den seltensten Fällen.

Ich möchte Dich übrigens bitten für neue Fragen auch neue Threads, also keine "Sammelthreads" aufzumachen.
Das dient der Übersicht, und, ggf., der leichteren Suche.
Danke.

delphi_freak 5. Feb 2003 16:07

jetzt habe ich es gefunden.
Bei mir heißt "Function Information".
Das mit dem einzeiligen Edit konnte ich shcon selber lösen.
Danke...
Kann mir mal jemand noch schnell Frage 3, 4 und 5 noch beantworten?

PS: Ich werde in Zukunft keine Sammelpostings mehr erstellen :oops:

RomanK 5. Feb 2003 16:29

Hoi und willkommen.
Wenn du sie noch nicht kennst:
Die NonVCL-Seite schlechthin
oder wende dich an Luckie.

delphi_freak 5. Feb 2003 16:58

danke für den Link.
HAbe aber leider noch keine Antworten auf die restlichen Fragen gefunden, vielleicht kann Luckie sie mir ja mal sagen?

Christian Seehase 5. Feb 2003 17:05

Moin Delphi_Freak,

wenn das bei Dir Function Information heisst:

Um welche Funktion geht's denn in diesem speziellen Falle?

CalganX 5. Feb 2003 17:17

Du solltest dir mal die Sourcen der Programme von Luckie ansehen. Z.B. INetTime. Dort z.B. auch ein Label eingefärbt.
Sonst kann ich nur die Win32-API-Tutorials empfehlen...

Chris

delphi_freak 5. Feb 2003 17:55

mach ich, dennoch werd ich aus diesen Resource-Dateien nict schlau. KAnn mir da wer helfen?

CalganX 5. Feb 2003 17:58

Wenn du die aus Luckies-Programmen meinst: Luckie verwendet Dialoge (erstellt die Formulare nicht komplett per Win32-API). Diese werden dann in Resourcen gespeichert...
Aber Resoucrcen werden auch für die Formulare in der VCL genutzt.

Chris

delphi_freak 5. Feb 2003 18:10

ja und wie kann ich solche Resourcen erstellen? Kann man da alles reinpacken? Habe jetzt gelesen, dass man z.b. auch Bilder oder ITems eines Mainmenüs reinpacken kann!?

Luckie 5. Feb 2003 18:48

Liste der Anhänge anzeigen (Anzahl: 1)
Erstmal vorweg, für die Zukunft: Pro Thread bitte nur eine Frage. Jetzt geht das hier nämlich schon alles durcheinandern.

2.) Ich habe mir einfach die dpr ganz normal abgespeichert. Sieht bei einem Programm ohne Dialog-Ressourcen so aus wie die Datei im Anhang. (Ist allerdings schon veraltet, da ich mittlerweile das ein oder andere in separate Dateien ausgelagert habe -> die Toolbox von meiner Seite.)

3.) Im Prinzip ja. Man kann es aber austricksen in dem man beim Erzeugen als Parentfenster 0 angibt:
Code:
Dialogbox(hInstance, MAKEINTRESOUTCE(200), 0, @dlg2func);
4.) WM_CTLCOLORSTATIC:
Code:
var
  whitebrush: HBRUSH = 0;

  WhiteLB: TLogBrush =
  (
    lbStyle: BS_SOLID;
    lbColor: $00FFFFFF;
    lbHatch: 0
  );
Code:
    WM_CTLCOLORSTATIC:
    begin
      case GetDlgCtrlId(lParam) of
        999:
        begin
          whitebrush := CreateBrushIndirect(WhiteLB);
          SetBkColor(wParam, WhiteLB.lbColor);
          result := BOOL(whitebrush);
        end;
      end;
    end;
999 ist die ID des Labels. Benutzt du ein Fenster und keine Dialog-Ressource brauchst du den result, glaube ich, nicht zu casten.

5.) Memo: Kuck dir im PSDK mal die Fensterstile zur Fensterklasse EDIT an. ES_MULTILINE heißt das Zauberwort.

6.) Ich bin in der glücklichenlage und besitze das Visual Studio und der Ressourcen Editor von Visual C ist bisher der besten, den ich kenne. Eine Alternative wäre WSEdit. Aber zu dem habe ich noch keinen Link gefunden.

Und ich würde dir wie meine Vorredner es schon getan haben meine Tutorials ans Herz legen. Zusätzlich findest du auf meiner HP fast alle Programme mit Source (zumindest die nonVCL-Programme), da kannst du auch kucken, wie ich was gelöst habe

Chewie 5. Feb 2003 19:06

Um auch einmal was beizutragen: Falls im PSDK wirklich nichts von Requirements steht oder der Name der C-Header-Datei nicht mit dem der Pascal-Unit übereinstimmt, dann kannst du auch nach der Funktionsdeklaration in den Source-Dateien suchen. Vorausgesetzt natürlich, du verfügst über eine Version, in der die Sourcen mit dabei sind.
Das gleiche macht übrigens auch das hier vorgestellte Programm :wink:
http://www.delphipraxis.net/viewtopic.php?t=2574

delphi_freak 5. Feb 2003 19:29

Danke. Werde es mir mal alles in Ruhe ankucken.

Luckie 5. Feb 2003 21:27

Zitat:

Zitat von delphi_freak
ja und wie kann ich solche Resourcen erstellen? Kann man da alles reinpacken? Habe jetzt gelesen, dass man z.b. auch Bilder oder ITems eines Mainmenüs reinpacken kann!?

WEdit 2.78

delphi_freak 6. Feb 2003 13:27

hey danke.....


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 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