Application Surface Engine
Übersicht

![]() |
aasgeierBetreff: Application Surface Engine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tach zusammen!
Ich will hier mal ein bisschen Werbung für mein neuestes Projekt machen: Eine WinAPI-"Abwandlung". Ich habe es Application Surface Engine (ASE) getauft. Es besteht aus einer Headerdatei mit 39 Funktionen und einem Haufen Bilder. Damit kann man in BB2D-Progs Buttons, Edits, Listen und Checkboxen darstellen, die denen aus der WinAPI ähneln, und sie ansprechen, verändern usw., wie so ne Benutzeroberfläche. Ich hab das ganze aber noch mal grafisch aufgepeppt. Gedacht hab ich es für Hauptmenüs, kleinere Applikationen etc. Ursprünglich wollte ich es nur für mich machen, aber ich dachte, dass vielleicht irgendjemand Interesse daran hat; ihr könnt die Bilder ja auch verändern... Hier ein Screenshot von so einem Prog: ![]() Also, wenn ihr wollt, könnt ihr euch das ja mal von meiner Page www.LennyWeb.net.ms saugen. CU aasgeier |
||
Ich geh jetzt nach Jamaika, daa, wo der Hanf blüht... |
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BMP ! ![]() zweitens: das ist keine "WinAPI-Abwandlung"...das ist eine simple GUI. davon gibts bereits dutzende für blitz...und ich sehe ehrlich gesagt keinen vorteil deiner gegenüber anderer wie blitzui oder F-ui...weder grafisch noch technisch. |
||
cavebird |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Tjo sowas hat schon jeder geproggt der schon ein bißchen länger bei Blitz ist. | ||
MegaUpload.de -- Uploade bis zu 2MB pro Bild !!DEIN PARTNER IN SACHEN UPLOAD --bitte weiterempfehlen, nur so können wir bekannt werden... |
![]() |
Rob_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mir es am herzen genommen und es mal ausprobiert.
Es geht nicht! |
||
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX |
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
ähm, also der code ist ja nich so der hammer. kleines beispiel:
Code: [AUSKLAPPEN] For k = 1 To 100 Dim buttondim$(k,2) Dim buttonlargedim$(k,2) Dim editdim$(k,2) Dim editlargedim$(k,2) Dim checkboxdim$(k,3) Dim listdim$(k,16) Dim popuplistdim$(k,16) Dim strechedlistimgs(k,3) Dim strechedpopuplistimgs(k,3) Next @rob, natürlich funzts, ich glaub nur dass du den code nich hinbekommst |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
aasgeier |
![]() Antworten mit Zitat ![]() |
---|---|---|
@wild-storm:
na und?!? was soll damit sein? falls du meinst, das ist zu langsam: wird nur einmal ausgeführt, und nicht in der mainloop. so viel speicher braucht das wirklich nicht (es sei denn du hast nen 486er mit 8 mb ram). und ich hatte keine ahnung, wie ich das sonst bewerkstelligen kann - mir wäre es neu, dass man in funktionen mehr als nur lokale variablen deklarieren kann, also wie hätte ich das direkt machen sollen?!? |
||
Ich geh jetzt nach Jamaika, daa, wo der Hanf blüht... |
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dim buttondim$(100,2)
Dim buttonlargedim$(100,2) Dim editdim$(100,2) Dim editlargedim$(100,2) Dim checkboxdim$(100,3) Dim listdim$(100,16) Dim popuplistdim$(100,16) Dim strechedlistimgs(100,3) Dim strechedpopuplistimgs(100,3) |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] For k = 1 To 100 Dim buttondim$(k,2) Dim buttonlargedim$(k,2) Dim editdim$(k,2) Dim editlargedim$(k,2) Dim checkboxdim$(k,3) Dim listdim$(k,16) Dim popuplistdim$(k,16) Dim strechedlistimgs(k,3) Dim strechedpopuplistimgs(k,3) Next damit änderst du 100mal die Größe des Arrays ![]() |
||
![]() |
aasgeier |
![]() Antworten mit Zitat ![]() |
---|---|---|
aso lool ![]() danke werds mal ändern das sollte sowiso nur ne at beta sein ich will noch einiges verändern... |
||
Ich geh jetzt nach Jamaika, daa, wo der Hanf blüht... |
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habe mir die code nicht angeschaut, aber...
...du updates das ganze bild, jede mainloop durchlauf, oder? das tut windows nicht... nur eben bereiche die neu gezeichnet werden muss... |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
aasgeier |
![]() Antworten mit Zitat ![]() |
---|---|---|
Versteh ich nicht ganz.
Soll das heißen, Windows wendet Cls sozusagen nur auf bestimmte Bildschirmbereiche an? |
||
Ich geh jetzt nach Jamaika, daa, wo der Hanf blüht... |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, nicht ganz so.
Windows wartet bis du etwas anklickst oder eingibst, oder sonst ein Event kommt. WaitEvent bei BlitzPlus hält zum Beispiel das Programm an bis ein Event kommt..... Deine GUI ist also noch nicht so gut für Windowsoberflächen zu gebraucehn, weil es 100% Systemauslastung verbraucht.... |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
windows benutzt nie cls... ![]() es ist ein erreignisbasierend os... das heisst das applicationen meldungen bekommen wo windows sagt was passiert, worauf das program reagieren muss (!)... ein meldungstyp ist WM_PAINT (WM = windowsmessage) diese meldung enthält (durch zwei 32bit parameter) den fenster identifikations-handle (HWND, siehe msdn.com) und das bereich auf dem bildschirm dass der application aktualisieren muss (durch einen pointer zu einen rectangle-struktur (4 mal 32bit coordinaten))... ziehst du zumbeispiel einen anderen fenster über dein application, bekommt er einen WM_PAINT für jede "bewegung" wo ein bereich sichtbar wird... das andere fenster wird NICHT neu gezeichnet wärend die bewegung so lange kein anteil davon nicht entweder ausserhalb der bildschirm kommt, oder unterhalb ein "allways-on-top" fenster kommt (und wieder sichtbar wird)... es wird lediglich kopiert... wenn ein program das WM_PAINT bekommt, schickt es die WM_PAINT an die verschiedene komponenten die tatsächlich neugezeichnet werden muss... |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
aasgeier |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aha.
Aber wie will ich das bei BB2D umsetzen, ohne dass die Maus garnicht gezeichnet wird oder eine "Spur" hinter sich lässt? Die Maus ist ja praktisch immer in Bewegung! |
||
Ich geh jetzt nach Jamaika, daa, wo der Hanf blüht... |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Indem du die GUI auf ein Bild zeichnest, und die Maus einzeln hast. | ||
between angels and insects |
![]() |
aasgeier |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sry, aber das ist mir zu hoch. Ich weiß jetzt nicht was du meinst. Wie genau soll das funzen? | ||
Ich geh jetzt nach Jamaika, daa, wo der Hanf blüht... |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
So:
Code: [AUSKLAPPEN] if Change then
setbuffer imagebuffer(guiimage) Drawfunction() Drawblock guiimage,0,0 endif if mousemove then Drawblock guiimage,0,0 drawimage mouse,mouseX(),mouseY() endif |
||
between angels and insects |
![]() |
aasgeier |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke! Ich werds mal ausprobieren | ||
Ich geh jetzt nach Jamaika, daa, wo der Hanf blüht... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group