AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

VCL zu Non-VCL

Ein Thema von EWeiss · begonnen am 22. Jul 2017 · letzter Beitrag vom 25. Jul 2017
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
EWeiss
(Gast)

n/a Beiträge
 
#1

VCL zu Non-VCL

  Alt 22. Jul 2017, 13:17
Habe ein paar fragen zur Konvertierung von VCL zu NON-VCL
Da es einige sind habe ich diesen Thread Titel gewählt.

FillRect(FWindowDC, Rect(0, 0, FForm.Width, FForm.Height), FForm.Brush.Handle);

FForm.Width, FForm.Height

Kann ich mir über GetClientRect holen denke das ist OK!

Meine erste Frage.
FForm.Brush.Handle

Wann wird das Brush Handle erstellt und wie kann ich das umsetzen zu Non-VCL
Das einzige das ich meiner Funktion übergebe ist das Window Handle der NON-VCL Anwendung.

Delphi-Quellcode:
var
  Brush: HBrush;
begin
  Brush := CreateSolidBrush(myColor);
  SelectObject(FWindowDC, Brush);
  FillRect(FWindowDC, Rect(0, 0, ClientWidth, ClientHeight), Brush);
  DeleteObject(Brush);
end;
Kommt das in etwa hin?
Wenn ja welche Farbe wird dann bei der Form übergeben? (NULL_BRUSH) ?
Keine selbst definierte sondern die Standard Farbe.

gruss

Geändert von EWeiss (22. Jul 2017 um 15:08 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: VCL zu Non-VCL

  Alt 22. Jul 2017, 16:19
Will wohl niemand Antworten.. Egal!

gruss
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.834 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: VCL zu Non-VCL

  Alt 22. Jul 2017, 16:50
nach 3 Stunden. Hast du heute noch was vor?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: VCL zu Non-VCL

  Alt 22. Jul 2017, 18:43
nach 3 Stunden. Hast du heute noch was vor?
Nun zumindest hat jetzt einer geantwortet Danke.
Auch wenn es nichts zum Thema beiträgt.

gruss
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

AW: VCL zu Non-VCL

  Alt 22. Jul 2017, 19:17
Der Delphi-Non-VCL-Papst ist Luckie. Zur Not mal per PN bei ihm nachfragen, ob er das ggf. übersah. Ist bei seiner aufmerksamen bis pflichtbewußten Moderation allerdings eher unwahrscheinlich.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: VCL zu Non-VCL

  Alt 22. Jul 2017, 19:57
Der Delphi-Non-VCL-Papst ist Luckie. Zur Not mal per PN bei ihm nachfragen, ob er das ggf. übersah. Ist bei seiner aufmerksamen bis pflichtbewußten Moderation allerdings eher unwahrscheinlich.
Du weist aber schon das es hier um VCL geht?
Zitat:
Wenn ja welche Farbe wird dann bei der Form übergeben? (NULL_BRUSH) ?
wie das in NON-VCL umgesetzt wird ist mir schon klar
Delphi-Quellcode:
var
   Brush: HBrush;
begin
   Brush := CreateSolidBrush(myColor);
   SelectObject(FWindowDC, Brush);
   FillRect(FWindowDC, Rect(0, 0, ClientWidth, ClientHeight), Brush);
   DeleteObject(Brush);
end;
Aber seltsamer weise ist der Effekt etwas anders als unter VCL warum auch immer.
Ich denke da hängen noch andere Sachen dran.

Unter VCL kann ich den Ausgeschnittenen Teil der Form als clFuchsia sehen unter NON-VCL nicht.
Das ist schon etwas seltsam.

gruss
  Mit Zitat antworten Zitat
TBx
(Moderator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.794 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: VCL zu Non-VCL

  Alt 22. Jul 2017, 20:48
Auch wenn es nichts zum Thema beiträgt.
Ich denke mal, wenn Dich ein User dezent darauf hinweist, dass Pushen nicht gern gesehen ist, dann mußt Du ihn nicht auch noch treten.

Zitat von EWeiss:
Habe ein paar fragen zur Konvertierung von VCL zu NON-VCL
und
Zitat von EWeiss:
Du weist aber schon das es hier um VCL geht? ... wie das in NON-VCL umgesetzt wird ist mir schon klar
passt irgendwie auch nicht so ganz zusammen
Gruß Thomas
- Moderator Delphi-Praxis -
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: VCL zu Non-VCL

  Alt 22. Jul 2017, 21:10
Zitat:
passt irgendwie auch nicht so ganz zusammen
Dann erkläre mir mal warum nicht?

Ich habe versucht eine Lösung zu bekommen wie ich
FForm.Brush.Handle

nach NON-VCL umsetzen kann die Lösung habe ich dann selbst erarbeitet.
Das zu punkt NON-VCL

Zitat:
Du weist aber schon das es hier um VCL geht?
Bezog sich auf die Frage VCL!

Auf was sich dann meine Frage bezog war welche Farbe dem FForm.Brush zugewiesen wird wenn man es nicht explicit selbst tut.
Denn irgendwo her muss das Handle ja zugewiesen werden mit der dafür erstellten Farbe vom Brush.

Das zu Punkt VCL

Nun was passt hier nicht zusammen ?
Ich dachte eigentlich das mir jemand der ausschließlich mit der VCL arbeitet mir das sagen könnte.
Dem scheint wohl nicht so.

gruss

Geändert von EWeiss (22. Jul 2017 um 21:13 Uhr)
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
829 Beiträge
 
#9

AW: VCL zu Non-VCL

  Alt 24. Jul 2017, 12:03
Mindesten fehlt "OldBrush" zum retten des vorherigen Brushs, denn man löscht kein noch selktiertes Handle...
(ob man den Brush selektieren muss, wenn er bei FillRect mit übergeben wird, das weiß ich aus dem Kopf nicht mehr, aber schaden kann es nicht)

Delphi-Quellcode:
var
   Brush: HBrush;
   OldBrush: HBrush;
begin
   Brush := CreateSolidBrush(myColor);
   OldBrush:=SelectObject(FWindowDC, Brush);
   FillRect(FWindowDC, Rect(0, 0, ClientWidth, ClientHeight), Brush);
   SelectObject(FWindowDC, OldBrush);
   DeleteObject(Brush);
end;
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: VCL zu Non-VCL

  Alt 24. Jul 2017, 14:15
Zitat:
ob man den Brush selektieren muss
Ja muss man Danke

Edit:
Aber OldBrush benötigt man nicht.

Hier ein Beispiel:
http://www.functionx.com/win32/Lesson17.htm

gruss

Geändert von EWeiss (24. Jul 2017 um 14:51 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf