AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Form mit PNG Skin und VCL Controls
Thema durchsuchen
Ansicht
Themen-Optionen

Form mit PNG Skin und VCL Controls

Ein Thema von Coder90 · begonnen am 25. Aug 2006 · letzter Beitrag vom 18. Sep 2011
Antwort Antwort
Seite 6 von 6   « Erste     456   
Benutzerbild von Coder90
Coder90
Registriert seit: 8. Nov 2004
Edit//
turboPASCAL hat wahrscheinlich eine bessere Lösung gefunden

http://www.delphipraxis.net/internal...=606056#606056

Hi
Nach endlosem rumgefriemel hab ichs endlich geschafft.

http://img134.imageshack.us/img134/785/skinbl1.png
Screenshot 2

Eine transparente PNG Form mit VCL Controls.
Kein geruckel beim verschieben und sehr CPU freundlich.
Perfekt geeignet für kleine Utilities und Widgets.
Und das Beste: es ist kostenlos.

Die ganze Sache besteht aus 2 Forms.
Einmal die Hauptform mit den Controls. Durch TransparentColor wird der Hintergrund durchsichtig gemacht. Nachteil: Komponenten mit Transparents wie die XP Buttons werden mit Rand dargestellt.
Auf der 2. Form wird die PNG per Graphics32 angebracht. Dadurch gehn die VCL Controls verloren. Deshalb auf einer extra Form.
Durch ein bischen friemelei wird die erste Form immer vor der zweiten Form gehalten und beim verschieben mitbewegt.

Zum kompilieren braucht man die Graphics32, die GR32_PNG.pas (unten) und PNGImage.

Der Source ist nicht der beste.
Über Verbesserungvorschläge würd ich mich freuen.
Danke

Crossposting DF

MfG, Coder90
Miniaturansicht angehängter Grafiken
skinbl1_901.png  
Angehängte Dateien
Dateityp: zip alphaform_133.zip (164,8 KB, 626x aufgerufen)
Dateityp: pas gr32_png_477.pas (2,4 KB, 598x aufgerufen)
Dateityp: zip alphaformexe_150.zip (430,8 KB, 645x aufgerufen)
 
Gruber_Hans_12345

 
Delphi 2007 Professional
 
#51
  Alt 16. Sep 2009, 09:47
Zitat von turboPASCAL:
Kommt darauf an wie du das Editfeld anzeigst.
Ich denke mal den Cursor musst du bei verwendung von UpdateLayeredwindow selber Zeichnen und Positionieren.
Ja, mache es mit dem UpdateLayerdWindow, genau wie in deinem demo projekt.

Funkt soweit alles bestens, nur wäre es eben schön den cursor noch zu sehen.

Die markierung sehe ich ja, und den Textcursor kann ich auch verschieben, nur sehe ich diesen nicht.

Gibt es funktionen um den Textcursor zu zeichnen? Oder muß ich einfach einen Strich zeichnen, der eben blinkt?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#52
  Alt 16. Sep 2009, 12:46
Kannst du mal ein Demo bastteln, damit ich mir das angucken kann ?
Matti
  Mit Zitat antworten Zitat
Gruber_Hans_12345

 
Delphi 2007 Professional
 
#53
  Alt 16. Sep 2009, 13:36
Zitat von turboPASCAL:
Kannst du mal ein Demo bastteln, damit ich mir das angucken kann ?
das ist einfach, einfach ein TEDit in DEIN demo reinploppen, fertig
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

 
Delphi 6 Personal
 
#54
  Alt 16. Sep 2009, 15:16
Ah, ja gut. Dan musst du die den Blinkecursor selber zeichnen, da dieser nicht mit kopiert wird.
Matti
  Mit Zitat antworten Zitat
Gruber_Hans_12345

 
Delphi 2007 Professional
 
#55
  Alt 16. Sep 2009, 16:53
Zitat von turboPASCAL:
Ah, ja gut. Dan musst du die den Blinkecursor selber zeichnen, da dieser nicht mit kopiert wird.
Hast du gerade Infos bei der Hand, obs dafür ne API Funktion gibt oder so?
  Mit Zitat antworten Zitat
Progman

 
Delphi 10.1 Berlin Starter
 
#56
  Alt 16. Sep 2009, 19:36
So gehts auch:
als Cursor ein kleines Bitmap nehmen (5 x 20 Pixel in diesem Falle).

Delphi-Quellcode:
  CreateCaret(Edit1.Handle, Image1.Picture.Bitmap.Handle, 5, 25);
  ShowCaret(Edit1.Handle);
Einfach mal bissel rumprobieren 8)
Karl-Heinz
  Mit Zitat antworten Zitat
M1cha
 
#57
  Alt 1. Mai 2010, 17:29
Hi,

Vorab, ich nutze Delphi 2010.

Die Demo von turboPascal funktioniert bei mir nicht richtig.
Denn erstmal meckert er "Res/resources.res" wurde nicht gefunden.
Wenn ich diese dann nach Res kopiere, compiliert er zwar,
aber statt tranzparenten Hintergründen habe ich nur einen Schwarzen Hintergrund.

Die Demo, die turboPascal für miLeRiAm gemacht hat funktioniert zwar bei mir,
allerdings macht er da einen weißen halbtranzparenten Rahmen um die PNG(auch in der precompiled exe).

Ich hoffe, mir kann einer helfen.
MfG M1cha
  Mit Zitat antworten Zitat
termodox
 
#58
  Alt 18. Sep 2011, 17:53
Man ich habe genau das gleiche Problem wie oben beschrieben, hat jemand schon eine Lösung gefunden?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 6   « Erste     456   


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 16:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz