Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!



Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

Verlosung!


Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Deckel vom Laptop defekt
Aufrufe: 107, Antworten: 5
desktop und taskleiste weg
Aufrufe: 2733, Antworten: 4
Empfehlung für...
Aufrufe: 187, Antworten: 11
PPF Blödstückchen Teil 3
Aufrufe: 17921, Antworten: 730
PPF - Spiel "Wörter weiter...
Aufrufe: 10418, Antworten: 1610
Notebook-Kauf
Aufrufe: 12, Antworten: 0
CIA-Website nach Angriff vom...
Aufrufe: 15, Antworten: 0
XP~XP Problem
Aufrufe: 23, Antworten: 0
web.de-Freemail Neues Layout?
Aufrufe: 20778, Antworten: 76
SetFont
Aufrufe: 95, Antworten: 3
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12.03.2010, 11:28   #1 (Direktlink)
War schon mal da
 
Benutzerbild von Martin_K
 
Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 47
Standard Fenster neuzeichnen - wie krieg ichs mit?

Ich benutze ein Fenster als Druckvorschau, lade einen gescannten JPG-Blanko-Briefbogen als Hintergrund und zeichne dann meine Ausgaben mit Drawtext und Line-Befehlen darüber. Wird mein Vorschaufenster verdeckt oder vom Bildschirmschoner übermalt, ist es natürlich hinüber. Wie bekommt meine Anwendung mit, daß das Fenster nicht mehr ok ist und wie wirds am elegantesten wieder neugezeichnet?
__________________
---
Xprofan X2 auf nem ollen PIII mit Win 2000
Martin_K ist offline   Mit Zitat antworten
Werbung
Alt 12.03.2010, 11:47   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 43
Beiträge: 4.726
Standard

Dafür gibt es die Message WM_PAINT. Das System schickt diese Message an dein Fenster, wenn er nötigt ist, es neu zu zeichnen.
In XProfan ist es so, dass das Hauptfenster selbstständig neu gezeichnet wird, was es sonst so bei anderen Programmsprachen nicht gibt. Für das Zeichnen deiner Dialogfenster bist du aber selber verantwortlich.
Eine Methode dazu ist die erwähnte Message WM_PAINT, die du in deiner Messageschleife abfragen kannst. Tritt die Message auf, zeichnest du neu. Dazu findest du in der Hilfe Beispiele.
Eine andere Methode ist ein Static-(Text)-Control mit einem Bild darin, siehe hPic. In das Bild kannst du mit Startpaint, dann z.B. Drawtext Texte und weitere Grafiken einbetten usw. Das Control hat den Vorteil, dass es sich automatisch neu zeichnet, wenn nötig. Diese Technik benutze ich im XProfEd für meine Druckervorschau, schau einfach mal in den Code.
__________________
Gruß, Frank

Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 12.03.2010, 13:45   #3 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 227
Standard

Unter XProfan 11 mache ich es direkt mit Create("hPic",...). Allerdings auf Create("Window",%hwnd,...). Bisher keine Probleme mit einer Überdeckung. Ausschnitt:
Code:
PROC Boot_DIALOG
  Parameters b.nr$, b.nam$

  Windowstyle 1024
  b.Dia&= Create("Window",%hwnd,"",b.x%,b.y%,272,324)
  hB4& = @Create("BUTTON",  b.Dia&, "X", 247,282, 14, 14)

  If FileExists(old_file$ + "\\Lib\\DIA.png")
    bmp1&=Create("hPic",-1,old_file$+"\\Lib\\DIA.png")
    b.bmp&=Create("Bitmap", b.Dia&, bmp1&, 0, 0)
  EndIf
  If FileExists(old_file$+"\\Bootsplatz\\"+Boots_Platz$+"\\"+b.nam$+".jpg")
    bmp1&=Create("hSizedPic",-1,old_file$+"\\Bootsplatz\\"+Boots_Platz$+"\\"+b.nam$+".jpg",270 ,200 ,1)
    Create("Bitmap", b.bmp&, bmp1&, 0, 38)
  EndIf
  b.text&=Create("Text",b.dia&,("Nr.: "+b.nr$+" = "+b.nam$),10,282,220,18)
  SetFont b.text&,L_Font&
ENDPROC
THFR ist offline   Mit Zitat antworten
Alt 22.06.2010, 18:46   #4 (Direktlink)
War schon mal da
 
Benutzerbild von Martin_K
 
Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 47
Standard bräuchte etwas Nachhilfe

ich hab das mal ausprobiert:
Code:
      Statistik& = @Create("Window", %hWnd, " Warenausgang", (%MaxX-1034), (%MaxY-768)/2, 1024, 768)
      bmp1&=@Create("hPic",-1,"background.jpg")
      bitmap&=@Create("Bitmap",Statistik&,bmp1&,0,0)
      StartPaint bitmap&
      Line 75,65- 659,65
- das geladene JPG wird wunderbar wieder neugezeichnet - nur wir krieg ichs hin, daß ich meine Zeichenfunktionen so durchführe, daß die zusammen mit dem Bild neugezeichnet werden, ohne daß ich mich drum kümmern muß? Ich könnte wahrscheinlich das JPG unsichtbar in den Speicher laden, die Zeichenfunktionen im Speicher durchführen, dann alles als TMP.JPG speichern und die dann auf den Bildschirm bringen. Aber es gibt doch bestimmt eine elegante Lösung...?
__________________
---
Xprofan X2 auf nem ollen PIII mit Win 2000
Martin_K ist offline   Mit Zitat antworten
Alt 22.06.2010, 19:35   #5 (Direktlink)
Super-Moderator
 
Benutzerbild von Jac de Lad
 
Registriert seit: 06.02.2009
Ort: Coswig
Alter: 27
Beiträge: 1.123
Standard

Probiers mal mit Subclassing.
__________________
XProfan-Profi (XProfan X2+XPIA)
http://jacdelad.bplaced.net
http://jacdelad.square7.ch
Jac de Lad ist gerade online   Mit Zitat antworten
Werbung

Alt 22.06.2010, 20:42   #6 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Bangkok
 
Registriert seit: 09.02.2009
Ort: Bangkok
Beiträge: 686
Standard

Probiers mal ungefähr so, wahrscheinlich musst du "hsizedPic" anstatt "hpic" verwenden

Code:
var Statistik& = @Create("Window", %hWnd, " Warenausgang", (%MaxX-1034), (%MaxY-768)/2, 1024, 768)
MCls 1024, 768, 0
     var bmp1&=@Create("hPic",-1,"background.jpg")   
      StartPaint -1
      drawpic bmp1&,0,0;0
      Line 75,65- 659,65
      endpaint
      var tmp& = Create("hpic",0,"&MEMBMP",1024,768)
      var bitmap&=@Create("Bitmap",Statistik&,tmp&,0,0)
      waitinput
__________________
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai.
http://dieterzornow.gmxhome.de
Bangkok ist offline   Mit Zitat antworten
Alt 22.06.2010, 21:27   #7 (Direktlink)
War schon mal da
 
Benutzerbild von Martin_K
 
Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 47
Standard

danke, das wars. So gehts!
__________________
---
Xprofan X2 auf nem ollen PIII mit Win 2000
Martin_K ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Starcraft Style ? wo bekomm ichs her ? Sergey Homepagegestaltung 0 15.10.2007 14:29
große schrift auf internetseiten - wie krieg ichs weg? badgirl-111 Allgemein 4 10.07.2007 18:50
Do it yourself oder Wie mach Ichs mir selbst schwer Zeriel Software - Allgemein 3 04.02.2007 17:02
Programm überschrieben, war ichs oder nicht? *artus* Allgemein 4 03.03.2005 09:25
Kabelmodem, HUB, 2 PCs und keine Ahnung wie ichs verkabel bambule Netzwerke 1 29.08.2004 14:08



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2