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.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50847, Antworten: 1390
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26606, Antworten: 4194
Gehe zum ersten neuen Beitrag Windows Oberfläche (Schrift,...
Aufrufe: 175, Antworten: 10
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 63, Antworten: 5
Gehe zum ersten neuen Beitrag TabCtrl
Aufrufe: 121, Antworten: 12
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 93, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 17, Antworten: 2
Gehe zum ersten neuen Beitrag Suche Programm um Werbung zu...
Aufrufe: 48, Antworten: 2
Gehe zum ersten neuen Beitrag McAfee AVERT Stinger...
Aufrufe: 12, Antworten: 0
Gehe zum ersten neuen Beitrag Sticky Password 6.0.2...
Aufrufe: 24, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12.03.2010, 11:28   #1 (Direktlink)
Ist öfter hier
 
Benutzerbild von Martin_K
 
Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
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

Windows 7 Tipps und Tricks in Bildern

Alt 12.03.2010, 11:47   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.091
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)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
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)
Ist öfter hier
 
Benutzerbild von Martin_K
 
Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
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.159
Standard

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

Windows 7 Tipps und Tricks in Bildern

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)
Ist öfter hier
 
Benutzerbild von Martin_K
 
Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
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 +2. Es ist jetzt 04:54 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