AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Transparenten Hintergrund bei Bitmap auf Resource Dialog
Thema durchsuchen
Ansicht
Themen-Optionen

Transparenten Hintergrund bei Bitmap auf Resource Dialog

Ein Thema von Viktorii · begonnen am 7. Nov 2008 · letzter Beitrag vom 10. Nov 2008
Antwort Antwort
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#1

Transparenten Hintergrund bei Bitmap auf Resource Dialog

  Alt 7. Nov 2008, 13:55
Hallo zusammen.
Mittlerweile kann ich, dank dieses tollen Forums , einigermaßen mit Dialogen aus einer Resourcen Datei umgehen.

Jetzt habe ich noch eine Sache bei meinem Dialog. Ich möchte gerne dass der Hintergrund meines Bitmaps transparent ist, so wie ich es mit VCL auch machen kann. Leider bekomme ich das nicht hin. Mein .res Datei sieht so aus:


Code:
1 DIALOG 0, 0, 225, 50
STYLE DS_CENTER | WS_VISIBLE | WS_CAPTION
CAPTION "Information"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
FONT 8, "MS SHELL DLG"
{
   CONTROL 2, 1, STATIC, SS_BITMAP | WS_CHILD | WS_VISIBLE, 5, 5, 40, 40 
   CONTROL "Informations Text.", 2, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 50, 15, 150, 30 
}
Leider wird der Hintergrund immer weiss angezeigt. Wie mache ich es richtig?


Noch ne kleine Zusatzfrage: Die Angaben zu Breite und Höhe der Elemente scheinen nicht in der Einheit Pixel zu sein. Bei meinem Fenster ist die Angabe hier 225, 50 aber mein Dialog ist nachher etwa 300, 100 groß. Ähnliches gilt für die Componenten auf meinem Dialog. Wieso ist das so?

Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Transparenten Hintergrund bei Bitmap auf Resource Dialog

  Alt 7. Nov 2008, 14:05
Zitat von Viktorii:
Wieso ist das so?
Die Angaben sind in logischen Dialogeinheiten (DLU).
Warum das so ist: http://msdn.microsoft.com/en-us/library/bb847924.aspx
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Transparenten Hintergrund bei Bitmap auf Resource Dialog

  Alt 7. Nov 2008, 15:08
Hi,

Btr. Bitmap:

Du arbeitest hier auf API-Basis, Transparanzen in Bitmaps sind (hier) nicht vorgesehen.
Wozu auch, man nuzt da zu Icons. Wenn du nun dies dennoch mit Bitmaps machen möchtest
musst selbst Functionen dafür schreiben.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#4

Re: Transparenten Hintergrund bei Bitmap auf Resource Dialog

  Alt 10. Nov 2008, 08:57
Das mit der Transparenz klappt schon mal, vielen Dank.

Allerdings wird komischerweise die Größe des Icons nicht richtig dargestellt. Ich mache dafür mal keinen neuen Thread auf...

Ich habe die res Datei mit XN Resource Editor erstellt und das Icon hinzu gefügt. Hier sieht das auch noch richtig aus (siehe XNResEditor.JPG). Aber anscheinend ist das hier nicht wirklich WYSIWYG.


In meiner Application und im ResHacker wird das Icon kleiner (scheint 32*32 zu sein) dargestellt (siehe ResHackerDialog.JPG). Das Icon wird hier im Res Hacker unter Icon richtig dargestellt (siehe ResHackerIcon.JPG) aber unter IconGroup (siehe ResHackerIconGroup.JPG) genauso 'falsch' wie auf dem Dialog selber...

Wie bekomme ich das Icon jetzt in seine richtige Größe?

Vielen Dank.
Miniaturansicht angehängter Grafiken
xnreseditor_860.jpg   reshackerdialog_112.jpg   reshackericon_443.jpg   reshackericongroup_183.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Transparenten Hintergrund bei Bitmap auf Resource Dialog

  Alt 10. Nov 2008, 09:27
Ja, die Erklärung ist einfach. Daran Schult ist die "alte" API bei der fest gelegt wurde das
die Standardgrösse eines Icons 32x32 beträgt. (so zusagen)
Ohne selbst das Zeichnen in die Hand zu nehmen wirds nix.

Lade das Icon mit LoadImage() und zeichne es im WM_PAINT mit DrawIconEx().



Hier eine Demonstration:
Angehängte Dateien
Dateityp: zip nonvcltemlateresdlg_172.zip (67,1 KB, 10x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:54 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