![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 28.06.2009
Beiträge: 14
|
Für Dialogboxen etc. möchte ich Bitmapfelder nutzen. Über MCls und StartPaint...EndPaint erstelle ich die Grafik (Hintergrund, Rahmen, Text und skaliertes Icon).
Mein Problem: Die Bitmap zeigt (außer dem Icon) die Grafikelemente leider nicht. Lasse ich das Icon weg, funktioniert es einwandfrei. Was mache ich falsch? Hat jemand eine Idee? Dazu ein Testcode (lauffähig): Code:
Cls
Def API_LoadImage(6) ! "USER32", "LoadImageA"
Var Dll& = @UseDll("Shell32.dll")
Var Nr$ = "#14"
Var hIcon& = API_LoadImage(Dll&, @Addr(Nr$), 1, 48, 48, 0)
MCls 180, 70, @RGB(0, 191, 191)
StartPaint -1
DrawIcon hIcon&, 10, 10
UsePen 1, 1, @RGB(255, 0, 0)
UseBrush 0, @RGB(255, 0, 0)
Rectangle 2, 2 - 178, 68
UseFont "Arial", 18, 8, 1, 0 ,0
TextColor @RGB(255, 255, 255), -1
DrawText 70, 25, "Bitmap-Test"
EndPaint
Var hPic& = @Create("hPic", 0, "&MEMBMP")
DrawPic hPic&, 20, 20; 0 'zeigt erstellte Grafik
'Fehlerhafte Bitmap (?):
Var hBitm& = @Create("Bitmap", %hWnd, hPic&, 20, 120)
WaitInput
DeleteObject hIcon&, hPic&
FreeDll Dll&
End
__________________
Windows 7 und XProfan 11.2a |
|
|
|
|
|
|
#2 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Wie soll es denn aussehen, bei mir sieht es so aus mit deinem Code. Ich denke das soll so sein.
Wenn ja liegt es an deinem System. Du solltest mal versuchen das Icon als letztes zu zeichnen. Ich habe auch XProfan 11.2a und Windows XP SP 3 Du solltest vielleicht auch einen Screenshot von dir dazu tun
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de Geändert von Bangkok (26.07.2009 um 10:49 Uhr) |
|
|
|
|
|
#3 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 28.06.2009
Beiträge: 14
|
Bei mir funktioniert es leider nicht! Welche Systemeinstellungen soll ich vornehmen?
Es sieht bei mir so aus:
__________________
Windows 7 und XProfan 11.2a |
|
|
|
|
|
#4 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Peter
Bei mir ist das gleiche Problem mit der Anzeige des Icon Hab den Code umgeschrieben. Mit zusätzlichen Parametern kannst du dann 'dein Ding machen.' Geht doch oder ? Zitat:
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de Geändert von horsthorn (27.07.2009 um 12:51 Uhr) |
|
|
|
|
|
|
#5 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
@Peter: Ist dein Screenshot so zu interpretieren, dass DrawPic noch geht und es scheitert beim Erstellen der Bitmap ? Wenn es so ist würde ich das Bild mal abspeichern und neu einladen und dann die Bitmap erstellen und auch mal ansehen. Ich kann leider nichts ausprobieren, da es ja bei mir geht. Könnte dann unter Umständen am Speicher hängen.
@Horst
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
|
#6 (Direktlink) |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
Die Frage bleibt aber, warum klappt die Anzeige bei dir und bei Peter und mir nicht ?
Was sollte da umgestellt werden ? Kann es an der Grafikkarte liegen oder....? ...und auf Dialogfenster kann man doch gezielt mit Startpaint dialogfenster& arbeiten
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
#7 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
An der Grafikkarte denke ich nicht, da das Ganze im Speicher passiert. Versuche mal das Icon mit Create("HIcon" zu erstellen, vielleicht geht es so. Oder mit der Api ExtractIconex. Vielleicht ist loadimage nicht das richtige für diesen Zweck.
Drawicon kann man ja auch ohne ein Handle benutzen. Einfach mal alles probieren Auf Dialogfelder kann man schreiben und zeichnen aber es verschwindet beim Überdecken, da Roland das zweite Fenster nur dem Hauptfenster zur Verfüging stellt Ich habe auch keine Ahnung warum es bei mir geht und bei euch nicht.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de Geändert von Bangkok (27.07.2009 um 14:56 Uhr) |
|
|
|
|
|
#8 (Direktlink) |
|
Stammuser
![]() Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
|
Bei mir wird es auch wie bei Peter und Horst angezeigt.
Aber Anzeigeprobleme habe ich mir im Moment mit einem WIN-Optimierungstool eingehandelt. Der Texthintergrund beim Popupmenü in den XProfan-Programmen ist nun weiß und wer weis, was sich noch verändert hat??? Bei anderen Programmen ist mir das noch nicht aufgefallen. Also ein XProfan- und oder Einstellungsproblem?
Geändert von THFR (28.07.2009 um 01:15 Uhr) |
|
|
|
|
|
#9 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
@THFR: Das sieht nach einem Einstellungsproblem aus. Das hatte ich auch schon und es waren nicht nur XProfan-Programme davon betroffen. Über die Displayeinstellungen kann man die Menüfarben wieder korrigieren.
Welches Win-Optimierungstool hat den Effekt ausgelöst? Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de Geändert von RGH (28.07.2009 um 09:25 Uhr) |
|
|
|
|
|
#10 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 28.06.2009
Beiträge: 14
|
Danke für die Tipps!
Versucht habe ich es jetzt mit dem Speichern über eine externe Datei: Bildschirmausschnitt mit SaveBmp sichern und danach sofort wieder laden mit einem zweiten @Create("hPic"... und dann erst die @Create("Bitmap"... erstellen. Dies funktioniert!!! Das Ergebnis ist OK, der Weg dahin aber etwas umständlich. Gibt es eine Möglichkeit aus einer Speicherbitmap (MCls) die Grafik direkt in eine externe Datei zu speichern? Den Weg über die Zwischenablage habe ich auch probiert, dies funktioniert bei mir leider auch nicht.
__________________
Windows 7 und XProfan 11.2a |
|
|
|
|
|
|
#11 (Direktlink) |
|
Stammuser
![]() Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
|
Roland: Advanced WindowsCare
Ja, habe dann einmal Klassisch eingestellt und dann wieder XP und es war alles wie gewohnt. |
|
|
|
|
|
#12 (Direktlink) | |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Zitat:
Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
|
|
#13 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 28.06.2009
Beiträge: 14
|
Danke, das funktioniert (komplette Grafik oder Auschnitt)!
__________________
Windows 7 und XProfan 11.2a |
|
|
|
|
|
#14 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
|
Hast du auch mal versucht das Icon direkt auf die Speicherbitmap zu zeichnen mit
Code:
DrawIcon S, N, X, Y S - String: Name der Icon-Datei (mit Pfad) N - Integer: Nummer des Icons in der Icon-Datei X,Y - Integer: Koordinaten DrawIcon N, S, X, Y N - LongInt : Handle der externen Datei S - String : Icon-Name X,Y - Wert - Koordinaten Code:
Create("hIcon", S[, N])
ich denke das wäre wichtig zu wissen, da ich scheinbar der einzige bin, wo es funktioniert, müsste man in so einem Fall aus Sicherheitsgründen ja grundsätzlich den Weg des Zwischenspeichern gehen. Ansonsten läuft es vielleicht nur auf dem eigenen Computer.
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai. http://dieterzornow.gmxhome.de |
|
|
|
|
|
#15 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Zitat:
Oder das Icon anders laden. Code:
$H Windows.ph
Cls
Def &LR_VGACOLOR $80
Def API_LoadImage(6) ! "USER32", "LoadImageA"
Var Dll& = @UseDll("Shell32.dll")
Var Nr$ = "#14"
Var hIcon& = API_LoadImage(Dll&, @Addr(Nr$), 1, 48, 48,&LR_VGACOLOR)
MCls 180, 70, @RGB(0, 191, 191)
StartPaint -1
DrawIcon hIcon&, 10, 10
UsePen 1, 1, @RGB(255, 0, 0)
UseBrush 0, @RGB(255, 0, 0)
Rectangle 2, 2 - 178, 68
UseFont "Arial", 18, 8, 1, 0 ,0
TextColor @RGB(255, 255, 255), -1
DrawText 70, 25, "Bitmap-Test"
EndPaint
Var hPic& = @Create("hPic", 0, "&MEMBMP")
DrawPic hPic&, 20, 20; 0 'zeigt erstellte Grafik
'Fehlerhafte Bitmap (?):
Var hBitm& = @Create("Bitmap", %hWnd, hPic&, 20, 120)
WaitInput
DeleteObject hIcon&, hPic&
FreeDll Dll&
End
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher Geändert von Andreas Miethe (30.07.2009 um 20:02 Uhr) |
|
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Verschwundene Symbole auf dem Desktop | Kung-Fu | Windows XP | 4 | 25.01.2006 15:54 |
| verschwundene GB | JimPanse | Windows 95/98/ME/2000/NT | 2 | 11.07.2005 17:26 |