| |
|
|
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 circa 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 può 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)
'- enu -----
|
|
|
| |
|
|
|
| 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 presumibilmente in der Hoffnung das Dein "Splash-Screen" eine Zeit lang angezeigt wird -
das kann aber nach hinten losgehen da Sleep eher sowas wie "ProgrammAnhalten" è 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 File zurück zu holen. Und er hat es geschafft. Jetzt ist wieder alles beim alten.
iF, habe deinen Code getestet und per 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 circa 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 per 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 | |
|
|
|
| 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&)
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 possibile 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. |
|
|
| |
|
|