Einsteigerfragen zur PROFAN Programmierung

| Suchen
| Zurück zur Übersicht

Autor | Thema: Neuzeichnen
John Schroeter
| Datum:05.10.02 13:21 |
Jetzt mal eine simplere Frage von mir: Ich habe vor mein Programm aus vielen Fenstern aufzubauen. Da gibt es dann natürlich das ewige Problem vom Neuzeichnen. Wie geht ihr dabei vor? Und gibt es eine Funktion, um zu erfahren, ob ein Fenster (teilweise) sichtbar ist? Die bräuchte man doch, wenn ein Fenster von einem andern verdeckt wurde, nun zum Teil sichtbar ist, aber weder den Focus hat noch aktiv ist. Mit freundlichen Grüßen, John Schroeter
Martin Pohl
| Datum:05.10.02 13:30 (martin_pohl@msn.com) |
Hallo, John! Du kannst mal in der Hilfe nach SetAutoPaint schauen. Damit dürfte das Problem vom Neuzeichnen behoben sein.
John Schroeter
| Datum:05.10.02 14:32 |
Danke erstmal für die Antwort. Leider hilft mir diese wenig weiter. Zwar kenne ich den SetAutoPaint-Befehl, allerdings weiß ich damit nicht viel anzufangen. Wenn ich mit @Create ein Fenster erstelle und es mit Starpaint/Endpaint zum Beispiel einfärbe, und es dann mit einem anderen Fenster verdecke, ist es hinterher grau. Egal welcher Parameter hinter SetAutoPaint steht. Also mache wohl etwas falsch. Deshalb würde mich interessieren, wie ihr das Problem angeht. Danke im Voraus, John Schroeter
Frank Abbing
| Datum:05.10.02 15:17 |
Hallo, nur das Hauptfenster wird restauriert. Mit SetAutoPaint kann dieses Verhalten geändert werden, das betrifft aber immer nur das Hauptfenster. Alle anderen Fenster müßen selber restauriert werden. Am besten geht's, wenn du immer eine Kopie des Fensters im Speicher hast, ob das Fenster dann restauriert werden muß, kannst du nur über die Usermessages erfahren. Gruß, Frank
Horst Horn
| Datum:06.10.02 00:31 (info@web-treffpunkt.de) |
Frank !!! Bist Du schon so schlau in Punkto 'PROFAN', dass Du etwas aus der Profan-Hilfe vergessen hast :? '%wmpaint 'startpaint 'endpaint '================================ PROC Male Neu STARTPAINT win01% 'Alle Grafikbefehle werden jetzt im Dialogfenster restauriert ENDPAINT ENDPROC '~~~~~~~~~~~~~~~~~~~~~~~~ CLS MaleNeu While... .... Waitinput If %WMPAINT MaleNeu 'oder wie die Prozedur heissen mag (auch mit Parametern) EndIf Case ScanKey(27):END 'muss ja nicht immer die Maus sein Wend CU horst
Frank Abbing
| Datum:06.10.02 00:38 |
Hallo Horst, > STARTPAINT win01% > 'Alle Grafikbefehle werden jetzt im Dialogfenster restauriert > ENDPAINT Bist du sicher ? Du kannst jetzt in das Dialogfenster malen, klar. Aber ob es sich auch automatisch restauriert ??? Ich meine, nein. Allerdings arbeite ich kaum mit Dialogfenstern und für grafische Spielereien/Tricksereichen habe ich ja die ProSpeed.dll, die mir da weiterhilft. Vielleicht kann Roland ein paar klärende Worte dazu sagen ? Gruß, Frank
Frank Abbing
| Datum:06.10.02 00:41 |
Nochmal ich. Horst, Auszug aus der Profanhilfe: Beim Zeichnen in DialogBoxen und DialogFenstern ist zu beachten, daß diese Zeichnungen nicht automatisch erneuert werden, wenn die Dialogbox z.B. durch ein anderes Fenster verdeckt wurde. ;-) Gruß, Frank
Horst Horn
| Datum:06.10.02 07:48 (info@web-treffpunkt.de) |
Hi Frank + John Du hast die PROFAN-Hilfe schon richtig zitiert aber diese beiden Befehle gehören beim automatischen Neuzeichnen zwingend dazu: SetAutopaint X% %wmPaint Vielleicht darunter mal in der Hilfe nachschauen ??? ;o) Bei mir und meinen Programmen klappt es jedenfalls. Auf der Homepage www.miet-infos.de sind zwei Downloads von mir, in denen jeweils mit Neuzeichnen in Dialogfenstern gearbeitet wird Gruss horst
Frank Abbing
| Datum:06.10.02 10:18 |
Hallo Horst, jetzt weiß ich, wie du's meinst. Aber %WMPAINT ist doch auch eine Windows/Usermessage, nur füllt hier Profan diese Variable automatisch mit Werten. Im allgemeinen nimmt Profan uns hier schon soviel Arbeit ab, bei anderen Programmiersprachen gestaltet sich die Fensterrestaurierung viel aufwendiger. Gruß, Frank
Horst Horn
| Datum:06.10.02 11:52 (info@web-treffpunkt.de) |
Hallo Frank ...jetzt bin ich aber 4 Zentner schwer geworden ;o)) ! Konnte ich Dir wirklich weiterhelfen ? (man, bin ich gut) bis dann horst
Frank Abbing
| Datum: 06.10.02 13:38 |
Hi, wir lernen doch alle immer noch gerne was dazu, oder ? ;-)) Over and out.
Martin Pohl
| Datum:05.10.02 15:26 (martin_pohl@msn.com) |
Dann machst du eine Schleife: While 1 WaitInput If @Equ(%Key,2) End ElseIf @Equ(@GetActiveWindow(),Fenster2453%) StartPaint Fenster2453% ... EndPaint EndIf EndWhile
John Schroeter
| Datum:05.10.02 15:54 |
Danke euch beiden. Mit freundlichen Grüßen, John Schroeter

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |