| |
|
|
Stephie | Ich habe ausversehen die Kopie der Originaldatei (mit den Kommentaren) gelöscht. Jetzt macht das Programm nicht mehr das was es soll am Anfang. Habe wohl irgendetwas aus versehen gelöscht. Wisst ihr weiter ? Beim Start erscheint ein Startfenster in der Mitte des Bildschrims. Dieses Fenster besteht aus einer Grafik und einem Text. Dann öffnet sich das Hauptfenster über den ganzen Bildschirm mit einer Grafik im Hintergrund und dem Menu. Es funktionierte alles. Durch das "rumspielen", macht ja nichts wenn man eine Original Kopie hat (wenn man diese dummerweise nicht löscht), erscheint jetzt beim Start des Hauptfensters kurzzeitig das Bild des Startfensters links oben und dann kommt erst die Hauptgrafik des Hauptfensters. Da mir auch die entsprechenden Kommentare jetzt fehlen, weis ich selber nicht was fehlt oder ich gemacht habe. Asche auf mein Haupt und hoffen das ihr mir weiterhelfen könnt bevor ich wieder alles durchsuchen muss. Alles andere klappt wieder, das habe ich hinbekommen nur hier keine Ahnung mehr ......... KompilierenMarkierenSeparieren'----- Programm -----
'----- Start Fenster -----
WindowStyle 1 | 2 | 4 | 8 | 16
Zentriert(750,290)'Zentriert wurde am Anfang mit Proc erzeugt
WindowTitle Titel$'Titel$ wurde am Anfang festgelegt
CLS
hdl& = Create("hSizedPic",-1,SBild$,Width(%hwnd),Height(%hwnd),0)'SBild$ ist die Startgrafik
bild& = Create("Bitmap",%hwnd,hdl&,0,0)
TextColor rgb(1,1,1), -1
Drawtext 130,85,"Familie im Netz Version 1.0 portable"
Sleep 5400
'--------------------------
'----- Haupt-Programm -----
'--------------------------
Ende% = 0
WindowStyle 1 | 2 | 4 | 8 | 16
WindowTitle Titel$ + " - [" + Zusatz$ + "]"'Titelzeile = Programmname und am Anfang keine Datei geladen anzeige
CLS
ShowMax
'----- Hintergrundbild an Fenster anpassen -----
hdl& = Create("hSizedPic",-1,HGB$,Width(%hwnd),Height(%hwnd),0)'HGB$ ist die Hintergrundgrafik des HAuptfensters
bild& = Create("Bitmap",%hwnd,hdl&,0,0)
'----- Menu -----
|
|
|
| |
|
|
|
| Hm Dein Code ruft eine Funktion "zentriert" auf aber die liegt nicht bei.
Ein paar Anmerkungen:
Du nutzt mehrmals WindowStyle vlt. um den Stil des Hauptfenster erneut festzulegen -
WindowStyle um den Hauptfensterstil zu definieren kann nur einmal vor Erzeugung des Hauptfensters angewandt werden.
Dann nutzt Du sleep vermutlich in der Hoffnung das Dein "Splash-Screen" eine Zeit lang angezeigt wird -
das kann aber nach hinten losgehen da Sleep eher sowas wie "ProgrammAnhalten" heißt und wenn das Fenster bis dahin nicht vollständig gemalt/ aufgebaut wurde dann sieht man "nix". Wenn der Nutzer warten soll dann immer besser waitInput da der Thread dabei nicht stehen bleibt.
Z.B. KompilierenMarkierenSeparieren |
|
|
| |
|
|
|
Stephie | Der mit Zentriert erzeugte Code, setzt das Fenster immer mittig Bildschirm. KompilierenMarkierenSeparieren Das mit Windowstyle im Haupt-programm (im code) ist ein versehen, jetzt wo du es schreibst. Dort sollte es nicht mehr erscheinen. Ja sleep sollte das Fenster anhalten um dann später weiterzumachen. Werde mir aber deinen Vorschlag zu Herzen nehmen und mal tauschen. |
|
|
| |
|
|
|
Stephie | Sorry das ich mich erst jetzt melde, aber ein bekannter hat versucht mir meine gelöschte Datei zurück zu holen. Und er hat es geschafft. Jetzt ist wieder alles beim alten.
iF, habe deinen Code getestet und für mich als nicht akzeptabel gefunden. Es sollte ein startfenster erscheinen, damit der Anwender es kurz lesen kann und dann sollte das Hauptprogramm gestartet werden. Mit deinem Code geht es gleich über in das Hauptfenster ohne das man die Chance hat das Startfenster zu sehen und zu lesen. Also muss ich bei meiner Variante mit sleep bleiben. Danke trotzdem für den Hinweis, habe mir es mal sicherheitshalber abgespeichert. |
|
|
| |
|
|
|
| Grüße!
Aber... ne - dann hast Du es meiner Meinung nach nicht "richtig" eingebaut.
Du musst an die Funktion genauso wie an Sleep als Parameter die Anzahl der zu wartenden Millisekunden anhängen.
userWarte 2000 wird definitiv mindestens 2 Sekunden warten -
bei Sleep hingegen kann es sein - wie ich schon schrieb - dass es im Ergebnis nicht immer so funktionieren wird wie Du Dir erhoffst wobei ich nicht von 1 Computer und 1 Betriebssystem schreibe sondern eben von einer breiten Masse. |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 23.08.2011 ▲ |
|
|
|
|
Paul Glatz | Für mich sieht das wie eine Endlosschleife aus |
|
|
| |
|
|
|
Julian Schmidt | Ist auch eine Endlosschleife |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 23.08.2011 ▲ |
|
|
|
|
| Nein kann man nicht da ne Nachricht reicht um die "Schleife" zu durchbrechen statt ms gewartet wird. oO Nach Deim Prinzip ist ja auch das While bzw. die Schleife ohne Bedeutung. |
|
|
| |
|
|
|
E.T. | Ich "baue" so einen Splash-Screen meist so, nur zur Anmerkung: KompilierenMarkierenSeparieren
Proc Splash
Parameters SplashText$
var Pic&[1] = @Create("hPic",Dll2&,"Splash")
var Splash_Win& = @Create("Bitmap",%Desktop,Pic&[1],(%MaxX/2-280),(%MaxY/2-280))
StartPaint Splash_Win&
TextColor RGB(255,255,0),-1
UseFont "Arial",30,15,1,1,0
DrawText 15,(@Height(Splash_Win&)-50),SplashText$
EndPaint
waitinput 2000'Zeit je nach Wunsch, oder ohne Zeit um auf User zu warten
destroyWindow(Splash_Win&)
EndProc
Parameter ist ein variabler Text, der auf dem Bild angezeigt wird. Bei mir stammt das Pic aus 'ner dll (da verpack ich immer alles, was als "Zubehör" zum Progg gilt. Ein einfaches .bmp zu laden ist aber im Prinzip das gleiche....) |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 24.08.2011 ▲ |
|
|
|
|
| @E.T.: Naja, bei Deinem Beispiel ist es dem User möglich auch weniger als 2000ms zu warten z.B. indem er klickt. Soll der Splash aber eine gewisse Zeit angezeigt werden dann bringt das halt die Funktion die ich oben geschrieben habe. |
|
|
| |
|
|